EditorialListPresenter implements Presenter { @VisibleForTesting public void handleSnackLogInClick() { view.getLifecycleEvent() .filter(lifecycleEvent -> lifecycleEvent.equals(View.LifecycleEvent.CREATE)) .flatMap(created -> view.snackLogInClick()) .doOnNext(homeEvent -> editorialListNavigator.navigateToLogIn()) .compose(view.bindUntilEvent(View.LifecycleEvent.DESTROY)) .subscribe(lifecycleEvent -> { }, crashReporter::log); } EditorialListPresenter(EditorialListView editorialListView,
      EditorialListManager editorialListManager, AptoideAccountManager accountManager,
      EditorialListNavigator editorialListNavigator, EditorialListAnalytics editorialListAnalytics,
      CrashReport crashReporter, Scheduler viewScheduler,
      UserFeedbackAnalytics userFeedbackAnalytics); @Override void present(); @VisibleForTesting void onCreateLoadViewModel(); @VisibleForTesting void loadUserImage(); @VisibleForTesting void handleEditorialCardClick(); @VisibleForTesting void handlePullToRefresh(); @VisibleForTesting void handleRetryClick(); @VisibleForTesting void handleImpressions(); @VisibleForTesting void handleBottomReached(); @VisibleForTesting void handleUserImageClick(); @VisibleForTesting void handleReactionButtonClick(); @VisibleForTesting void handleUserReaction(); @VisibleForTesting void handleSnackLogInClick();  }
@Test public void handleSnackLogInTest() { presenter.handleSnackLogInClick(); lifecycleEvent.onNext(View.LifecycleEvent.CREATE); snackLoginEvent.onNext(null); verify(editorialListNavigator).navigateToLogIn(); }