Search in sources :

Example 1 with BaseVideosDownloadStateActivity

use of org.edx.mobile.base.BaseVideosDownloadStateActivity in project edx-app-android by edx.

the class BaseVideosDownloadStateActivityTest method downloadProgressViewTest.

/**
 * Testing download progress menu visibility states and click behaviour
 * (starting DownloadActivity). Only when both AppConstants.offline_flag
 * is true and there is a downloading entry in the database, should the
 * progress bar be visible.
 */
@Test
public void downloadProgressViewTest() {
    connectToNetwork();
    assertFalse(Shadows.shadowOf(Robolectric.buildActivity(getActivityClass()).withIntent(getIntent()).setup().get()).getOptionsMenu().findItem(R.id.download_progress).isVisible());
    disconnectFromNetwork();
    assertFalse(Shadows.shadowOf(Robolectric.buildActivity(getActivityClass()).withIntent(getIntent()).setup().get()).getOptionsMenu().findItem(R.id.download_progress).isVisible());
    IDatabase db = environment.getDatabase();
    DownloadEntry de = new DownloadEntry();
    de.username = "unittest";
    de.title = "title";
    de.videoId = "videoId-" + System.currentTimeMillis();
    de.size = 1024;
    de.duration = 3600;
    de.filepath = "/fakepath";
    de.url = "http://fake/url";
    de.eid = "fake_eid";
    de.chapter = "fake_chapter";
    de.section = "fake_section";
    de.lastPlayedOffset = 0;
    de.lmsUrl = "http://fake/lms/url";
    de.isCourseActive = 1;
    de.downloaded = DownloadEntry.DownloadedState.DOWNLOADING;
    Long rowId = db.addVideoData(de, null);
    assertNotNull(rowId);
    assertThat(rowId).isGreaterThan(0);
    assertFalse(Shadows.shadowOf(Robolectric.buildActivity(getActivityClass()).withIntent(getIntent()).setup().get()).getOptionsMenu().findItem(R.id.download_progress).isVisible());
    connectToNetwork();
    BaseVideosDownloadStateActivity activity = Robolectric.buildActivity(getActivityClass()).withIntent(getIntent()).setup().get();
    ShadowActivity shadowActivity = Shadows.shadowOf(activity);
    MenuItem downloadProgressMenuItem = shadowActivity.getOptionsMenu().findItem(R.id.download_progress);
    assertTrue(downloadProgressMenuItem.isVisible());
    assertTrue(downloadProgressMenuItem.getActionView().performClick());
    assertNextStartedActivity(activity, DownloadListActivity.class);
}
Also used : IDatabase(org.edx.mobile.module.db.IDatabase) BaseVideosDownloadStateActivity(org.edx.mobile.base.BaseVideosDownloadStateActivity) ShadowActivity(org.robolectric.shadows.ShadowActivity) MenuItem(android.view.MenuItem) DownloadEntry(org.edx.mobile.model.db.DownloadEntry) Test(org.junit.Test)

Example 2 with BaseVideosDownloadStateActivity

use of org.edx.mobile.base.BaseVideosDownloadStateActivity in project edx-app-android by edx.

the class BaseVideosDownloadStateActivityTest method initializeOptionsMenuTest.

/**
 * Testing options menu initialization
 */
@Test
public void initializeOptionsMenuTest() {
    BaseVideosDownloadStateActivity activity = Robolectric.buildActivity(getActivityClass()).withIntent(getIntent()).setup().get();
    Menu menu = Shadows.shadowOf(activity).getOptionsMenu();
    assertNotNull(menu);
    // Can't see any method to confirm action layout source as well
    MenuItem progressItem = menu.findItem(R.id.download_progress);
    assertNotNull(progressItem);
    assertThat(progressItem).hasTitle(activity.getText(R.string.action_settings));
}
Also used : BaseVideosDownloadStateActivity(org.edx.mobile.base.BaseVideosDownloadStateActivity) MenuItem(android.view.MenuItem) Menu(android.view.Menu) Test(org.junit.Test)

Aggregations

MenuItem (android.view.MenuItem)2 BaseVideosDownloadStateActivity (org.edx.mobile.base.BaseVideosDownloadStateActivity)2 Test (org.junit.Test)2 Menu (android.view.Menu)1 DownloadEntry (org.edx.mobile.model.db.DownloadEntry)1 IDatabase (org.edx.mobile.module.db.IDatabase)1 ShadowActivity (org.robolectric.shadows.ShadowActivity)1