Merge "[Settings] Improve PremiumSMS's auto test" into tm-qpr-dev
This commit is contained in:
@@ -97,6 +97,7 @@
|
|||||||
android:key="premium_sms"
|
android:key="premium_sms"
|
||||||
android:title="@string/premium_sms_access"
|
android:title="@string/premium_sms_access"
|
||||||
android:fragment="com.android.settings.applications.specialaccess.premiumsms.PremiumSmsAccess"
|
android:fragment="com.android.settings.applications.specialaccess.premiumsms.PremiumSmsAccess"
|
||||||
|
settings:isPreferenceVisible="@bool/config_show_premium_sms"
|
||||||
settings:controller="com.android.settings.applications.specialaccess.premiumsms.PremiumSmsController" />
|
settings:controller="com.android.settings.applications.specialaccess.premiumsms.PremiumSmsController" />
|
||||||
|
|
||||||
<Preference
|
<Preference
|
||||||
|
@@ -21,8 +21,12 @@ import static com.android.settings.core.BasePreferenceController.AVAILABLE;
|
|||||||
import static com.google.common.truth.Truth.assertThat;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
|
|
||||||
import static org.mockito.Mockito.spy;
|
import static org.mockito.Mockito.spy;
|
||||||
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.content.res.Resources;
|
||||||
|
|
||||||
|
import com.android.settings.R;
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
@@ -36,23 +40,35 @@ import org.robolectric.annotation.Config;
|
|||||||
public class PremiumSmsControllerTest {
|
public class PremiumSmsControllerTest {
|
||||||
|
|
||||||
private Context mContext;
|
private Context mContext;
|
||||||
|
private Resources mResources;
|
||||||
private PremiumSmsController mController;
|
private PremiumSmsController mController;
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void setUp() {
|
public void setUp() {
|
||||||
MockitoAnnotations.initMocks(this);
|
MockitoAnnotations.initMocks(this);
|
||||||
mContext = spy(RuntimeEnvironment.application.getApplicationContext());
|
mContext = spy(RuntimeEnvironment.application.getApplicationContext());
|
||||||
|
|
||||||
|
mResources = spy(mContext.getResources());
|
||||||
|
when(mContext.getResources()).thenReturn(mResources);
|
||||||
|
|
||||||
mController = new PremiumSmsController(mContext, "key");
|
mController = new PremiumSmsController(mContext, "key");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void getAvailability_byDefault_shouldBeShown() {
|
public void getAvailability_byDefault_shouldBeShown() {
|
||||||
|
when(mResources.getBoolean(R.bool.config_show_premium_sms)).thenReturn(true);
|
||||||
assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
|
assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Config(qualifiers = "mcc999")
|
@Config(qualifiers = "mcc999")
|
||||||
|
public void getAvailability_disabledByCarrier_returnUnavailable() {
|
||||||
|
assertThat(mController.isAvailable()).isFalse();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
public void getAvailability_disabled_returnUnavailable() {
|
public void getAvailability_disabled_returnUnavailable() {
|
||||||
|
when(mResources.getBoolean(R.bool.config_show_premium_sms)).thenReturn(false);
|
||||||
assertThat(mController.isAvailable()).isFalse();
|
assertThat(mController.isAvailable()).isFalse();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -21,8 +21,12 @@ import static com.android.settings.core.BasePreferenceController.AVAILABLE;
|
|||||||
import static com.google.common.truth.Truth.assertThat;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
|
|
||||||
import static org.mockito.Mockito.spy;
|
import static org.mockito.Mockito.spy;
|
||||||
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.content.res.Resources;
|
||||||
|
|
||||||
|
import com.android.settings.R;
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
@@ -36,23 +40,35 @@ import org.robolectric.annotation.Config;
|
|||||||
public class PremiumSmsScreenPreferenceControllerTest {
|
public class PremiumSmsScreenPreferenceControllerTest {
|
||||||
|
|
||||||
private Context mContext;
|
private Context mContext;
|
||||||
|
private Resources mResources;
|
||||||
private PremiumSmsScreenPreferenceController mController;
|
private PremiumSmsScreenPreferenceController mController;
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void setUp() {
|
public void setUp() {
|
||||||
MockitoAnnotations.initMocks(this);
|
MockitoAnnotations.initMocks(this);
|
||||||
mContext = spy(RuntimeEnvironment.application.getApplicationContext());
|
mContext = spy(RuntimeEnvironment.application.getApplicationContext());
|
||||||
|
|
||||||
|
mResources = spy(mContext.getResources());
|
||||||
|
when(mContext.getResources()).thenReturn(mResources);
|
||||||
|
|
||||||
mController = new PremiumSmsScreenPreferenceController(mContext, "key");
|
mController = new PremiumSmsScreenPreferenceController(mContext, "key");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void getAvailability_byDefault_shouldBeShown() {
|
public void getAvailability_byDefault_shouldBeShown() {
|
||||||
|
when(mResources.getBoolean(R.bool.config_show_premium_sms)).thenReturn(true);
|
||||||
assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
|
assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Config(qualifiers = "mcc999")
|
@Config(qualifiers = "mcc999")
|
||||||
|
public void getAvailability_disabledByCarrier_returnUnavailable() {
|
||||||
|
assertThat(mController.isAvailable()).isFalse();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
public void getAvailability_disabled_returnUnavailable() {
|
public void getAvailability_disabled_returnUnavailable() {
|
||||||
|
when(mResources.getBoolean(R.bool.config_show_premium_sms)).thenReturn(false);
|
||||||
assertThat(mController.isAvailable()).isFalse();
|
assertThat(mController.isAvailable()).isFalse();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user