### Question:
ChangeRequestReviewScreenPresenter { public void reopen() { if (isUserAuthor()) { reopenChangeRequestAction(); } } @Inject  ChangeRequestReviewScreenPresenter(final View view,
                                              final TranslationService ts,
                                              final LibraryPlaces libraryPlaces,
                                              final Caller<ChangeRequestService> changeRequestService,
                                              final Caller<RepositoryService> repositoryService,
                                              final BusyIndicatorView busyIndicatorView,
                                              final OverviewScreenPresenter overviewScreen,
                                              final ChangedFilesScreenPresenter changedFilesScreen,
                                              final Promises promises,
                                              final ProjectController projectController,
                                              final Event<NotificationEvent> notificationEvent,
                                              final SessionInfo sessionInfo,
                                              final SquashChangeRequestPopUpPresenter squashChangeRequestPopUpPresenter); @PostConstruct void postConstruct(); void refreshOnFocus(@Observes final SelectPlaceEvent selectPlaceEvent); void onChangeRequestUpdated(@Observes final ChangeRequestUpdatedEvent event); void onChangeRequestStatusUpdated(@Observes final ChangeRequestStatusUpdatedEvent event); void onRepositoryFileListUpdated(@Observes final RepositoryFileListUpdatedEvent event); void onRepositoryUpdated(@Observes final RepositoryUpdatedEvent event); @WorkbenchPartTitle String getTitle(); @WorkbenchPartView View getView(); void showOverviewContent(); void showChangedFilesContent(); void cancel(); void reject(); void squash(); void merge(); void revert(); void close(); void reopen();  }### Answer:
@Test public void reopenWhenIsAuthorTest() throws NoSuchFieldException { new FieldSetter(presenter, ChangeRequestReviewScreenPresenter.class.getDeclaredField("workspaceProject")) .set(workspaceProject); new FieldSetter(presenter, ChangeRequestReviewScreenPresenter.class.getDeclaredField("repository")) .set(repository); new FieldSetter(presenter, ChangeRequestReviewScreenPresenter.class.getDeclaredField("authorId")).set("admin"); presenter.reopen(); verify(changeRequestService).reopenChangeRequest(anyString(), anyString(), anyLong()); }
@Test public void reopenWhenIsNotAuthorTest() throws NoSuchFieldException { new FieldSetter(presenter, ChangeRequestReviewScreenPresenter.class.getDeclaredField("workspaceProject")) .set(workspaceProject); new FieldSetter(presenter, ChangeRequestReviewScreenPresenter.class.getDeclaredField("repository")) .set(repository); new FieldSetter(presenter, ChangeRequestReviewScreenPresenter.class.getDeclaredField("authorId")).set("developer"); presenter.reopen(); verify(changeRequestService, never()).reopenChangeRequest(anyString(), anyString(), anyLong()); }