diff options
Diffstat (limited to 'InCallUI/tests/src/com/android/incallui/InCallPresenterTest.java')
-rw-r--r-- | InCallUI/tests/src/com/android/incallui/InCallPresenterTest.java | 198 |
1 files changed, 0 insertions, 198 deletions
diff --git a/InCallUI/tests/src/com/android/incallui/InCallPresenterTest.java b/InCallUI/tests/src/com/android/incallui/InCallPresenterTest.java deleted file mode 100644 index f0f08ab68..000000000 --- a/InCallUI/tests/src/com/android/incallui/InCallPresenterTest.java +++ /dev/null @@ -1,198 +0,0 @@ -/* - * Copyright (C) 2015 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.incallui; - -import static org.mockito.Mockito.never; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; - -import android.content.Context; -import android.content.Intent; -import android.telecom.PhoneAccountHandle; -import android.telephony.TelephonyManager; -import android.test.InstrumentationTestCase; -import android.test.suitebuilder.annotation.MediumTest; - -import com.android.incallui.InCallPresenter.InCallState; - -import org.mockito.Mock; -import org.mockito.Mockito; -import org.mockito.MockitoAnnotations; - -@MediumTest -public class InCallPresenterTest extends InstrumentationTestCase { - private MockCallListWrapper mCallList; - @Mock private InCallActivity mInCallActivity; - @Mock private AudioModeProvider mAudioModeProvider; - @Mock private StatusBarNotifier mStatusBarNotifier; - @Mock private ExternalCallNotifier mExternalCallNotifier; - @Mock private ContactInfoCache mContactInfoCache; - @Mock private ProximitySensor mProximitySensor; - - InCallPresenter mInCallPresenter; - @Mock private Context mContext; - @Mock private TelephonyManager mTelephonyManager; - - @Override - protected void setUp() throws Exception { - super.setUp(); - System.setProperty("dexmaker.dexcache", - getInstrumentation().getTargetContext().getCacheDir().getPath()); - MockitoAnnotations.initMocks(this); - mCallList = new MockCallListWrapper(); - - when(mContext.getSystemService(Context.TELEPHONY_SERVICE)).thenReturn(mTelephonyManager); - - mInCallPresenter = InCallPresenter.getInstance(); - mInCallPresenter.setUp(mContext, mCallList.getCallList(), new ExternalCallList(), - mAudioModeProvider, mStatusBarNotifier, mExternalCallNotifier, mContactInfoCache, - mProximitySensor); - } - - @Override - protected void tearDown() throws Exception { - // The tear down method needs to run in the main thread since there is an explicit check - // inside TelecomAdapter.getInstance(). - getInstrumentation().runOnMainSync(new Runnable() { - @Override - public void run() { - mInCallPresenter.unsetActivity(mInCallActivity); - mInCallPresenter.tearDown(); - InCallPresenter.setInstance(null); - } - }); - } - - public void testOnActivitySet_finishesActivityWhenNoCalls() { - mInCallPresenter.setActivity(mInCallActivity); - - verify(mInCallActivity).finish(); - } - - public void testOnCallListChange_sendsNotificationWhenInCall() { - mCallList.setHasCall(Call.State.INCOMING, true); - - mInCallPresenter.onCallListChange(mCallList.getCallList()); - - verify(mStatusBarNotifier).updateNotification(InCallState.INCOMING, - mCallList.getCallList()); - verifyInCallActivityNotStarted(); - } - - /** - * This behavior is required to ensure that the screen is turned on again by the restarting - * activity. - */ - public void testOnCallListChange_handlesCallWaitingWhenScreenOffShouldRestartActivity() { - mCallList.setHasCall(Call.State.ACTIVE, true); - - mInCallPresenter.onCallListChange(mCallList.getCallList()); - mInCallPresenter.setActivity(mInCallActivity); - - // Pretend that there is a call waiting and the screen is off - when(mInCallActivity.isDestroyed()).thenReturn(false); - when(mInCallActivity.isFinishing()).thenReturn(false); - when(mProximitySensor.isScreenReallyOff()).thenReturn(true); - mCallList.setHasCall(Call.State.INCOMING, true); - - mInCallPresenter.onCallListChange(mCallList.getCallList()); - verify(mInCallActivity).finish(); - } - - /** - * Verifies that the PENDING_OUTGOING -> IN_CALL transition brings up InCallActivity so - * that it can display an error dialog. - */ - public void testOnCallListChange_pendingOutgoingToInCallTransitionShowsUiForErrorDialog() { - mCallList.setHasCall(Call.State.CONNECTING, true); - - mInCallPresenter.onCallListChange(mCallList.getCallList()); - - mCallList.setHasCall(Call.State.CONNECTING, false); - mCallList.setHasCall(Call.State.ACTIVE, true); - - mInCallPresenter.onCallListChange(mCallList.getCallList()); - - verify(mContext).startActivity(InCallPresenter.getInstance().getInCallIntent(false, false)); - verifyIncomingCallNotificationNotSent(); - } - - /** - * Verifies that if there is a call in the SELECT_PHONE_ACCOUNT state, InCallActivity is displayed - * to display the account picker. - */ - public void testOnCallListChange_noAccountProvidedForCallShowsUiForAccountPicker() { - mCallList.setHasCall(Call.State.SELECT_PHONE_ACCOUNT, true); - mInCallPresenter.onCallListChange(mCallList.getCallList()); - - verify(mContext).startActivity(InCallPresenter.getInstance().getInCallIntent(false, false)); - verifyIncomingCallNotificationNotSent(); - } - - /** - * Verifies that for an expected call state change (e.g. NO_CALLS -> PENDING_OUTGOING), - * InCallActivity is not displayed. - */ - public void testOnCallListChange_noCallsToPendingOutgoingDoesNotShowUi() { - mCallList.setHasCall(Call.State.CONNECTING, true); - mInCallPresenter.onCallListChange(mCallList.getCallList()); - - verifyInCallActivityNotStarted(); - verifyIncomingCallNotificationNotSent(); - } - - public void testOnCallListChange_LastCallDisconnectedNoCallsLeftFinishesUi() { - mCallList.setHasCall(Call.State.DISCONNECTED, true); - mInCallPresenter.onCallListChange(mCallList.getCallList()); - - mInCallPresenter.setActivity(mInCallActivity); - - verify(mInCallActivity, never()).finish(); - - // Last remaining disconnected call is removed from CallList, activity should shut down. - mCallList.setHasCall(Call.State.DISCONNECTED, false); - mInCallPresenter.onCallListChange(mCallList.getCallList()); - verify(mInCallActivity).finish(); - } - - - //TODO - public void testCircularReveal_startsCircularRevealForOutgoingCalls() { - - } - - public void testCircularReveal_waitTillCircularRevealSentBeforeShowingCallCard() { - } - - public void testHangupOngoingCall_disconnectsCallCorrectly() { - } - - public void testAnswerIncomingCall() { - } - - public void testDeclineIncomingCall() { - } - - private void verifyInCallActivityNotStarted() { - verify(mContext, never()).startActivity(Mockito.any(Intent.class)); - } - - private void verifyIncomingCallNotificationNotSent() { - verify(mStatusBarNotifier, never()).updateNotification(Mockito.any(InCallState.class), - Mockito.any(CallList.class)); - } -} |