public List<PerspectiveActivity> getPerspectiveActivities() { final Set<PerspectiveActivity> activities = activityManager.getActivities(PerspectiveActivity.class); List<PerspectiveActivity> sortedActivitiesForDisplay = new ArrayList<>(activities); Collections.sort(sortedActivitiesForDisplay, (o1, o2) -> o1.getDefaultPerspectiveLayout().getName().compareTo(o2.getDefaultPerspectiveLayout().getName())); return sortedActivitiesForDisplay; }
protected void addPerspective(String perspectiveId, String optionLabel, boolean selected) { if (hasAccessToPerspective(perspectiveId) && !activityManager.getActivities(new DefaultPlaceRequest(perspectiveId)).isEmpty()) { view.addOption(optionLabel, perspectiveId, selected); } }
private WorkbenchScreenActivity createWorkbenchScreenActivity(final PlaceRequest emeraldCityPlace) { WorkbenchScreenActivity emeraldCityActivity = mock(WorkbenchScreenActivity.class); when(emeraldCityActivity.onMayClose()).thenReturn(true); when(emeraldCityActivity.preferredWidth()).thenReturn(555); when(emeraldCityActivity.preferredHeight()).thenReturn(-1); when(emeraldCityActivity.isType(ActivityResourceType.SCREEN.name())).thenReturn(true); when(activityManager.getActivities(emeraldCityPlace)) .thenReturn(singleton((Activity) emeraldCityActivity)); return emeraldCityActivity; }
private WorkbenchScreenActivity createWorkbenchScreenActivity(final PlaceRequest emeraldCityPlace) { WorkbenchScreenActivity emeraldCityActivity = mock(WorkbenchScreenActivity.class); when(emeraldCityActivity.onMayClose()).thenReturn(true); when(emeraldCityActivity.preferredWidth()).thenReturn(555); when(emeraldCityActivity.preferredHeight()).thenReturn(-1); when(emeraldCityActivity.isType(ActivityResourceType.SCREEN.name())).thenReturn(true); when(activityManager.getActivities(emeraldCityPlace)) .thenReturn(singleton((Activity) emeraldCityActivity)); return emeraldCityActivity; }
@Before public void setup() { when(perspectiveActivityMock.getIdentifier()).thenReturn(selected_Perspective); when(perspectiveManagerMock.getCurrentPerspective()).thenReturn(perspectiveActivityMock); when(view.getSelectedOption()).thenReturn(selected_Perspective); when(activityManagerMock.getActivities(any(DefaultPlaceRequest.class))).thenReturn(Sets.create(mock(Activity.class))); }
@Before public void setup() { when(perspectiveActivityMock.getIdentifier()).thenReturn(selected_Perspective); when(perspectiveManagerMock.getCurrentPerspective()).thenReturn(perspectiveActivityMock); when(view.getSelectedOption()).thenReturn(selected_Perspective); when(activityManagerMock.getActivities(any(DefaultPlaceRequest.class))).thenReturn(Sets.create(mock(Activity.class))); }
/** * Ensures that context activities can't be launched on their own (they should only launch as a side effect of launching * a place that they relate to). This test was moved here from the original test suite. */ @Test public void testContextActivityShouldNotLaunchOnItsOwn() throws Exception { final PlaceRequest somewhere = new DefaultPlaceRequest("Somewhere"); final ContextActivity activity = mock(ContextActivity.class); when(activityManager.getActivities(somewhere)).thenReturn(singleton((Activity) activity)); placeManager.goTo(somewhere); verify(activity, never()).onStartup(eq(somewhere)); verify(activity, never()).onOpen(); }
@Test public void testSplashScreenActivityShouldNotLaunch() throws Exception { final PlaceRequest somewhere = new DefaultPlaceRequest( "Somewhere" ); final AbstractSplashScreenActivity activity = mock( AbstractSplashScreenActivity.class ); HashSet<Activity> activities = new HashSet<Activity>( 1 ) {{ add( activity ); }}; when( activityManager.getActivities( somewhere ) ).thenReturn( activities ); placeManager = new PlaceManagerImplUnitTestWrapper( activity, panelManager ); placeManager.goTo( somewhere ); verify( activity , never()).launch( eq( somewhere ), any(Command.class)); }
@Test public void testAbstractWorkbenchContextActivityLaunch() throws Exception { final PlaceRequest somewhere = new DefaultPlaceRequest( "Somewhere" ); final AbstractWorkbenchContextActivity activity = mock( AbstractWorkbenchContextActivity.class ); HashSet<Activity> activities = new HashSet<Activity>( 1 ) {{ add( activity ); }}; when( activityManager.getActivities( somewhere ) ).thenReturn( activities ); placeManager = new PlaceManagerImplUnitTestWrapper( activity, panelManager ); placeManager.goTo( somewhere ); verify( activity , never()).launch( eq( somewhere ), any(Command.class)); }
@Test public void testPopUpLaunch() throws Exception { final PlaceRequest somewhere = new DefaultPlaceRequest( "Somewhere" ); final AbstractPopupActivity activity = mock( AbstractPopupActivity.class ); HashSet<Activity> activities = new HashSet<Activity>( 1 ) {{ add( activity ); }}; when( activityManager.getActivities( somewhere ) ).thenReturn( activities ); placeManager = new PlaceManagerImplUnitTestWrapper( activity, panelManager ); placeManager.goTo( somewhere ); verify( activity ).launch( eq( somewhere ), any(Command.class)); }
@Test public void testAbstractWorkbenchPerspectiveActivityLaunch() throws Exception { final PlaceRequest somewhere = new DefaultPlaceRequest( "Somewhere" ); final AbstractWorkbenchPerspectiveActivity perspectiveActivity = mock( AbstractWorkbenchPerspectiveActivity.class ); HashSet<Activity> activities = new HashSet<Activity>( 1 ) {{ add( perspectiveActivity ); }}; when( activityManager.getActivities( somewhere ) ).thenReturn( activities ); placeManager = new PlaceManagerImplUnitTestWrapper( perspectiveActivity, panelManager ); placeManager.goTo( somewhere ); verify( perspectiveActivity ).launch( eq( somewhere ), any( Command.class ) ); }
@Test public void testGoToNewPlaceById() throws Exception { PlaceRequest oz = new DefaultPlaceRequest("oz"); WorkbenchScreenActivity ozActivity = mock(WorkbenchScreenActivity.class); when(ozActivity.isType(ActivityResourceType.SCREEN.name())).thenReturn(true); when(ozActivity.isDynamic()).thenReturn(false); when(ozActivity.preferredWidth()).thenReturn(-1); when(ozActivity.preferredHeight()).thenReturn(-1); when(activityManager.getActivities(oz)).thenReturn(singleton((Activity) ozActivity)); placeManager.goTo(oz, (PanelDefinition) null); verifyActivityLaunchSideEffects(oz, ozActivity, null); }
@Test public void testGoToPlaceByPath() throws Exception { PathPlaceRequest yellowBrickRoad = new FakePathPlaceRequest(mock(ObservablePath.class)); WorkbenchScreenActivity ozActivity = mock(WorkbenchScreenActivity.class); when(ozActivity.isType(ActivityResourceType.SCREEN.name())).thenReturn(true); when(activityManager.getActivities(yellowBrickRoad)).thenReturn(singleton((Activity) ozActivity)); placeManager.goTo(yellowBrickRoad, (PanelDefinition) null); verifyActivityLaunchSideEffects(yellowBrickRoad, ozActivity, null); // special contract just for path-type place requests (subject to preference) verify(yellowBrickRoad.getPath(), never()).onDelete(any(Command.class)); }
@Test public void testLaunchingPopup() throws Exception { final PlaceRequest popupPlace = new DefaultPlaceRequest("Somewhere"); final AbstractPopupActivity popupActivity = mock(AbstractPopupActivity.class); when(activityManager.getActivities(popupPlace)).thenReturn(singleton((Activity) popupActivity)); when(popupActivity.isType(ActivityResourceType.POPUP.name())).thenReturn(true); placeManager.goTo(popupPlace); verify(popupActivity, never()).onStartup(any(PlaceRequest.class)); verify(popupActivity, times(1)).onOpen(); assertEquals(PlaceStatus.OPEN, placeManager.getStatus(popupPlace)); // TODO this test was moved here from the old test suite. it may not verify all required side effects of launching a popup. }
@Test public void testSplashScreenActivityLaunch() throws Exception { final PlaceRequest somewhere = new DefaultPlaceRequest( "Somewhere" ); final AbstractSplashScreenActivity splashScreenActivity = mock( AbstractSplashScreenActivity.class ); final AbstractWorkbenchPerspectiveActivity perspectiveActivity = mock( AbstractWorkbenchPerspectiveActivity.class ); HashSet<Activity> activities = new HashSet<Activity>( 1 ) {{ add( perspectiveActivity ); add( splashScreenActivity ); }}; when( activityManager.getActivities( somewhere ) ).thenReturn( activities ); placeManager = new PlaceManagerImplUnitTestWrapper( perspectiveActivity, panelManager, splashScreenActivity ); placeManager.goTo( somewhere ); verify( splashScreenActivity ).launch( eq( somewhere ), any( Command.class ) ); }
@Test public void testLaunchingPopupThatIsAlreadyOpen() throws Exception { final PlaceRequest popupPlace = new DefaultPlaceRequest("Somewhere"); final AbstractPopupActivity popupActivity = mock(AbstractPopupActivity.class); when(activityManager.getActivities(popupPlace)).thenReturn(singleton((Activity) popupActivity)); when(popupActivity.isType(ActivityResourceType.POPUP.name())).thenReturn(true); placeManager.goTo(popupPlace); placeManager.goTo(popupPlace); verify(popupActivity, never()).onStartup(any(PlaceRequest.class)); verify(popupActivity, times(1)).onOpen(); assertEquals(PlaceStatus.OPEN, placeManager.getStatus(popupPlace)); }
@Test public void testPopupCancelsClose() throws Exception { final PlaceRequest popupPlace = new DefaultPlaceRequest("Somewhere"); final AbstractPopupActivity popupActivity = mock(AbstractPopupActivity.class); when(popupActivity.onMayClose()).thenReturn(false); when(popupActivity.isType(ActivityResourceType.POPUP.name())).thenReturn(true); when(activityManager.getActivities(popupPlace)).thenReturn(singleton((Activity) popupActivity)); placeManager.goTo(popupPlace); placeManager.closePlace(popupPlace); verify(popupActivity, never()).onClose(); assertEquals(PlaceStatus.OPEN, placeManager.getStatus(popupPlace)); }
@Test public void testPopupCancelsClose() throws Exception { final PlaceRequest popupPlace = new DefaultPlaceRequest("Somewhere"); final AbstractPopupActivity popupActivity = mock(AbstractPopupActivity.class); when(popupActivity.onMayClose()).thenReturn(false); when(popupActivity.isType(ActivityResourceType.POPUP.name())).thenReturn(true); when(activityManager.getActivities(popupPlace)).thenReturn(singleton((Activity) popupActivity)); placeManager.goTo(popupPlace); placeManager.closePlace(popupPlace); verify(popupActivity, never()).onClose(); assertEquals(PlaceStatus.OPEN, placeManager.getStatus(popupPlace)); }
@Test public void testGoToConditionalPlaceById() throws Exception { PlaceRequest dora = new ConditionalPlaceRequest("dora").when(p -> true) .orElse(new DefaultPlaceRequest("other")); WorkbenchScreenActivity doraActivity = mock(WorkbenchScreenActivity.class); when(doraActivity.isType(ActivityResourceType.SCREEN.name())).thenReturn(true); when(activityManager.getActivities(dora)).thenReturn(singleton((Activity) doraActivity)); placeManager.goTo(dora); verifyActivityLaunchSideEffects(dora, doraActivity, null); }
@Test public void testGoToConditionalPlaceById() throws Exception { PlaceRequest dora = new ConditionalPlaceRequest("dora").when(p -> true) .orElse(new DefaultPlaceRequest("other")); WorkbenchScreenActivity doraActivity = mock(WorkbenchScreenActivity.class); when(doraActivity.isType(ActivityResourceType.SCREEN.name())).thenReturn(true); when(activityManager.getActivities(dora)).thenReturn(singleton((Activity) doraActivity)); placeManager.goTo(dora); verifyActivityLaunchSideEffects(dora, doraActivity, null); }