diff options
author | Zhizhi Liu <zhizhiliu@google.com> | 2017-09-20 11:54:31 -0700 |
---|---|---|
committer | Zhizhi Liu <zhizhiliu@google.com> | 2017-12-22 15:46:14 -0800 |
commit | 169b1a06beac7799868b548c63372c4e767d9993 (patch) | |
tree | e1335a59a02badcd0bcc4f4d7a3711258c656c82 /Settings/tests/robotests/src/com/android/tv/settings/connectivity/setup/AddStartStateTest.java | |
parent | d7c52ded4c27ebe7f9e3dbc6907249c23ad19b92 (diff) | |
download | TvSettings-169b1a06beac7799868b548c63372c4e767d9993.tar.gz |
Settings setup UI refactor(basic flow)
Use leanback library to rewrite the code.
Remove pano library.
b/70679210
Test: tests/robotests/com/android/tv/settings/connectivity/
Change-Id: I8f280a68c4ad98a6cd41df9d775ae4b776913830
Diffstat (limited to 'Settings/tests/robotests/src/com/android/tv/settings/connectivity/setup/AddStartStateTest.java')
-rw-r--r-- | Settings/tests/robotests/src/com/android/tv/settings/connectivity/setup/AddStartStateTest.java | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/Settings/tests/robotests/src/com/android/tv/settings/connectivity/setup/AddStartStateTest.java b/Settings/tests/robotests/src/com/android/tv/settings/connectivity/setup/AddStartStateTest.java new file mode 100644 index 000000000..4d23f0f7e --- /dev/null +++ b/Settings/tests/robotests/src/com/android/tv/settings/connectivity/setup/AddStartStateTest.java @@ -0,0 +1,108 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.tv.settings.connectivity.setup; + +import static org.mockito.Mockito.verify; +import static org.robolectric.shadow.api.Shadow.extract; + +import android.arch.lifecycle.ViewModelProviders; +import android.net.wifi.WifiConfiguration; + +import com.android.settingslib.wifi.AccessPoint; +import com.android.tv.settings.TestConfig; +import com.android.tv.settings.TvSettingsRobolectricTestRunner; +import com.android.tv.settings.connectivity.util.State; +import com.android.tv.settings.connectivity.util.StateMachine; +import com.android.tv.settings.testutils.ShadowStateMachine; + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.robolectric.Robolectric; +import org.robolectric.annotation.Config; + +@RunWith(TvSettingsRobolectricTestRunner.class) +@Config(manifest = TestConfig.MANIFEST_PATH, + sdk = TestConfig.SDK_VERSION, + shadows = { + ShadowStateMachine.class}) +public class AddStartStateTest { + private WifiSetupActivity mActivity; + private AddStartState mAddStartState; + private UserChoiceInfo mUserChoiceInfo; + @Mock + private State.StateCompleteListener mStateCompleteListener; + + @Before + public void setUp() { + MockitoAnnotations.initMocks(this); + mActivity = Robolectric.buildActivity(WifiSetupActivity.class).get(); + StateMachine stateMachine = ViewModelProviders.of(mActivity).get(StateMachine.class); + mUserChoiceInfo = ViewModelProviders.of(mActivity).get(UserChoiceInfo.class); + ShadowStateMachine shadowStateMachine = (ShadowStateMachine) extract(stateMachine); + shadowStateMachine.setListener(mStateCompleteListener); + mAddStartState = new AddStartState(mActivity); + } + + @Test + public void testForward_WEP_NeedPassword() { + mUserChoiceInfo.init(); + mUserChoiceInfo.setWifiSecurity(AccessPoint.SECURITY_WEP); + mUserChoiceInfo.setWifiConfiguration(new WifiConfiguration()); + mAddStartState.processForward(); + verify(mStateCompleteListener).onComplete(StateMachine.PASSWORD); + } + + @Test + public void testForward_WPA_NeedPassword() { + mUserChoiceInfo.init(); + mUserChoiceInfo.setWifiSecurity(AccessPoint.SECURITY_PSK); + mUserChoiceInfo.setWifiConfiguration(new WifiConfiguration()); + mAddStartState.processForward(); + verify(mStateCompleteListener).onComplete(StateMachine.PASSWORD); + } + + @Test + public void testForward_EAP_NeedPassword() { + mUserChoiceInfo.init(); + mUserChoiceInfo.setWifiSecurity(AccessPoint.SECURITY_EAP); + mUserChoiceInfo.setWifiConfiguration(new WifiConfiguration()); + mAddStartState.processForward(); + verify(mStateCompleteListener).onComplete(StateMachine.PASSWORD); + } + + @Test + public void testForward_AlreadyHasPassword() { + mUserChoiceInfo.init(); + mUserChoiceInfo.setWifiSecurity(AccessPoint.SECURITY_PSK); + WifiConfiguration config = new WifiConfiguration(); + config.preSharedKey = "PasswordTest"; + mUserChoiceInfo.setWifiConfiguration(config); + mAddStartState.processForward(); + verify(mStateCompleteListener).onComplete(StateMachine.CONNECT); + } + + @Test + public void testForward_DoNotNeedPassword() { + mUserChoiceInfo.init(); + mUserChoiceInfo.setWifiSecurity(AccessPoint.SECURITY_NONE); + mAddStartState.processForward(); + verify(mStateCompleteListener).onComplete(StateMachine.CONNECT); + } +} |