From 366b2e10f15554da7320a4630bf7552637fe86bb Mon Sep 17 00:00:00 2001 From: davidoskky Date: Sun, 25 Sep 2022 22:02:25 +0200 Subject: [PATCH] Adjust tests to changes in the data models --- .../repository/RepositoryTest.kt | 56 ++++++++++--------- 1 file changed, 31 insertions(+), 25 deletions(-) diff --git a/shared/src/commonTest/kotlin/bou/amine/apps/readerforselfossv2/repository/RepositoryTest.kt b/shared/src/commonTest/kotlin/bou/amine/apps/readerforselfossv2/repository/RepositoryTest.kt index eff73b9..73f6cb0 100644 --- a/shared/src/commonTest/kotlin/bou/amine/apps/readerforselfossv2/repository/RepositoryTest.kt +++ b/shared/src/commonTest/kotlin/bou/amine/apps/readerforselfossv2/repository/RepositoryTest.kt @@ -8,8 +8,6 @@ import bou.amine.apps.readerforselfossv2.model.SelfossModel import bou.amine.apps.readerforselfossv2.rest.SelfossApi import bou.amine.apps.readerforselfossv2.service.AppSettingsService import bou.amine.apps.readerforselfossv2.utils.ItemType -import bou.amine.apps.readerforselfossv2.utils.toEntity -import bou.amine.apps.readerforselfossv2.utils.toView import com.github.ln_12.library.ConnectivityStatus import io.mockk.* import kotlinx.coroutines.flow.MutableStateFlow @@ -36,8 +34,8 @@ class RepositoryTest() { every { connectivityStatus.isNetworkConnected } returns MutableStateFlow(true) - coEvery { api.version() } returns SelfossModel.ApiVersion("2.19-ba1e8e3", "4.0.0") - coEvery { api.stats() } returns SelfossModel.Stats(NUMBER_ARTICLES, NUMBER_UNREAD, NUMBER_STARRED) + coEvery { api.version() } returns SelfossModel.StatusAndData(success = true, data = SelfossModel.ApiVersion("2.19-ba1e8e3", "4.0.0")) + coEvery { api.stats() } returns SelfossModel.StatusAndData(success = true, data = SelfossModel.Stats(NUMBER_ARTICLES, NUMBER_UNREAD, NUMBER_STARRED)) every { db.itemsQueries.items().executeAsList() } returns generateTestDBItems() every { db.tagsQueries.deleteAllTags() } returns Unit @@ -60,7 +58,7 @@ class RepositoryTest() { @Test fun `Instantiate repository with negative stats`() { - coEvery { api.stats() } returns SelfossModel.Stats(-100, -50, -20) + coEvery { api.stats() } returns SelfossModel.StatusAndData(success = true, data = SelfossModel.Stats(-100, -50, -20)) val repository = Repository(api, appSettingsService, connectivityStatus, db) } @@ -68,7 +66,8 @@ class RepositoryTest() { @Test fun `Get api 4 date with api 1 version stored`() { every { appSettingsService.getApiVersion() } returns 1 - coEvery { api.getItems(any(), any(), any(), any(), any(), any(), any()) } returns generateTestApiItem() + coEvery { api.getItems(any(), any(), any(), any(), any(), any(), any()) } returns + SelfossModel.StatusAndData(success = true, data = generateTestApiItem()) every { appSettingsService.updateApiVersion(any()) } returns Unit val repository = Repository(api, appSettingsService, connectivityStatus, db) @@ -83,10 +82,11 @@ class RepositoryTest() { @Test fun `Get api 1 date with api 4 version stored`() { every { appSettingsService.getApiVersion() } returns 4 - coEvery { api.version() } returns null + coEvery { api.version() } returns SelfossModel.StatusAndData(success = false, null) val itemParameters = FakeItemParameters() itemParameters.datetime = "2021-04-23 11:45:32" - coEvery { api.getItems(any(), any(), any(), any(), any(), any(), any()) } returns generateTestApiItem(itemParameters) + coEvery { api.getItems(any(), any(), any(), any(), any(), any(), any()) } returns + SelfossModel.StatusAndData(success = true, data = generateTestApiItem(itemParameters)) val repository = Repository(api, appSettingsService, connectivityStatus, db) runBlocking { @@ -98,7 +98,8 @@ class RepositoryTest() { @Test fun `Get newer items`() { - coEvery { api.getItems(any(), any(), any(), any(), any(), any(), any()) } returns generateTestApiItem() + coEvery { api.getItems(any(), any(), any(), any(), any(), any(), any()) } returns + SelfossModel.StatusAndData(success = true, data = generateTestApiItem()) val repository = Repository(api, appSettingsService, connectivityStatus, db) runBlocking { @@ -112,7 +113,8 @@ class RepositoryTest() { @Test fun `Get all newer items`() { - coEvery { api.getItems(any(), any(), any(), any(), any(), any(), any()) } returns generateTestApiItem() + coEvery { api.getItems(any(), any(), any(), any(), any(), any(), any()) } returns + SelfossModel.StatusAndData(success = true, data = generateTestApiItem()) val repository = Repository(api, appSettingsService, connectivityStatus, db) repository.displayedItems = ItemType.ALL @@ -127,7 +129,8 @@ class RepositoryTest() { @Test fun `Get newer starred items`() { - coEvery { api.getItems(any(), any(), any(), any(), any(), any(), any()) } returns generateTestApiItem() + coEvery { api.getItems(any(), any(), any(), any(), any(), any(), any()) } returns + SelfossModel.StatusAndData(success = true, data = generateTestApiItem()) val repository = Repository(api, appSettingsService, connectivityStatus, db) repository.displayedItems = ItemType.STARRED @@ -157,7 +160,8 @@ class RepositoryTest() { @Test fun `Get older items`() { - coEvery { api.getItems(any(), any(), any(), any(), any(), any(), any()) } returns generateTestApiItem() + coEvery { api.getItems(any(), any(), any(), any(), any(), any(), any()) } returns + SelfossModel.StatusAndData(success = true, data = generateTestApiItem()) val repository = Repository(api, appSettingsService, connectivityStatus, db) repository.items = ArrayList(generateTestApiItem()) @@ -172,7 +176,8 @@ class RepositoryTest() { @Test fun `Get all older items`() { - coEvery { api.getItems(any(), any(), any(), any(), any(), any(), any()) } returns generateTestApiItem() + coEvery { api.getItems(any(), any(), any(), any(), any(), any(), any()) } returns + SelfossModel.StatusAndData(success = true, data = generateTestApiItem()) val repository = Repository(api, appSettingsService, connectivityStatus, db) repository.items = ArrayList(generateTestApiItem()) @@ -188,7 +193,8 @@ class RepositoryTest() { @Test fun `Get older starred items`() { - coEvery { api.getItems(any(), any(), any(), any(), any(), any(), any()) } returns generateTestApiItem() + coEvery { api.getItems(any(), any(), any(), any(), any(), any(), any()) } returns + SelfossModel.StatusAndData(success = true, data = generateTestApiItem()) val repository = Repository(api, appSettingsService, connectivityStatus, db) repository.displayedItems = ItemType.STARRED @@ -221,7 +227,7 @@ class RepositoryTest() { @Test fun `Reload badges without response`() { - coEvery { api.stats() } returns null + coEvery { api.stats() } returns SelfossModel.StatusAndData(success = false, data = null) var success = false @@ -293,7 +299,7 @@ class RepositoryTest() { val tags = listOf(SelfossModel.Tag("test", "red", 6), SelfossModel.Tag("second", "yellow", 0)) - coEvery { api.tags() } returns tags + coEvery { api.tags() } returns SelfossModel.StatusAndData(success = true, data = tags) val repository = Repository(api, appSettingsService, connectivityStatus, db) var testTags: List? = null @@ -312,7 +318,7 @@ class RepositoryTest() { val tagsDB = listOf(TAG("test_DB", "red", 6), TAG("second_DB", "yellow", 0)) - coEvery { api.tags() } returns tags + coEvery { api.tags() } returns SelfossModel.StatusAndData(success = true, data = tags) coEvery { db.tagsQueries.tags().executeAsList() } returns tagsDB every { appSettingsService.isUpdateSourcesEnabled() } returns false @@ -335,7 +341,7 @@ class RepositoryTest() { val tagsDB = listOf(TAG("test_DB", "red", 6), TAG("second_DB", "yellow", 0)) - coEvery { api.tags() } returns tags + coEvery { api.tags() } returns SelfossModel.StatusAndData(success = true, data = tags) coEvery { db.tagsQueries.tags().executeAsList() } returns tagsDB every { appSettingsService.isUpdateSourcesEnabled() } returns false every { appSettingsService.isItemCachingEnabled() } returns false @@ -358,7 +364,7 @@ class RepositoryTest() { val tagsDB = listOf(TAG("test_DB", "red", 6), TAG("second_DB", "yellow", 0)) - coEvery { api.tags() } returns tags + coEvery { api.tags() } returns SelfossModel.StatusAndData(success = true, data = tags) coEvery { db.tagsQueries.tags().executeAsList() } returns tagsDB every { connectivityStatus.isNetworkConnected } returns MutableStateFlow(false) @@ -381,7 +387,7 @@ class RepositoryTest() { val tagsDB = listOf(TAG("test_DB", "red", 6), TAG("second_DB", "yellow", 0)) - coEvery { api.tags() } returns tags + coEvery { api.tags() } returns SelfossModel.StatusAndData(success = true, data = tags) coEvery { db.tagsQueries.tags().executeAsList() } returns tagsDB every { connectivityStatus.isNetworkConnected } returns MutableStateFlow(false) every { appSettingsService.isItemCachingEnabled() } returns false @@ -402,7 +408,7 @@ class RepositoryTest() { val sources = arrayListOf(SelfossModel.Source(1, "First source", listOf("Test", "second"),"spouts\\rss\\fulltextrss", "", "d8c92cdb1ef119ea85c4b9205c879ca7.png"), SelfossModel.Source(2, "Second source", listOf("second"),"spouts\\rss\\fulltextrss", "", "b3aa8a664d08eb15d6ff1db2fa83e0d9.png")) - coEvery { api.sources() } returns sources + coEvery { api.sources() } returns SelfossModel.StatusAndData(success = true, data = sources) val repository = Repository(api, appSettingsService, connectivityStatus, db) var testSources: List? = null runBlocking { @@ -422,7 +428,7 @@ class RepositoryTest() { SOURCE("2", "Second source", "second","spouts\\rss\\fulltextrss", "", "b3aa8a664d08eb15d6ff1db2fa83e0d9.png")) every { connectivityStatus.isNetworkConnected } returns MutableStateFlow(false) - coEvery { api.sources() } returns sources + coEvery { api.sources() } returns SelfossModel.StatusAndData(success = true, data = sources) every { db.sourcesQueries.sources().executeAsList() } returns sourcesDB val repository = Repository(api, appSettingsService, connectivityStatus, db) var testSources: List? = null @@ -444,7 +450,7 @@ class RepositoryTest() { every { connectivityStatus.isNetworkConnected } returns MutableStateFlow(false) every { appSettingsService.isItemCachingEnabled() } returns false - coEvery { api.sources() } returns sources + coEvery { api.sources() } returns SelfossModel.StatusAndData(success = true, data = sources) every { db.sourcesQueries.sources().executeAsList() } returns sourcesDB val repository = Repository(api, appSettingsService, connectivityStatus, db) var testSources: List? = null @@ -465,7 +471,7 @@ class RepositoryTest() { SOURCE("2", "Second source", "second","spouts\\rss\\fulltextrss", "", "b3aa8a664d08eb15d6ff1db2fa83e0d9.png")) every { appSettingsService.isUpdateSourcesEnabled() } returns false - coEvery { api.sources() } returns sources + coEvery { api.sources() } returns SelfossModel.StatusAndData(success = true, data = sources) every { db.sourcesQueries.sources().executeAsList() } returns sourcesDB val repository = Repository(api, appSettingsService, connectivityStatus, db) var testSources: List? = null @@ -487,7 +493,7 @@ class RepositoryTest() { every { appSettingsService.isUpdateSourcesEnabled() } returns false every { appSettingsService.isItemCachingEnabled() } returns false - coEvery { api.sources() } returns sources + coEvery { api.sources() } returns SelfossModel.StatusAndData(success = true, data = sources) every { db.sourcesQueries.sources().executeAsList() } returns sourcesDB val repository = Repository(api, appSettingsService, connectivityStatus, db) var testSources: List? = null