private void doSend() { ((EditText) activity.findViewById(R.id.edittext_body)).setText("Reply"); shadowOf(activity).clickMenuItem(R.id.menu_send); verify(userServices).reply(any(Context.class), eq("1"), eq("Reply"), replyCallback.capture()); } }
@Test public void testExport() { shadowOf(activity).clickMenuItem(R.id.menu_export); verify(favoriteManager).export(any(Context.class), any()); }
@Test public void testGuidelines() { shadowOf(activity).clickMenuItem(R.id.menu_guidelines); assertNotNull(ShadowAlertDialog.getLatestAlertDialog()); }
@Test public void testMissingInput() { shadowOf(activity).clickMenuItem(R.id.menu_send); ((EditText) activity.findViewById(R.id.edittext_title)).setText("title"); shadowOf(activity).clickMenuItem(R.id.menu_send); ((EditText) activity.findViewById(R.id.edittext_title)).setText(null); ((EditText) activity.findViewById(R.id.edittext_content)).setText("content"); verify(userServices, never()).submit(any(Context.class), any(), any(), anyBoolean(), any(UserServices.Callback.class)); assertThat(activity).isNotFinishing(); }
@Test public void testSaveDiscardDraft() { ((EditText) activity.findViewById(R.id.edittext_body)).setText("Reply"); shadowOf(activity).clickMenuItem(R.id.menu_save_draft); assertThat(Preferences.getDraft(activity, "1")).contains("Reply"); shadowOf(activity).clickMenuItem(R.id.menu_discard_draft); assertThat(Preferences.getDraft(activity, "1")).isNullOrEmpty(); } @Test
@Test public void testDelayedError() { doSend(); shadowOf(activity).clickMenuItem(android.R.id.home); replyCallback.getValue().onError(new IOException()); assertEquals(activity.getString(R.string.comment_failed), ShadowToast.getTextOfLatestToast()); }
@Test public void testClearRecentSearches() { ShadowSearchRecentSuggestions.historyClearCount = 0; assertNotNull(shadowOf(activity).getOptionsMenu().findItem(R.id.menu_clear_recent)); shadowOf(activity).clickMenuItem(R.id.menu_clear_recent); AlertDialog alertDialog = ShadowAlertDialog.getLatestAlertDialog(); assertNotNull(alertDialog); alertDialog.getButton(DialogInterface.BUTTON_POSITIVE).performClick(); assertEquals(1, ShadowSearchRecentSuggestions.historyClearCount); }
@Test public void testSendEmpty() { shadowOf(activity).clickMenuItem(R.id.menu_send); assertEquals(activity.getString(R.string.comment_required), ShadowToast.getTextOfLatestToast()); }
@Test public void testClearDrafts() { Preferences.saveDraft(activity, "1", "draft"); shadowOf(activity).clickMenuItem(R.id.menu_clear_drafts); assertThat(Preferences.getDraft(activity, "1")).isNullOrEmpty(); }
@Test public void testExitSaveDraft() { ((EditText) activity.findViewById(R.id.edittext_body)).setText("Reply"); shadowOf(activity).clickMenuItem(android.R.id.home); AlertDialog alertDialog = ShadowAlertDialog.getLatestAlertDialog(); assertNotNull(alertDialog); alertDialog.getButton(DialogInterface.BUTTON_POSITIVE).performClick(); assertThat(activity).isFinishing(); assertThat(Preferences.getDraft(activity, "1")).contains("Reply"); }
@Test public void testGuidelines() { shadowOf(activity).clickMenuItem(R.id.menu_guidelines); assertNotNull(ShadowAlertDialog.getLatestAlertDialog()); }
@Test public void testHomeButtonClick() { shadowOf(activity).clickMenuItem(android.R.id.home); assertThat(activity).isFinishing(); }
@Test public void testHomePressed() { shadowOf(activity).clickMenuItem(android.R.id.home); assertThat(activity).isFinishing(); }
@Test public void testQuote() { assertTrue(shadowOf(activity).getOptionsMenu().findItem(R.id.menu_quote).isVisible()); ((EditText) activity.findViewById(R.id.edittext_body)).setText("Reply"); shadowOf(activity).clickMenuItem(R.id.menu_quote); assertThat((EditText) activity.findViewById(R.id.edittext_body)) .hasTextString("> Paragraph 1\n\n> Paragraph 2\n\nReply"); }
@Test public void testExitDiscardDraft() { ((EditText) activity.findViewById(R.id.edittext_body)).setText("Reply"); shadowOf(activity).clickMenuItem(android.R.id.home); AlertDialog alertDialog = ShadowAlertDialog.getLatestAlertDialog(); assertNotNull(alertDialog); alertDialog.getButton(DialogInterface.BUTTON_NEGATIVE).performClick(); assertThat(activity).isFinishing(); assertThat(Preferences.getDraft(activity, "1")).isNullOrEmpty(); }
@Test public void testDelayedSuccessfulResponse() { doSend(); shadowOf(activity).clickMenuItem(android.R.id.home); assertThat(activity).isFinishing(); replyCallback.getValue().onDone(true); assertEquals(activity.getString(R.string.comment_successful), ShadowToast.getTextOfLatestToast()); }
@Test public void testFilter() { shadowOf(activity).clickMenuItem(menuResId); verify(itemManager, atLeastOnce()).getStories(eq(expectedRange), eq(ItemManager.MODE_DEFAULT)); assertThat(activity.getSupportActionBar()).hasSubtitle(expectedSubtitleResId); assertEquals(expectedRange, Preferences.getPopularRange(activity)); Bundle savedState = new Bundle(); activity.onSaveInstanceState(savedState); controller = Robolectric.buildActivity(PopularActivity.class); activity = controller.create(savedState).start().resume().visible().get(); assertThat(activity.getSupportActionBar()).hasSubtitle(expectedSubtitleResId); }
@Test public void testDelayedFailedResponse() { doSend(); shadowOf(activity).clickMenuItem(android.R.id.home); replyCallback.getValue().onDone(false); assertNull(shadowOf(activity).getNextStartedActivity()); }
@Test public void testSubmitText() { ((EditText) activity.findViewById(R.id.edittext_title)).setText("title"); ((EditText) activity.findViewById(R.id.edittext_content)).setText("content"); shadowOf(activity).clickMenuItem(R.id.menu_send); AlertDialog alertDialog = ShadowAlertDialog.getLatestAlertDialog(); assertNotNull(alertDialog); assertEquals(activity.getString(R.string.confirm_submit_question), shadowOf(alertDialog).getMessage()); }
@SuppressLint("InlinedApi") @Before public void setUp() { controller = Robolectric.buildActivity(TestListActivity.class) .create() .postCreate(null) .start() .resume() .visible(); activity = controller.get(); shadowOf(activity).clickMenuItem(android.R.id.home); }