Skip to content

Commit 7e3b4c3

Browse files
author
Di Wu
authored
test(datastore): fix flaky integration test cases (#2788)
1 parent 0f87405 commit 7e3b4c3

File tree

1 file changed

+10
-30
lines changed

1 file changed

+10
-30
lines changed

AmplifyPlugins/DataStore/Tests/DataStoreHostApp/AWSDataStorePluginIntegrationTests/DataStoreConsecutiveUpdatesTests.swift

Lines changed: 10 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@ class DataStoreConsecutiveUpdatesTests: SyncEngineIntegrationTestBase {
4343
updatedPost.title = "MyUpdatedPost"
4444
updatedPost.content = "This is my updated post."
4545

46-
let saveSyncReceived = expectation(description: "Received create mutation event on subscription for Post")
4746
let updateSyncReceived = expectation(description: "Received update mutation event on subscription for Post")
4847

4948
let hubListener = Amplify.Hub.listen(
@@ -58,19 +57,15 @@ class DataStoreConsecutiveUpdatesTests: SyncEngineIntegrationTestBase {
5857
return
5958
}
6059

61-
if mutationEvent.mutationType == GraphQLMutationType.create.rawValue {
60+
if mutationEvent.version == 1 {
6261
XCTAssertEqual(post, newPost)
63-
XCTAssertEqual(mutationEvent.version, 1)
64-
saveSyncReceived.fulfill()
65-
return
6662
}
6763

68-
if mutationEvent.mutationType == GraphQLMutationType.update.rawValue {
64+
if mutationEvent.version == 2 {
6965
XCTAssertEqual(post, updatedPost)
70-
XCTAssertEqual(mutationEvent.version, 2)
7166
updateSyncReceived.fulfill()
72-
return
7367
}
68+
7469
}
7570

7671
guard try await HubListenerTestUtilities.waitForListener(with: hubListener, timeout: 5.0) else {
@@ -124,7 +119,6 @@ class DataStoreConsecutiveUpdatesTests: SyncEngineIntegrationTestBase {
124119
rating: 3,
125120
status: .published)
126121

127-
let saveSyncReceived = expectation(description: "Received create mutation event on subscription for Post")
128122
let deleteSyncReceived = expectation(description: "Received delete mutation event on subscription for Post")
129123

130124
let hubListener = Amplify.Hub.listen(
@@ -139,18 +133,14 @@ class DataStoreConsecutiveUpdatesTests: SyncEngineIntegrationTestBase {
139133
return
140134
}
141135

142-
if mutationEvent.mutationType == GraphQLMutationType.create.rawValue {
136+
if mutationEvent.version == 1 {
143137
XCTAssertEqual(post, newPost)
144-
XCTAssertEqual(mutationEvent.version, 1)
145-
saveSyncReceived.fulfill()
146-
return
147138
}
148139

149-
if mutationEvent.mutationType == GraphQLMutationType.delete.rawValue {
140+
if mutationEvent.version == 2 {
150141
XCTAssertEqual(post, newPost)
151-
XCTAssertEqual(mutationEvent.version, 2)
142+
XCTAssertEqual(mutationEvent.mutationType, MutationEvent.MutationType.delete.rawValue)
152143
deleteSyncReceived.fulfill()
153-
return
154144
}
155145
}
156146

@@ -212,12 +202,12 @@ class DataStoreConsecutiveUpdatesTests: SyncEngineIntegrationTestBase {
212202
updatedPost.content = "This is my updated post."
213203

214204
let saveSyncReceived = asyncExpectation(description: "Received create mutation event on subscription for Post")
215-
let updateSyncReceived = asyncExpectation(description: "Received update mutation event on subscription for Post")
216205
let deleteSyncReceived = asyncExpectation(description: "Received delete mutation event on subscription for Post")
217206

218207
let hubListener = Amplify.Hub.listen(
219208
to: .dataStore,
220-
eventName: HubPayload.EventName.DataStore.syncReceived) { payload in
209+
eventName: HubPayload.EventName.DataStore.syncReceived
210+
) { payload in
221211
guard let mutationEvent = payload.data as? MutationEvent else {
222212
XCTFail("Can't cast payload as mutation event")
223213
return
@@ -231,21 +221,11 @@ class DataStoreConsecutiveUpdatesTests: SyncEngineIntegrationTestBase {
231221
XCTAssertEqual(post, newPost)
232222
XCTAssertEqual(mutationEvent.version, 1)
233223
Task { await saveSyncReceived.fulfill() }
234-
return
235224
}
236225

237-
if mutationEvent.mutationType == GraphQLMutationType.update.rawValue {
226+
if mutationEvent.version == 3 {
238227
XCTAssertEqual(post, updatedPost)
239-
XCTAssertEqual(mutationEvent.version, 2)
240-
Task { await updateSyncReceived.fulfill() }
241-
return
242-
}
243-
244-
if mutationEvent.mutationType == GraphQLMutationType.delete.rawValue {
245-
XCTAssertEqual(post, updatedPost)
246-
XCTAssertEqual(mutationEvent.version, 3)
247228
Task { await deleteSyncReceived.fulfill() }
248-
return
249229
}
250230
}
251231

@@ -265,7 +245,7 @@ class DataStoreConsecutiveUpdatesTests: SyncEngineIntegrationTestBase {
265245
let queryResult = try await queryPost(byId: newPost.id)
266246
XCTAssertNil(queryResult)
267247

268-
await waitForExpectations([updateSyncReceived, deleteSyncReceived], timeout: networkTimeout)
248+
await waitForExpectations([deleteSyncReceived], timeout: networkTimeout)
269249

270250
// query the deleted post
271251
let queryResultAfterSync = try await queryPost(byId: updatedPost.id)

0 commit comments

Comments
 (0)