ExecutionErrorListPresenter extends AbstractMultiGridPresenter<ExecutionErrorSummary, ExecutionErrorListPresenter.ExecutionErrorListView> { public void setupDetailBreadcrumb(String detailLabel) { setupDetailBreadcrumb(placeManager, commonConstants.Manage_ExecutionErrors(), detailLabel, PerspectiveIds.EXECUTION_ERROR_DETAILS_SCREEN); }  void createListBreadcrumb(); void setupDetailBreadcrumb(String detailLabel); void acknowledgeExecutionError(final String executionErrorId,
                                          final String deploymentId); void goToJob(ExecutionErrorSummary errorSummary); Predicate<ExecutionErrorSummary> getAcknowledgeActionCondition(); Predicate<ExecutionErrorSummary> getViewJobActionCondition(); Predicate<ExecutionErrorSummary> getViewProcessInstanceActionCondition(); Predicate<ExecutionErrorSummary> getViewTaskActionCondition(); void goToProcessInstance(final ExecutionErrorSummary errorSummary); void goToTask(final ExecutionErrorSummary errorSummary); void bulkAcknowledge(List<ExecutionErrorSummary> execErrorsSelected); @WorkbenchMenu void getMenus(final Consumer<Menus> menusConsumer); @Override void selectSummaryItem(final ExecutionErrorSummary summary); @Inject void setFilterSettingsManager(final ExecutionErrorListFilterSettingsManager filterSettingsManager); @Inject void setExecutorService(final Caller<ExecutorService> executorService); @Override void setupActiveSearchFilters(); @Override boolean existActiveSearchFilters(); @Override ActiveFilterItem getActiveFilterFromColumnFilter(ColumnFilter columnFilter); String getStatusColumnFilterDescription(ColumnFilter columnFilter); String getTypeColumnFilterDescription(ColumnFilter columnFilter); void setExecutionErrorSelectedEvent(Event<ExecutionErrorSelectedEvent> executionErrorSelectedEvent);  }
@Test public void testSetupDetailBreadcrumb() { String detailLabel = "detailLabel"; String detailScreenId = "screenId"; PlaceManager placeManagerMock = mock(PlaceManager.class); presenter.setPlaceManager(placeManagerMock); presenter.setupDetailBreadcrumb(placeManagerMock, commonConstants.Manage_ExecutionErrors(), detailLabel, detailScreenId); ArgumentCaptor<Command> captureCommand = ArgumentCaptor.forClass(Command.class); verify(breadcrumbs).clearBreadcrumbs(PERSPECTIVE_ID); verify(breadcrumbs).addBreadCrumb(eq(PERSPECTIVE_ID), eq(commonConstants.Home()), captureCommand.capture()); captureCommand.getValue().execute(); verify(placeManagerMock).goTo(PerspectiveIds.HOME); verify(breadcrumbs).addBreadCrumb(eq(PERSPECTIVE_ID), eq(commonConstants.Manage_ExecutionErrors()), captureCommand.capture()); captureCommand.getValue().execute(); verify(placeManagerMock).closePlace(detailScreenId); verify(breadcrumbs).addBreadCrumb(eq(PERSPECTIVE_ID), eq(detailLabel), eq(Commands.DO_NOTHING)); }