Update NfcPaymentPreferenceControllerTest

Bug: 215062846
Test: make RunSettingsRoboTests ROBOTEST_FILTER=NfcPaymentPreferenceControllerTest
Change-Id: I5db4e7c5e550bfada5c7d240cfaee2d1582beb30
This commit is contained in:
George Chang
2022-01-19 20:12:05 +08:00
parent 04f6983ddd
commit e69d760aea

View File

@@ -24,6 +24,8 @@ import static org.mockito.Mockito.when;
import android.content.Context; import android.content.Context;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.os.UserHandle;
import android.os.UserManager;
import androidx.preference.PreferenceScreen; import androidx.preference.PreferenceScreen;
@@ -32,7 +34,6 @@ import com.android.settings.nfc.PaymentBackend.PaymentAppInfo;
import com.android.settings.testutils.shadow.ShadowNfcAdapter; import com.android.settings.testutils.shadow.ShadowNfcAdapter;
import org.junit.Before; import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.mockito.Mock; import org.mockito.Mock;
@@ -47,6 +48,7 @@ import java.util.ArrayList;
@Config(shadows = ShadowNfcAdapter.class) @Config(shadows = ShadowNfcAdapter.class)
public class NfcPaymentPreferenceControllerTest { public class NfcPaymentPreferenceControllerTest {
private static final String USER_TEST = "user_test";
private static final String PREF_KEY = PaymentSettingsTest.PAYMENT_KEY; private static final String PREF_KEY = PaymentSettingsTest.PAYMENT_KEY;
@Mock @Mock
@@ -55,6 +57,12 @@ public class NfcPaymentPreferenceControllerTest {
private PreferenceScreen mScreen; private PreferenceScreen mScreen;
@Mock @Mock
private PackageManager mManager; private PackageManager mManager;
@Mock
private UserManager mUserManager;
@Mock
private UserHandle mUserHandle;
@Mock
private Context mContextAsUser;
private Context mContext; private Context mContext;
private NfcPaymentPreference mPreference; private NfcPaymentPreference mPreference;
@@ -68,6 +76,9 @@ public class NfcPaymentPreferenceControllerTest {
mController = new NfcPaymentPreferenceController(mContext, PREF_KEY); mController = new NfcPaymentPreferenceController(mContext, PREF_KEY);
mPreference = spy(new NfcPaymentPreference(mContext, null)); mPreference = spy(new NfcPaymentPreference(mContext, null));
when(mScreen.findPreference(PREF_KEY)).thenReturn(mPreference); when(mScreen.findPreference(PREF_KEY)).thenReturn(mPreference);
when(mContext.createContextAsUser(UserHandle.CURRENT, 0)).thenReturn(mContextAsUser);
when(mContextAsUser.getSystemService(UserManager.class)).thenReturn(mUserManager);
when(mUserManager.getUserName()).thenReturn(USER_TEST);
} }
@Test @Test
@@ -134,7 +145,6 @@ public class NfcPaymentPreferenceControllerTest {
} }
@Test @Test
@Ignore
public void onPaymentAppsChanged_shouldRefreshSummary() { public void onPaymentAppsChanged_shouldRefreshSummary() {
mController.setPaymentBackend(mPaymentBackend); mController.setPaymentBackend(mPaymentBackend);
mController.displayPreference(mScreen); mController.displayPreference(mScreen);
@@ -147,10 +157,12 @@ public class NfcPaymentPreferenceControllerTest {
final PaymentAppInfo appInfo = new PaymentAppInfo(); final PaymentAppInfo appInfo = new PaymentAppInfo();
appInfo.label = "test label"; appInfo.label = "test label";
appInfo.userHandle = UserHandle.CURRENT;
when(mPaymentBackend.getDefaultApp()).thenReturn(appInfo); when(mPaymentBackend.getDefaultApp()).thenReturn(appInfo);
mController.onPaymentAppsChanged(); mController.onPaymentAppsChanged();
assertThat(mPreference.getSummary()).isEqualTo(appInfo.label); assertThat(mPreference.getSummary())
.isEqualTo(appInfo.label + " (" + USER_TEST + ")");
} }
} }