Skip to content

Commit 3391726

Browse files
committed
-
1 parent 0607bde commit 3391726

File tree

1 file changed

+30
-3
lines changed

1 file changed

+30
-3
lines changed

README.md

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -270,7 +270,7 @@ func testDownloadingImage() async throws {
270270
}
271271

272272
@Test
273-
func testDownloadingImageWhenLowQualityDownloadFailsFirst() async throws {
273+
func testDownloadingImageWhenLowQualityDownloadFailsAfterHighQualityDownloadSucceeds() async throws {
274274
try await withProbing {
275275
viewModel.downloadImage()
276276
} dispatchedBy: { dispatcher in
@@ -279,12 +279,39 @@ func testDownloadingImageWhenLowQualityDownloadFailsFirst() async throws {
279279
try await dispatcher.runUntilExitOfBody()
280280
#expect(viewModel.downloadState?.isDownloading == true)
281281

282+
try await dispatcher.runUntilEffectCompleted("high")
283+
#expect(viewModel.downloadState?.quality == .high)
284+
282285
downloader.shouldFailDownload = true
283286
try await dispatcher.runUntilEffectCompleted("low")
287+
try dispatcher.getCancelledValue(fromEffect: "low", as: Void.self)
288+
#expect(viewModel.downloadState?.quality == .high)
289+
}
290+
}
291+
292+
@Test
293+
func testDownloadingImageRepeatedly() async throws {
294+
try await withProbing {
295+
viewModel.downloadImage()
296+
viewModel.downloadImage()
297+
} dispatchedBy: { dispatcher in
298+
#expect(viewModel.downloadState == nil)
299+
300+
try await dispatcher.runUntilExitOfBody()
284301
#expect(viewModel.downloadState?.isDownloading == true)
285302

286-
downloader.shouldFailDownload = false
287-
try await dispatcher.runUntilEffectCompleted("high")
303+
try await dispatcher.runUntilEffectCompleted("low0")
304+
try dispatcher.getCancelledValue(fromEffect: "low0", as: Void.self)
305+
#expect(viewModel.downloadState?.isDownloading == true)
306+
307+
try await dispatcher.runUntilEffectCompleted("high0")
308+
try dispatcher.getCancelledValue(fromEffect: "high0", as: Void.self)
309+
#expect(viewModel.downloadState?.isDownloading == true)
310+
311+
try await dispatcher.runUntilEffectCompleted("low1")
312+
#expect(viewModel.downloadState?.quality == .low)
313+
314+
try await dispatcher.runUntilEffectCompleted("high1")
288315
#expect(viewModel.downloadState?.quality == .high)
289316
}
290317
}

0 commit comments

Comments
 (0)