From 6517ffed64f77372b1de62011fb92e31d20be2b6 Mon Sep 17 00:00:00 2001 From: Yeon Taek Jeong Date: Fri, 9 Aug 2019 09:55:24 -0700 Subject: [PATCH] [fenix] Fix, add some tests --- ...ccountStore.kt => AccountSettingsStore.kt} | 0 .../settings/AccountSettingsInteractorTest.kt | 5 +- .../settings/AccountSettingsStoreTest.kt | 64 +++++++++++++++++++ 3 files changed, 65 insertions(+), 4 deletions(-) rename app/src/main/java/org/mozilla/fenix/settings/account/{AccountStore.kt => AccountSettingsStore.kt} (100%) create mode 100644 app/src/test/java/org/mozilla/fenix/settings/AccountSettingsStoreTest.kt diff --git a/app/src/main/java/org/mozilla/fenix/settings/account/AccountStore.kt b/app/src/main/java/org/mozilla/fenix/settings/account/AccountSettingsStore.kt similarity index 100% rename from app/src/main/java/org/mozilla/fenix/settings/account/AccountStore.kt rename to app/src/main/java/org/mozilla/fenix/settings/account/AccountSettingsStore.kt diff --git a/app/src/test/java/org/mozilla/fenix/settings/AccountSettingsInteractorTest.kt b/app/src/test/java/org/mozilla/fenix/settings/AccountSettingsInteractorTest.kt index ed4fce7428..5d6cb99c68 100644 --- a/app/src/test/java/org/mozilla/fenix/settings/AccountSettingsInteractorTest.kt +++ b/app/src/test/java/org/mozilla/fenix/settings/AccountSettingsInteractorTest.kt @@ -27,7 +27,6 @@ class AccountSettingsInteractorTest { mockk(), { ranSyncNow = true }, mockk(), - mockk(), mockk() ) @@ -44,11 +43,10 @@ class AccountSettingsInteractorTest { mockk(), mockk(), { true }, - {}, store ) - interactor.onChangeDeviceName("New Name") + interactor.onChangeDeviceName("New Name") {} verify { store.dispatch(AccountSettingsAction.UpdateDeviceName("New Name")) } } @@ -62,7 +60,6 @@ class AccountSettingsInteractorTest { navController, mockk(), mockk(), - mockk(), mockk() ) diff --git a/app/src/test/java/org/mozilla/fenix/settings/AccountSettingsStoreTest.kt b/app/src/test/java/org/mozilla/fenix/settings/AccountSettingsStoreTest.kt new file mode 100644 index 0000000000..2e704d9e6b --- /dev/null +++ b/app/src/test/java/org/mozilla/fenix/settings/AccountSettingsStoreTest.kt @@ -0,0 +1,64 @@ +/* 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 + +import androidx.navigation.NavController +import androidx.navigation.NavDestination +import io.mockk.every +import io.mockk.mockk +import io.mockk.verify +import org.junit.Assert.assertEquals +import org.junit.Test +import org.mozilla.fenix.R +import org.mozilla.fenix.search.SearchState +import org.mozilla.fenix.settings.account.* + +class AccountSettingsStoreTest { + + @Test + fun onSyncFailed() { + val initialState = AccountSettingsState() + val store = AccountSettingsStore(initialState) + + .onSyncNow() + + assertEquals(ranSyncNow, true) + } + + @Test + fun onSyncEnded() { + val store: AccountSettingsStore = mockk(relaxed = true) + + val interactor = AccountSettingsInteractor( + mockk(), + mockk(), + { true }, + store + ) + + interactor.onChangeDeviceName("New Name") {} + + verify { store.dispatch(AccountSettingsAction.UpdateDeviceName("New Name")) } + } + + @Test + fun onSignOut() { + val navController: NavController = mockk(relaxed = true) + every { navController.currentDestination } returns NavDestination("").apply { id = R.id.accountSettingsFragment } + + val interactor = AccountSettingsInteractor( + navController, + mockk(), + mockk(), + mockk() + ) + + interactor.onSignOut() + + verify { + navController.navigate(AccountSettingsFragmentDirections.actionAccountSettingsFragmentToSignOutFragment()) + } + } +}