@Override public void execute() { placeManager.closeAllPlaces(); // would be preferable to close current perspective, which should be recursive } };
void closeAllPlaces() { closingLibraryPlaces = true; placeManager.closeAllPlaces(); closingLibraryPlaces = false; }
@Test public void closeAllPlacesOrNothingWithoutUncloseablePlacesTest() { final Command successCallback = mock(Command.class); final List<PlaceRequest> uncloseablePlaces = new ArrayList<>(); uncloseablePlaces.add(mock(PlaceRequest.class)); libraryPlaces.closeAllPlacesOrNothing(successCallback); verify(placeManager).closeAllPlaces(); verify(successCallback).execute(); verify(closeUnsavedProjectAssetsPopUpPresenter, never()).show(any(), any(), any(), any()); }
@Test public void goToNewProject() { final WorkspaceProject project = new WorkspaceProject(activeOrganizationalUnit, activeRepository, activeBranch, mock(Module.class)); final Branch lastOpenedBranch = new Branch("master", mock(Path.class)); doReturn(Optional.of(lastOpenedBranch)).when(libraryInternalPreferences).getLastBranchOpened(project); doReturn(activeProject).when(projectService).resolveProject(activeSpace, lastOpenedBranch); libraryPlaces.goToProject(project); verify(libraryPlaces).goToProject(project, lastOpenedBranch); verify(projectContextChangeEvent).fire(any(WorkspaceProjectContextChangeEvent.class)); verify(placeManager).closeAllPlaces(); }
public void closeAllPlacesOrNothing(final Command successCallback) { closingLibraryPlaces = true; final List<PlaceRequest> uncloseablePlaces = placeManager.getUncloseablePlaces(); if (uncloseablePlaces != null && uncloseablePlaces.isEmpty()) { placeManager.closeAllPlaces(); closingLibraryPlaces = false; if (successCallback != null) { successCallback.execute(); } } else { final Command newSuccessCallback = () -> { placeManager.forceCloseAllPlaces(); closingLibraryPlaces = false; if (successCallback != null) { successCallback.execute(); } }; closeUnsavedProjectAssetsPopUpPresenter.show(getActiveWorkspace(), uncloseablePlaces, newSuccessCallback, () -> placeManager.goTo(uncloseablePlaces.get(0))); } }
@Test public void goToOrganizationalUnitsTest() { final PlaceRequest placeRequest = new DefaultPlaceRequest(LibraryPlaces.ORGANIZATIONAL_UNITS_SCREEN); final PartDefinitionImpl part = new PartDefinitionImpl(placeRequest); part.setSelectable(false); libraryPlaces.goToOrganizationalUnits(); verify(projectContextChangeEvent).fire(projectContextChangeEventArgumentCaptor.capture()); assertNull(projectContextChangeEventArgumentCaptor.getValue().getOrganizationalUnit()); final ArgumentCaptor<WorkspaceProjectContextChangeEvent> eventArgumentCaptor = ArgumentCaptor.forClass(WorkspaceProjectContextChangeEvent.class); verify(projectContextChangeEvent).fire(eventArgumentCaptor.capture()); final WorkspaceProjectContextChangeEvent event = eventArgumentCaptor.getValue(); assertNull(event.getOrganizationalUnit()); assertNull(event.getWorkspaceProject()); verify(placeManager).closeAllPlaces(); verify(placeManager).goTo(eq(part), any(PanelDefinition.class)); verify(libraryBreadcrumbs).setupForSpacesScreen(); }