Implement login/logout functionality

This commit is contained in:
Kirill Kamakin
2022-04-04 16:42:22 +05:00
parent f44f54522d
commit 468aa8c02a
26 changed files with 248 additions and 184 deletions

View File

@@ -39,14 +39,14 @@ class AuthRepoImplTest : RobolectricTest() {
@Test
fun `when not authenticated then first auth status is false`() = runTest {
coEvery { storage.authHeaderObservable() } returns flowOf(null)
assertThat(subject.authenticationStatuses().first()).isFalse()
coEvery { storage.authHeaderFlow } returns flowOf(null)
assertThat(subject.isAuthorizedFlow.first()).isFalse()
}
@Test
fun `when authenticated then first auth status is true`() = runTest {
coEvery { storage.authHeaderObservable() } returns flowOf(TEST_AUTH_HEADER)
assertThat(subject.authenticationStatuses().first()).isTrue()
coEvery { storage.authHeaderFlow } returns flowOf(TEST_AUTH_HEADER)
assertThat(subject.isAuthorizedFlow.first()).isTrue()
}
@Test(expected = Unauthorized::class)

View File

@@ -35,20 +35,20 @@ class AuthStorageImplTest : HiltRobolectricTest() {
@Test
fun `when didn't store auth data then first token is null`() = runTest {
assertThat(subject.authHeaderObservable().first()).isNull()
assertThat(subject.authHeaderFlow.first()).isNull()
}
@Test
fun `when stored auth data then first token is correct`() = runTest {
subject.storeAuthData(TEST_AUTH_HEADER)
assertThat(subject.authHeaderObservable().first()).isEqualTo(TEST_AUTH_HEADER)
assertThat(subject.authHeaderFlow.first()).isEqualTo(TEST_AUTH_HEADER)
}
@Test
fun `when clearAuthData then first token is null`() = runTest {
subject.storeAuthData(TEST_AUTH_HEADER)
subject.clearAuthData()
assertThat(subject.authHeaderObservable().first()).isNull()
assertThat(subject.authHeaderFlow.first()).isNull()
}
@Test