Skip to content
Snippets Groups Projects
Commit 557dadbc authored by Dariusz Rybicki's avatar Dariusz Rybicki
Browse files

Remove db on account deletion

parent f7ff8b59
No related branches found
No related tags found
2 merge requests!102Release 1.0.0,!68Messenger example - send auth request
This commit is part of merge request !68. Comments created here will be created in the context of that merge request.
......@@ -36,7 +36,7 @@ extension AppEnvironment {
home: {
HomeEnvironment(
messenger: messenger,
db: dbManager.getDB,
dbManager: dbManager,
mainQueue: mainQueue,
bgQueue: bgQueue,
register: {
......
......@@ -71,14 +71,14 @@ public enum HomeAction: Equatable {
public struct HomeEnvironment {
public init(
messenger: Messenger,
db: DBManagerGetDB,
dbManager: DBManager,
mainQueue: AnySchedulerOf<DispatchQueue>,
bgQueue: AnySchedulerOf<DispatchQueue>,
register: @escaping () -> RegisterEnvironment,
userSearch: @escaping () -> UserSearchEnvironment
) {
self.messenger = messenger
self.db = db
self.dbManager = dbManager
self.mainQueue = mainQueue
self.bgQueue = bgQueue
self.register = register
......@@ -86,7 +86,7 @@ public struct HomeEnvironment {
}
public var messenger: Messenger
public var db: DBManagerGetDB
public var dbManager: DBManager
public var mainQueue: AnySchedulerOf<DispatchQueue>
public var bgQueue: AnySchedulerOf<DispatchQueue>
public var register: () -> RegisterEnvironment
......@@ -96,7 +96,7 @@ public struct HomeEnvironment {
extension HomeEnvironment {
public static let unimplemented = HomeEnvironment(
messenger: .unimplemented,
db: .unimplemented,
dbManager: .unimplemented,
mainQueue: .unimplemented,
bgQueue: .unimplemented,
register: { .unimplemented },
......@@ -197,13 +197,13 @@ public let homeReducer = Reducer<HomeState, HomeAction, HomeEnvironment>
return .result {
do {
let contactId = try env.messenger.e2e.tryGet().getContact().getId()
let contact = try env.db().fetchContacts(.init(id: [contactId])).first
let contact = try env.dbManager.getDB().fetchContacts(.init(id: [contactId])).first
if let username = contact?.username {
let ud = try env.messenger.ud.tryGet()
try ud.permanentDeleteAccount(username: Fact(fact: username, type: 0))
}
try env.messenger.destroy()
try env.db().drop()
try env.dbManager.removeDB()
return .success(.deleteAccount(.success))
} catch {
return .success(.deleteAccount(.failure(error as NSError)))
......
......@@ -316,7 +316,7 @@ final class HomeFeatureTests: XCTestCase {
var dbDidFetchContacts: [XXModels.Contact.Query] = []
var udDidPermanentDeleteAccount: [Fact] = []
var messengerDidDestroy = 0
var dbDidDrop = 0
var didRemoveDB = 0
store.environment.bgQueue = .immediate
store.environment.mainQueue = .immediate
......@@ -329,7 +329,7 @@ final class HomeFeatureTests: XCTestCase {
}
return e2e
}
store.environment.db.run = {
store.environment.dbManager.getDB.run = {
var db: Database = .failing
db.fetchContacts.run = { query in
dbDidFetchContacts.append(query)
......@@ -341,11 +341,11 @@ final class HomeFeatureTests: XCTestCase {
)
]
}
db.drop.run = {
dbDidDrop += 1
}
return db
}
store.environment.dbManager.removeDB.run = {
didRemoveDB += 1
}
store.environment.messenger.ud.get = {
var ud: UserDiscovery = .unimplemented
ud.permanentDeleteAccount.run = { usernameFact in
......@@ -372,7 +372,7 @@ final class HomeFeatureTests: XCTestCase {
XCTAssertNoDifference(dbDidFetchContacts, [.init(id: ["contact-id".data(using: .utf8)!])])
XCTAssertNoDifference(udDidPermanentDeleteAccount, [Fact(fact: "MyUsername", type: 0)])
XCTAssertNoDifference(messengerDidDestroy, 1)
XCTAssertNoDifference(dbDidDrop, 1)
XCTAssertNoDifference(didRemoveDB, 1)
store.receive(.deleteAccount(.success)) {
$0.isDeletingAccount = false
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment