summaryrefslogtreecommitdiffstats
path: root/tests/src/com/android/messaging/ui/contact/ContactPickerFragmentTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'tests/src/com/android/messaging/ui/contact/ContactPickerFragmentTest.java')
-rw-r--r--tests/src/com/android/messaging/ui/contact/ContactPickerFragmentTest.java221
1 files changed, 0 insertions, 221 deletions
diff --git a/tests/src/com/android/messaging/ui/contact/ContactPickerFragmentTest.java b/tests/src/com/android/messaging/ui/contact/ContactPickerFragmentTest.java
deleted file mode 100644
index 5b1503b..0000000
--- a/tests/src/com/android/messaging/ui/contact/ContactPickerFragmentTest.java
+++ /dev/null
@@ -1,221 +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.messaging.ui.contact;
-
-import android.content.Context;
-import android.database.Cursor;
-import android.support.v4.view.ViewPager;
-import android.test.suitebuilder.annotation.LargeTest;
-import android.view.View;
-import android.widget.ListView;
-
-import com.android.messaging.FakeFactory;
-import com.android.messaging.R;
-import com.android.messaging.datamodel.FakeDataModel;
-import com.android.messaging.datamodel.action.ActionTestHelpers;
-import com.android.messaging.datamodel.action.ActionTestHelpers.StubActionService;
-import com.android.messaging.datamodel.action.ActionTestHelpers.StubActionService.StubActionServiceCallLog;
-import com.android.messaging.datamodel.action.GetOrCreateConversationAction;
-import com.android.messaging.datamodel.data.ContactPickerData;
-import com.android.messaging.datamodel.data.ParticipantData;
-import com.android.messaging.datamodel.data.TestDataFactory;
-import com.android.messaging.ui.CustomHeaderViewPagerAdapter;
-import com.android.messaging.ui.FragmentTestCase;
-import com.android.messaging.ui.UIIntents;
-import com.android.messaging.ui.contact.ContactPickerFragment.ContactPickerFragmentHost;
-
-import org.mockito.Matchers;
-import org.mockito.Mock;
-import org.mockito.Mockito;
-
-import java.util.ArrayList;
-import java.util.List;
-
-
-/**
- * Unit tests for {@link ContactPickerFragment}.
- */
-@LargeTest
-public class ContactPickerFragmentTest
- extends FragmentTestCase<ContactPickerFragment> {
-
- @Mock protected ContactPickerData mMockContactPickerData;
- @Mock protected UIIntents mMockUIIntents;
- @Mock protected ContactPickerFragmentHost mockHost;
- protected FakeDataModel mFakeDataModel;
- private ActionTestHelpers.StubActionService mService;
-
- public ContactPickerFragmentTest() {
- super(ContactPickerFragment.class);
- }
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
-
- final Context context = getInstrumentation().getTargetContext();
- mService = new StubActionService();
- mFakeDataModel = new FakeDataModel(context)
- .withContactPickerData(mMockContactPickerData)
- .withActionService(mService);
- FakeFactory.register(context)
- .withDataModel(mFakeDataModel)
- .withUIIntents(mMockUIIntents);
- }
-
- /**
- * Helper method to initialize the ContactPickerFragment and its data.
- */
- private ContactPickerFragmentTest initFragment(final int initialMode) {
- Mockito.when(mMockContactPickerData.isBound(Matchers.anyString()))
- .thenReturn(true);
-
- getActivity().runOnUiThread(new Runnable() {
- @Override
- public void run() {
- final ContactPickerFragment fragment = getFragment();
- fragment.setHost(mockHost);
- fragment.setContactPickingMode(initialMode, false);
-
- getActivity().setFragment(fragment);
- Mockito.verify(mMockContactPickerData).init(fragment.getLoaderManager(),
- fragment.mBinding);
- }
- });
- getInstrumentation().waitForIdleSync();
- return this;
- }
-
- /**
- * Bind the datamodel with all contacts cursor to populate the all contacts list in the
- * fragment.
- */
- private ContactPickerFragmentTest loadWithAllContactsCursor(final Cursor cursor) {
- Mockito.when(mMockContactPickerData.isBound(Matchers.anyString()))
- .thenReturn(true);
-
- getActivity().runOnUiThread(new Runnable() {
- @Override
- public void run() {
- getFragment().onAllContactsCursorUpdated(cursor);
- }
- });
- getInstrumentation().waitForIdleSync();
- return this;
- }
-
- /**
- * Bind the datamodel with frequent contacts cursor to populate the contacts list in the
- * fragment.
- */
- private ContactPickerFragmentTest loadWithFrequentContactsCursor(final Cursor cursor) {
- Mockito.when(mMockContactPickerData.isBound(Matchers.anyString()))
- .thenReturn(true);
- getActivity().runOnUiThread(new Runnable() {
- @Override
- public void run() {
- getFragment().onFrequentContactsCursorUpdated(cursor);
- }
- });
- getInstrumentation().waitForIdleSync();
- return this;
- }
-
- /**
- * Test the initial state of the fragment before loading data.
- */
- public void testInitialState() {
- initFragment(ContactPickerFragment.MODE_PICK_INITIAL_CONTACT);
-
- // Make sure that the frequent contacts view is shown by default.
- final ViewPager pager = (ViewPager) getFragment().getView().findViewById(R.id.pager);
- final View currentPagedView = pager.getChildAt(pager.getCurrentItem());
- final View frequentContactsView = ((CustomHeaderViewPagerAdapter) pager.getAdapter())
- .getViewHolder(0).getView(null);
- assertEquals(frequentContactsView, currentPagedView);
- }
-
- /**
- * Verifies that list view gets correctly populated given a cursor.
- */
- public void testLoadAllContactsList() {
- final Cursor cursor = TestDataFactory.getAllContactListCursor();
- initFragment(ContactPickerFragment.MODE_PICK_INITIAL_CONTACT)
- .loadWithAllContactsCursor(cursor);
- final ListView listView = (ListView) getFragment().getView()
- .findViewById(R.id.all_contacts_list);
- assertEquals(cursor.getCount(), listView.getCount());
- }
-
- /**
- * Verifies that list view gets correctly populated given a cursor.
- */
- public void testLoadFrequentContactsList() {
- final Cursor cursor = TestDataFactory.getFrequentContactListCursor();
- initFragment(ContactPickerFragment.MODE_PICK_INITIAL_CONTACT)
- .loadWithFrequentContactsCursor(cursor);
- final ListView listView = (ListView) getFragment().getView()
- .findViewById(R.id.frequent_contacts_list);
- assertEquals(cursor.getCount(), listView.getCount());
- }
-
- public void testPickInitialContact() {
- final Cursor cursor = TestDataFactory.getFrequentContactListCursor();
- initFragment(ContactPickerFragment.MODE_PICK_INITIAL_CONTACT)
- .loadWithFrequentContactsCursor(cursor);
- final ListView listView = (ListView) getFragment().getView()
- .findViewById(R.id.frequent_contacts_list);
- // Click on the first contact to add it.
- final ContactListItemView cliv = (ContactListItemView) listView.getChildAt(0);
- clickButton(cliv);
- final ContactRecipientAutoCompleteView chipsView = (ContactRecipientAutoCompleteView)
- getFragment().getView()
- .findViewById(R.id.recipient_text_view);
- // Verify the contact is added to the chips view.
- final List<ParticipantData> participants =
- chipsView.getRecipientParticipantDataForConversationCreation();
- assertEquals(1, participants.size());
- assertEquals(cliv.mData.getDestination(), participants.get(0).getSendDestination());
- assertTrue(mService.getCalls().get(0).action instanceof GetOrCreateConversationAction);
- }
-
- public void testLeaveChipsMode() {
- final Cursor cursor = TestDataFactory.getFrequentContactListCursor();
- initFragment(ContactPickerFragment.MODE_CHIPS_ONLY)
- .loadWithFrequentContactsCursor(cursor);
- // Click on the add more participants button
- // TODO: Figure out a way to click on the add more participants button now that
- // it's part of the menu.
- // final ImageButton AddMoreParticipantsButton = (ImageButton) getFragment().getView()
- // .findViewById(R.id.add_more_participants_button);
- // clickButton(AddMoreParticipantsButton);
- // Mockito.verify(mockHost).onInitiateAddMoreParticipants();
- }
-
- public void testPickMoreContacts() {
- final Cursor cursor = TestDataFactory.getFrequentContactListCursor();
- initFragment(ContactPickerFragment.MODE_PICK_MORE_CONTACTS)
- .loadWithFrequentContactsCursor(cursor);
- final ListView listView = (ListView) getFragment().getView()
- .findViewById(R.id.frequent_contacts_list);
- // Click on the first contact to add it.
- final ContactListItemView cliv = (ContactListItemView) listView.getChildAt(0);
- clickButton(cliv);
- // Verify that we don't attempt to create a conversation right away.
- assertEquals(0, mService.getCalls().size());
- }
-}