update tests

sync3
Laurent 6 months ago
parent 9668bfde7e
commit 6f84f671ba
  1. 14
      PadelClubDataTests/DataAccessSyncTests.swift
  2. 14
      PadelClubDataTests/SynchronizationTests.swift

@ -20,7 +20,9 @@ struct DataAccessSyncTests {
var secondStoreCenter: StoreCenter var secondStoreCenter: StoreCenter
init() async throws { init() async throws {
FileManager.default.deleteDirectoryInDocuments(directoryName: "storage")
FileManager.default.deleteDirectoryInDocuments(directoryName: "storage-2")
self.secondStoreCenter = StoreCenter(directoryName: "storage-2") self.secondStoreCenter = StoreCenter(directoryName: "storage-2")
self.secondStoreCenter.configureURLs(secureScheme: false, domain: "127.0.0.1:8000", webSockets: false) self.secondStoreCenter.configureURLs(secureScheme: false, domain: "127.0.0.1:8000", webSockets: false)
self.secondStoreCenter.tokenKeychain = MockKeychainStore(fileName: "storage-2/token.json") self.secondStoreCenter.tokenKeychain = MockKeychainStore(fileName: "storage-2/token.json")
@ -30,7 +32,9 @@ struct DataAccessSyncTests {
self.secondStoreCenter.classProject = "PadelClubData" self.secondStoreCenter.classProject = "PadelClubData"
let token2 = try? self.secondStoreCenter.rawTokenShouldNotBeUsed() let token2 = try? self.secondStoreCenter.rawTokenShouldNotBeUsed()
try await self.login(storeCenter: self.secondStoreCenter, username: self.username2, password: self.password2) if token2 == nil {
try await self.login(storeCenter: self.secondStoreCenter, username: self.username2, password: self.password2)
}
StoreCenter.main.configureURLs(secureScheme: false, domain: "127.0.0.1:8000", webSockets: false) StoreCenter.main.configureURLs(secureScheme: false, domain: "127.0.0.1:8000", webSockets: false)
StoreCenter.main.tokenKeychain = MockKeychainStore(fileName: "storage/token.json") StoreCenter.main.tokenKeychain = MockKeychainStore(fileName: "storage/token.json")
@ -39,7 +43,9 @@ struct DataAccessSyncTests {
StoreCenter.main.classProject = "PadelClubData" StoreCenter.main.classProject = "PadelClubData"
let token = try? StoreCenter.main.rawTokenShouldNotBeUsed() let token = try? StoreCenter.main.rawTokenShouldNotBeUsed()
try await self.login(storeCenter: StoreCenter.main, username: self.username1, password: self.password1) if token == nil {
try await self.login(storeCenter: StoreCenter.main, username: self.username1, password: self.password1)
}
} }
mutating func login(storeCenter: StoreCenter, username: String, password: String) async throws { mutating func login(storeCenter: StoreCenter, username: String, password: String) async throws {
@ -88,7 +94,7 @@ struct DataAccessSyncTests {
await tournamentColA.addOrUpdateAsync(instance: tournamentA) await tournamentColA.addOrUpdateAsync(instance: tournamentA)
// Share with user2 // Share with user2
try StoreCenter.main.setAuthorizedUsers(for: tournamentA, users: [userId2]) try await StoreCenter.main.setAuthorizedUsersAsync(for: tournamentA, users: [userId2])
let dataB = try await self.secondStoreCenter.testSynchronizeOnceAsync() let dataB = try await self.secondStoreCenter.testSynchronizeOnceAsync()
let syncDataB = try SyncData(data: dataB, storeCenter: self.secondStoreCenter) let syncDataB = try SyncData(data: dataB, storeCenter: self.secondStoreCenter)

@ -23,6 +23,9 @@ struct SynchronizationTests {
init() async throws { init() async throws {
FileManager.default.deleteDirectoryInDocuments(directoryName: "storage")
FileManager.default.deleteDirectoryInDocuments(directoryName: "storage-2")
self.secondStoreCenter = StoreCenter(directoryName: "storage-2") self.secondStoreCenter = StoreCenter(directoryName: "storage-2")
self.secondStoreCenter.configureURLs(secureScheme: false, domain: "127.0.0.1:8000", webSockets: false) self.secondStoreCenter.configureURLs(secureScheme: false, domain: "127.0.0.1:8000", webSockets: false)
self.secondStoreCenter.tokenKeychain = MockKeychainStore(fileName: "storage-2/token.json") self.secondStoreCenter.tokenKeychain = MockKeychainStore(fileName: "storage-2/token.json")
@ -208,14 +211,21 @@ struct SynchronizationTests {
await eventCollectionA.deleteAsync(contentOfs: Array(eventCollectionA)) await eventCollectionA.deleteAsync(contentOfs: Array(eventCollectionA))
let eventCollectionB: SyncedCollection<Event> = await self.secondStoreCenter.mainStore.asyncLoadingSynchronizedCollection() let eventCollectionB: SyncedCollection<Event> = await self.secondStoreCenter.mainStore.asyncLoadingSynchronizedCollection()
eventCollectionB.clear() eventCollectionB.clear()
// cleanup sync residues // cleanup sync residues
let _ = try await self.secondStoreCenter.testSynchronizeOnceAsync() let _ = try await self.secondStoreCenter.testSynchronizeOnceAsync()
#expect(eventCollectionA.count == 0)
#expect(eventCollectionB.count == 0)
// Create // Create
let eventA: Event = Event(creator: userId, club: nil, name: "test-b") let eventA: Event = Event(creator: userId, club: nil, name: "test-b")
await eventCollectionA.addOrUpdateAsync(instance: eventA) await eventCollectionA.addOrUpdateAsync(instance: eventA)
#expect(eventCollectionA.count == 1)
let serverEvents: [Event] = try await StoreCenter.main.service().get()
#expect(serverEvents.count == 1)
// Retrieve Event // Retrieve Event
let dataB = try await self.secondStoreCenter.testSynchronizeOnceAsync() let dataB = try await self.secondStoreCenter.testSynchronizeOnceAsync()
let syncDataB = try SyncData(data: dataB, storeCenter: self.secondStoreCenter) let syncDataB = try SyncData(data: dataB, storeCenter: self.secondStoreCenter)

Loading…
Cancel
Save