• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2018 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package com.android.settings;
18 
19 import static com.google.common.truth.Truth.assertThat;
20 
21 import static org.mockito.Mockito.spy;
22 
23 import android.view.LayoutInflater;
24 import android.widget.TextView;
25 
26 import androidx.fragment.app.FragmentActivity;
27 
28 import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
29 import com.android.settings.testutils.shadow.ShadowRecoverySystem;
30 import com.android.settings.utils.ActivityControllerWrapper;
31 
32 import org.junit.After;
33 import org.junit.Before;
34 import org.junit.Test;
35 import org.junit.runner.RunWith;
36 import org.mockito.Mock;
37 import org.mockito.MockitoAnnotations;
38 import org.robolectric.Robolectric;
39 import org.robolectric.RobolectricTestRunner;
40 import org.robolectric.annotation.Config;
41 
42 @RunWith(RobolectricTestRunner.class)
43 @Config(shadows = {ShadowRecoverySystem.class, ShadowBluetoothAdapter.class})
44 public class ResetNetworkConfirmTest {
45 
46     private static final String TEST_PACKAGE = "com.android.settings";
47 
48     private FragmentActivity mActivity;
49 
50     @Mock
51     private ResetNetworkConfirm mResetNetworkConfirm;
52 
53     @Before
setUp()54     public void setUp() {
55         MockitoAnnotations.initMocks(this);
56 
57         mResetNetworkConfirm = new ResetNetworkConfirm();
58         mActivity = spy((FragmentActivity) ActivityControllerWrapper.setup(
59                 Robolectric.buildActivity(FragmentActivity.class)).get());
60         mResetNetworkConfirm.mActivity = mActivity;
61     }
62 
63     @After
tearDown()64     public void tearDown() {
65         ShadowRecoverySystem.reset();
66     }
67 
68     @Test
testResetNetworkData_notResetEsim()69     public void testResetNetworkData_notResetEsim() {
70         mResetNetworkConfirm.mResetNetworkRequest =
71                 new ResetNetworkRequest(ResetNetworkRequest.RESET_NONE);
72         mResetNetworkConfirm.mResetSubscriptionContract =
73                 new ResetSubscriptionContract(mActivity,
74                 mResetNetworkConfirm.mResetNetworkRequest) {
75             @Override
76             public void onSubscriptionInactive(int subscriptionId) {
77                 mActivity.onBackPressed();
78             }
79         };
80 
81         mResetNetworkConfirm.mFinalClickListener.onClick(null /* View */);
82         Robolectric.getBackgroundThreadScheduler().advanceToLastPostedRunnable();
83 
84         assertThat(ShadowRecoverySystem.getWipeEuiccCalledCount()).isEqualTo(0);
85     }
86 
87     @Test
setSubtitle_eraseEsim()88     public void setSubtitle_eraseEsim() {
89         mResetNetworkConfirm.mResetNetworkRequest =
90                 new ResetNetworkRequest(ResetNetworkRequest.RESET_NONE);
91         mResetNetworkConfirm.mResetNetworkRequest.setResetEsim(TEST_PACKAGE);
92 
93         mResetNetworkConfirm.mContentView =
94                 LayoutInflater.from(mActivity).inflate(R.layout.reset_network_confirm, null);
95 
96         mResetNetworkConfirm.setSubtitle();
97 
98         assertThat(((TextView) mResetNetworkConfirm.mContentView
99                 .findViewById(R.id.reset_network_confirm)).getText())
100                 .isEqualTo(mActivity.getString(R.string.reset_network_final_desc_esim));
101     }
102 
103     @Test
setSubtitle_notEraseEsim()104     public void setSubtitle_notEraseEsim() {
105         mResetNetworkConfirm.mResetNetworkRequest =
106                 new ResetNetworkRequest(ResetNetworkRequest.RESET_NONE);
107 
108         mResetNetworkConfirm.mContentView =
109                 LayoutInflater.from(mActivity).inflate(R.layout.reset_network_confirm, null);
110 
111         mResetNetworkConfirm.setSubtitle();
112 
113         assertThat(((TextView) mResetNetworkConfirm.mContentView
114                 .findViewById(R.id.reset_network_confirm)).getText())
115                 .isEqualTo(mActivity.getString(R.string.reset_network_final_desc));
116     }
117 }
118