package org.commcare.android.util; import android.content.Intent; import android.widget.ListView; import org.commcare.activities.EntitySelectActivity; import org.commcare.adapters.EntityListAdapter; import org.commcare.dalvik.R; import org.junit.Assert; import org.robolectric.Robolectric; import org.robolectric.Shadows; import org.robolectric.shadows.ShadowActivity; import org.robolectric.shadows.ShadowListView; /** * @author Phillip Mates (pmates@dimagi.com) */ public class CaseLoadUtils { public static EntityListAdapter loadList(EntitySelectActivity entitySelectActivity) { // wait for entities to load Robolectric.flushBackgroundThreadScheduler(); Robolectric.flushForegroundThreadScheduler(); ListView entityList = (ListView)entitySelectActivity.findViewById(R.id.screen_entity_select_list); EntityListAdapter adapter = (EntityListAdapter)entityList.getAdapter(); ShadowListView shadowListView = Shadows.shadowOf(entityList); shadowListView.populateItems(); return adapter; } public static EntitySelectActivity launchEntitySelectActivity(String command) { ShadowActivity shadowHomeActivity = ActivityLaunchUtils.buildHomeActivityForFormEntryLaunch(command); Intent entitySelectIntent = shadowHomeActivity.getNextStartedActivity(); String intentActivityName = entitySelectIntent.getComponent().getClassName(); Assert.assertEquals(EntitySelectActivity.class.getName(), intentActivityName); // start the entity select activity return Robolectric.buildActivity(EntitySelectActivity.class) .withIntent(entitySelectIntent).setup().get(); } }