1
0
Fork 0
fenix/app/src/test/java/org/mozilla/fenix/settings/account/AccountSettingsFragmentStor...

47 lines
1.6 KiB
Kotlin

/* This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at http://mozilla.org/MPL/2.0/. */
package org.mozilla.fenix.settings.account
import kotlinx.coroutines.runBlocking
import org.junit.Assert.assertEquals
import org.junit.Assert.assertNotSame
import org.junit.Test
class AccountSettingsFragmentStoreTest {
@Test
fun syncFailed() = runBlocking {
val initialState = AccountSettingsFragmentState()
val store = AccountSettingsFragmentStore(initialState)
val duration = 1L
store.dispatch(AccountSettingsFragmentAction.SyncFailed(duration)).join()
assertNotSame(initialState, store.state)
assertEquals(LastSyncTime.Failed(duration), store.state.lastSyncedDate)
}
@Test
fun syncEnded() = runBlocking {
val initialState = AccountSettingsFragmentState()
val store = AccountSettingsFragmentStore(initialState)
val duration = 1L
store.dispatch(AccountSettingsFragmentAction.SyncEnded(duration)).join()
assertNotSame(initialState, store.state)
assertEquals(LastSyncTime.Success(duration), store.state.lastSyncedDate)
}
@Test
fun signOut() = runBlocking {
val initialState = AccountSettingsFragmentState()
val store = AccountSettingsFragmentStore(initialState)
val deviceName = "testing"
store.dispatch(AccountSettingsFragmentAction.UpdateDeviceName(deviceName)).join()
assertNotSame(initialState, store.state)
assertEquals(deviceName, store.state.deviceName)
}
}