@Config(shadows = {ShadowRecyclerView.class, ShadowItemTouchHelper.class}) @Test public void testSwipeToDelete() { RecyclerView.ViewHolder holder = shadowAdapter.getViewHolder(0); customShadowOf(recyclerView).getItemTouchHelperCallback() .onSwiped(holder, ItemTouchHelper.LEFT); verify(favoriteManager).remove(any(Context.class), anyCollection()); when(favoriteManager.getSize()).thenReturn(1); observerCaptor.getValue().onChanged(); assertEquals(1, adapter.getItemCount()); assertThat((TextView) activity.findViewById(R.id.snackbar_text)) .isNotNull() .containsText(R.string.toast_removed); activity.findViewById(R.id.snackbar_action).performClick(); verify(favoriteManager).add(any(Context.class), any(WebItem.class)); when(favoriteManager.getSize()).thenReturn(2); observerCaptor.getValue().onChanged(); assertEquals(2, adapter.getItemCount()); }
@Test public void testRefreshQuery() { RuntimeEnvironment.application.getSharedPreferences("WidgetConfiguration_" + appWidgetId, MODE_PRIVATE) .edit() .putString(RuntimeEnvironment.application.getString(R.string.pref_widget_theme), RuntimeEnvironment.application.getString(R.string.pref_widget_theme_value_light)) .putString(RuntimeEnvironment.application.getString(R.string.pref_widget_query), "Google") .apply(); widgetProvider.onReceive(RuntimeEnvironment.application, new Intent(BuildConfig.APPLICATION_ID + ".ACTION_REFRESH_WIDGET") .putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId)); View view = shadowOf(widgetManager).getViewFor(appWidgetId); assertThat((TextView) view.findViewById(R.id.title)) .containsText("Google"); assertThat((TextView) view.findViewById(R.id.subtitle)) .doesNotContainText(R.string.loading_text); } }
@Test public void testUpdateBest() { RuntimeEnvironment.application.getSharedPreferences("WidgetConfiguration_" + appWidgetId, MODE_PRIVATE) .edit() .putString(RuntimeEnvironment.application.getString(R.string.pref_widget_theme), RuntimeEnvironment.application.getString(R.string.pref_widget_theme_value_dark)) .putString(RuntimeEnvironment.application.getString(R.string.pref_widget_section), RuntimeEnvironment.application.getString(R.string.pref_widget_section_value_best)) .apply(); widgetProvider.onReceive(RuntimeEnvironment.application, new Intent(AppWidgetManager.ACTION_APPWIDGET_UPDATE) .putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, new int[]{appWidgetId})); View view = shadowOf(widgetManager).getViewFor(appWidgetId); assertThat((TextView) view.findViewById(R.id.title)) .containsText(R.string.title_activity_best); assertThat((TextView) view.findViewById(R.id.subtitle)) .doesNotContainText(R.string.loading_text); }
Assertions.assertThat((TextView) snackbarView.findViewById(R.id.snackbar_text)) .isNotNull() .containsText(activity.getResources().getQuantityString(R.plurals.new_stories_count, 1, 1)); snackbarView.findViewById(R.id.snackbar_action).performClick(); assertEquals(1, ((RecyclerView) activity.findViewById(R.id.recycler_view)).getAdapter().getItemCount()); Assertions.assertThat((TextView) snackbarView.findViewById(R.id.snackbar_text)) .isNotNull() .containsText(activity.getResources().getQuantityString(R.plurals.showing_new_stories, 1, 1)); snackbarView.findViewById(R.id.snackbar_action).performClick(); assertEquals(2, ((RecyclerView) activity.findViewById(R.id.recycler_view)).getAdapter().getItemCount());
assertThat((TextView) snackbarView.findViewById(R.id.snackbar_text)) .isNotNull() .containsText(R.string.toast_saved); snackbarView.findViewById(R.id.snackbar_action).performClick(); verify(favoriteManager).remove(any(Context.class), eq("1"));
RecyclerView.ViewHolder viewHolder = customShadowOf(recyclerView.getAdapter()).getViewHolder(1); assertThat((TextView) viewHolder.itemView.findViewById(R.id.posted)) .containsText(activity.getResources().getQuantityString(R.plurals.score, 46, 46)); assertThat((TextView) viewHolder.itemView.findViewById(R.id.title)) .isVisible()
assertThat((TextView) activity.findViewById(R.id.snackbar_text)) .isNotNull() .containsText(R.string.toast_removed); activity.findViewById(R.id.snackbar_action).performClick(); MaterialisticDatabase.getInstance(RuntimeEnvironment.application).setLiveValue(MaterialisticDatabase