TaskListPresenter extends AbstractTaskListPresenter<TaskListViewImpl> { @Override public void setupDetailBreadcrumb(String detailLabel) { setupDetailBreadcrumb(placeManager, org.jbpm.workbench.common.client.resources.i18n.Constants.INSTANCE.Task_Inbox(), detailLabel, PerspectiveIds.TASK_DETAILS_SCREEN); }  @WorkbenchPartTitle String getTitle(); @WorkbenchPartTitleDecoration IsWidget getTitleDecorator(); @WorkbenchMenu void getMenus(final Consumer<Menus> menusConsumer); @Override void createListBreadcrumb(); @Override void setupDetailBreadcrumb(String detailLabel); @Inject void setFilterSettingsManager(final TaskListFilterSettingsManager filterSettingsManager); Predicate<String> getFilterEventPredicate();  }
@Test public void testSetupDetailBreadcrumb() { String detailLabel = "detailLabel"; String detailScreenId = "screenId"; PlaceManager placeManagerMock = mock(PlaceManager.class); presenter.setPlaceManager(placeManagerMock); presenter.setupDetailBreadcrumb(placeManagerMock, commonConstants.Task_Inbox(), 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.Task_Inbox()), captureCommand.capture()); captureCommand.getValue().execute(); verify(placeManagerMock).closePlace(detailScreenId); verify(breadcrumbs).addBreadCrumb(eq(PERSPECTIVE_ID), eq(detailLabel), eq(Commands.DO_NOTHING)); }