From f46f98cef04b5fbdcf0cdb19bb18f4169c4395bf Mon Sep 17 00:00:00 2001 From: davidoskky Date: Mon, 26 Sep 2022 22:46:37 +0200 Subject: [PATCH] Test login --- .../repository/RepositoryTest.kt | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) 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 4672515..ea76e26 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 @@ -637,6 +637,49 @@ class RepositoryTest() { coVerify(exactly = 0) { api.update() } assertSame(false, response) } + + @Test + fun login() { + coEvery { api.login() } returns SelfossModel.SuccessResponse(success = true) + + val repository = Repository(api, appSettingsService, connectivityStatus, db) + var response = false + runBlocking { + response = repository.login() + } + + coVerify(exactly = 1) { api.login() } + assertSame(true, response) + } + + @Test + fun `login but response fails`() { + coEvery { api.login() } returns SelfossModel.SuccessResponse(success = false) + + val repository = Repository(api, appSettingsService, connectivityStatus, db) + var response = false + runBlocking { + response = repository.login() + } + + coVerify(exactly = 1) { api.login() } + assertSame(false, response) + } + + @Test + fun `login but without connection`() { + coEvery { api.login() } returns SelfossModel.SuccessResponse(success = true) + every { connectivityStatus.isNetworkConnected } returns MutableStateFlow(false) + + val repository = Repository(api, appSettingsService, connectivityStatus, db) + var response = false + runBlocking { + response = repository.login() + } + + coVerify(exactly = 0) { api.login() } + assertSame(false, response) + } } fun generateTestDBItems(item : FakeItemParameters = FakeItemParameters()) : List {