/woloc/src/test/java/org/richardsson/woloc/activity/SettingsHandlerTest.java
https://bitbucket.org/krichardsson/woloc · Java · 108 lines · 63 code · 27 blank · 18 comment · 0 complexity · b1a514ebf3bdbf783a38f8cf3961de29 MD5 · raw file
- package org.richardsson.woloc.activity;
- import android.content.SharedPreferences;
- import org.junit.Before;
- import org.junit.Test;
- import org.mockito.InjectMocks;
- import org.mockito.Mock;
- import org.mockito.MockitoAnnotations;
- import org.richardsson.woloc.R;
- import org.richardsson.woloc.android.wrapper.ResourceWrapper;
- import org.richardsson.woloc.android.wrapper.Settings;
- import org.richardsson.woloc.android.wrapper.SettingsFragmentWrapper;
- import static org.mockito.Mockito.verify;
- import static org.mockito.Mockito.when;
- public class SettingsHandlerTest {
- @Mock private SettingsFragmentWrapper mockSettingsFragment;
- @Mock private SharedPreferences mockSharedPreferences;
- @Mock private ResourceWrapper mockResourceWrapper;
- private static final String SSID = "newSsid";
- private static final String NO_NETWORK_SELECTED = "No network selected";
- private static final String EMAIL_ADDRESS = "newEamil";
- private static final String NO_EMAIL_ADDRESS_SET = "No email address set";
- @InjectMocks private SettingsHandler classUnderTest;
- @Before
- public void beforeEachTest() {
- MockitoAnnotations.initMocks(this);
- when(mockSharedPreferences.getString(Settings.SSID_SETTINGS_KEY, "")).thenReturn(SSID);
- when(mockResourceWrapper.getString(R.string.no_network_selected)).thenReturn(NO_NETWORK_SELECTED);
- when(mockSharedPreferences.getString(Settings.EMAIL_ADDRESS_SETTINGS_KEY, "")).thenReturn(EMAIL_ADDRESS);
- when(mockResourceWrapper.getString(R.string.no_email_address_set)).thenReturn(NO_EMAIL_ADDRESS_SET);
- }
- @Test
- public void anUpdateOfASsidShouldUpdateSummary() {
- // Fixture
- // Test
- classUnderTest.onSharedPreferenceChanged(mockSharedPreferences, Settings.SSID_SETTINGS_KEY);
- // Assert
- verify(mockSettingsFragment).setSummary(Settings.SSID_SETTINGS_KEY, SSID);
- }
- @Test
- public void anUpdateToNoSsidShouldUpdateSummaryToDefaultString() {
- // Fixture
- when(mockSharedPreferences.getString(Settings.SSID_SETTINGS_KEY, "")).thenReturn("");
- // Test
- classUnderTest.onSharedPreferenceChanged(mockSharedPreferences, Settings.SSID_SETTINGS_KEY);
- // Assert
- verify(mockSettingsFragment).setSummary(Settings.SSID_SETTINGS_KEY, NO_NETWORK_SELECTED);
- }
- @Test
- public void aCallToUpdateSummariesShouldUpdateSsidSummary() {
- // Fixture
- // Test
- classUnderTest.updateSummaries(mockSharedPreferences);
- // Assert
- verify(mockSettingsFragment).setSummary(Settings.SSID_SETTINGS_KEY, SSID);
- }
- @Test
- public void anUpdateOfEmailAddressShouldUpdateSummary() {
- // Fixture
- // Test
- classUnderTest.onSharedPreferenceChanged(mockSharedPreferences, Settings.EMAIL_ADDRESS_SETTINGS_KEY);
- // Assert
- verify(mockSettingsFragment).setSummary(Settings.EMAIL_ADDRESS_SETTINGS_KEY, EMAIL_ADDRESS);
- }
- @Test
- public void anUpdateToNoEmailShouldUpdateSummaryToDefaultString() {
- // Fixture
- when(mockSharedPreferences.getString(Settings.EMAIL_ADDRESS_SETTINGS_KEY, "")).thenReturn("");
- // Test
- classUnderTest.onSharedPreferenceChanged(mockSharedPreferences, Settings.EMAIL_ADDRESS_SETTINGS_KEY);
- // Assert
- verify(mockSettingsFragment).setSummary(Settings.EMAIL_ADDRESS_SETTINGS_KEY, NO_EMAIL_ADDRESS_SET);
- }
- @Test
- public void aCallToUpdateSummariesShouldUpdateEmailAddressSummary() {
- // Fixture
- // Test
- classUnderTest.updateSummaries(mockSharedPreferences);
- // Assert
- verify(mockSettingsFragment).setSummary(Settings.EMAIL_ADDRESS_SETTINGS_KEY, EMAIL_ADDRESS);
- }
- }