@Test public void testSwitchingFromPerspectiveToSelf() throws Exception { PerspectiveActivity ozPerspectiveActivity = mock(PerspectiveActivity.class); PlaceRequest ozPerspectivePlace = new DefaultPlaceRequest("oz_perspective"); PerspectiveDefinition ozPerspectiveDef = new PerspectiveDefinitionImpl(); when(activityManager.getActivities(ozPerspectivePlace)) .thenReturn(singleton((Activity) ozPerspectiveActivity)); when(ozPerspectiveActivity.getDefaultPerspectiveLayout()).thenReturn(ozPerspectiveDef); when(ozPerspectiveActivity.getPlace()).thenReturn(ozPerspectivePlace); when(ozPerspectiveActivity.isType(ActivityResourceType.PERSPECTIVE.name())).thenReturn(true); when(ozPerspectiveActivity.getIdentifier()).thenReturn("oz_perspective"); // we'll pretend we started in oz when(perspectiveManager.getCurrentPerspective()).thenReturn(ozPerspectiveActivity); final BiParameterizedCommand<Command, PlaceRequest> closeChain = mock(BiParameterizedCommand.class); placeManager.registerPerspectiveCloseChain("oz_perspective", closeChain); placeManager.goTo(ozPerspectivePlace); verify(closeChain, never()).execute(any(), any()); // verify no side effects (should stay put) verify(ozPerspectiveActivity, never()).onOpen(); verify(perspectiveManager, never()).savePerspectiveState(any(Command.class)); verify(perspectiveManager, never()) .switchToPerspective(any(PlaceRequest.class), any(PerspectiveActivity.class), any(ParameterizedCommand.class)); }
@Test public void testAddContextMenuWithoutPermission() { final Menus contextMenus = MenuFactory.newSimpleItem(NAME).endMenu().build(); final PerspectiveActivity activity = mock(PerspectiveActivity.class); final PlaceRequest placeRequest = mock(PlaceRequest.class); when(activity.getIdentifier()).thenReturn(PERSPECTIVE_ID); when(activity.getMenus()).thenReturn(contextMenus); when(activity.isType(ActivityResourceType.PERSPECTIVE.name())).thenReturn(true); when(authzManager.authorize(contextMenus.getItems().get(0), identity)).thenReturn(false); when(activityManager.getActivity(placeRequest)).thenReturn(activity); presenter.onPerspectiveChange(new PerspectiveChange(placeRequest, null, contextMenus, PERSPECTIVE_ID)); verify(authzManager).authorize(contextMenus.getItems().get(0), identity); verify(view).clearContextMenu(); verify(view, never()).addContextMenuItem(anyString(), anyString(), anyString(), anyString(), any(Command.class), any(MenuPosition.class)); }
@Test public void testSetupEnableDisableContextMenuItem() { final Menus contextMenus = MenuFactory.newSimpleItem(NAME).endMenu().build(); final PerspectiveActivity activity = mock(PerspectiveActivity.class); final PlaceRequest placeRequest = mock(PlaceRequest.class); when(activity.getIdentifier()).thenReturn(PERSPECTIVE_ID); when(activity.getMenus()).thenReturn(contextMenus); when(activity.isType(ActivityResourceType.PERSPECTIVE.name())).thenReturn(true); when(authzManager.authorize(contextMenus.getItems().get(0), identity)).thenReturn(true); when(activityManager.getActivity(placeRequest)).thenReturn(activity); presenter.onPerspectiveChange(new PerspectiveChange(placeRequest, null, contextMenus, PERSPECTIVE_ID)); verify(view).enableContextMenuItem(anyString(), eq(true)); contextMenus.getItems().get(0).setEnabled(true); verify(view, times(2)).enableContextMenuItem(anyString(), eq(true)); contextMenus.getItems().get(0).setEnabled(false); verify(view).enableContextMenuItem(anyString(), eq(false)); }
@Test public void testSetupEnableDisableContextMenuItem() { final Menus contextMenus = MenuFactory.newSimpleItem(NAME).endMenu().build(); final PerspectiveActivity activity = mock(PerspectiveActivity.class); final PlaceRequest placeRequest = mock(PlaceRequest.class); when(activity.getIdentifier()).thenReturn(PERSPECTIVE_ID); when(activity.getMenus()).thenReturn(contextMenus); when(activity.isType(ActivityResourceType.PERSPECTIVE.name())).thenReturn(true); when(authzManager.authorize(contextMenus.getItems().get(0), identity)).thenReturn(true); when(activityManager.getActivity(placeRequest)).thenReturn(activity); presenter.onPerspectiveChange(new PerspectiveChange(placeRequest, null, contextMenus, PERSPECTIVE_ID)); verify(view).enableContextMenuItem(anyString(), eq(true)); contextMenus.getItems().get(0).setEnabled(true); verify(view, times(2)).enableContextMenuItem(anyString(), eq(true)); contextMenus.getItems().get(0).setEnabled(false); verify(view).enableContextMenuItem(anyString(), eq(false)); }
@Test public void testAddContextMenuWithoutPermission() { final Menus contextMenus = MenuFactory.newSimpleItem(NAME).endMenu().build(); final PerspectiveActivity activity = mock(PerspectiveActivity.class); final PlaceRequest placeRequest = mock(PlaceRequest.class); when(activity.getIdentifier()).thenReturn(PERSPECTIVE_ID); when(activity.getMenus()).thenReturn(contextMenus); when(activity.isType(ActivityResourceType.PERSPECTIVE.name())).thenReturn(true); when(authzManager.authorize(contextMenus.getItems().get(0), identity)).thenReturn(false); when(activityManager.getActivity(placeRequest)).thenReturn(activity); presenter.onPerspectiveChange(new PerspectiveChange(placeRequest, null, contextMenus, PERSPECTIVE_ID)); verify(authzManager).authorize(contextMenus.getItems().get(0), identity); verify(view).clearContextMenu(); verify(presenter, never()).addContextMenuItem(anyString(), anyString(), anyString(), anyString(), any(Command.class), any(MenuPosition.class)); }
@Test public void testAddContextMenuWithoutPermission() { final Menus contextMenus = MenuFactory.newSimpleItem(NAME).endMenu().build(); final PerspectiveActivity activity = mock(PerspectiveActivity.class); final PlaceRequest placeRequest = mock(PlaceRequest.class); when(activity.getIdentifier()).thenReturn(PERSPECTIVE_ID); when(activity.getMenus()).thenReturn(contextMenus); when(activity.isType(ActivityResourceType.PERSPECTIVE.name())).thenReturn(true); when(authzManager.authorize(contextMenus.getItems().get(0), identity)).thenReturn(false); when(activityManager.getActivity(placeRequest)).thenReturn(activity); presenter.onPerspectiveChange(new PerspectiveChange(placeRequest, null, contextMenus, PERSPECTIVE_ID)); verify(authzManager).authorize(contextMenus.getItems().get(0), identity); verify(view).clearContextMenu(); verify(view, never()).addContextMenuItem(anyString(), anyString(), anyString(), anyString(), any(Command.class), any(MenuPosition.class)); }
@Test public void testAddContextMenuWithoutPermission() { final Menus contextMenus = MenuFactory.newSimpleItem(NAME).endMenu().build(); final PerspectiveActivity activity = mock(PerspectiveActivity.class); final PlaceRequest placeRequest = mock(PlaceRequest.class); when(activity.getIdentifier()).thenReturn(PERSPECTIVE_ID); when(activity.getMenus()).thenReturn(contextMenus); when(activity.isType(ActivityResourceType.PERSPECTIVE.name())).thenReturn(true); when(authzManager.authorize(contextMenus.getItems().get(0), identity)).thenReturn(false); when(activityManager.getActivity(placeRequest)).thenReturn(activity); presenter.onPerspectiveChange(new PerspectiveChange(placeRequest, null, contextMenus, PERSPECTIVE_ID)); verify(authzManager).authorize(contextMenus.getItems().get(0), identity); verify(view).clearContextMenu(); verify(presenter, never()).addContextMenuItem(anyString(), anyString(), anyString(), anyString(), any(Command.class), any(MenuPosition.class)); }
@Test public void testSetupEnableDisableContextMenuItem() { final String contextLabel = "contextLabel"; final String perspectiveId = "perspectiveId"; final Menus contextMenus = MenuFactory.newSimpleItem(contextLabel).endMenu().build(); final PerspectiveActivity activity = mock(PerspectiveActivity.class); final PlaceRequest placeRequest = mock(PlaceRequest.class); when(activity.getIdentifier()).thenReturn(perspectiveId); when(activity.getMenus()).thenReturn(contextMenus); when(activity.isType(ActivityResourceType.PERSPECTIVE.name())).thenReturn(true); when(authzManager.authorize(contextMenus.getItems().get(0), identity)).thenReturn(true); when(activityManager.getActivity(placeRequest)).thenReturn(activity); presenter.onPerspectiveChange(new PerspectiveChange(placeRequest, null, contextMenus, perspectiveId)); verify(presenter).enableContextMenuItem(anyString(), eq(true)); contextMenus.getItems().get(0).setEnabled(true); verify(presenter, times(2)).enableContextMenuItem(anyString(), eq(true)); contextMenus.getItems().get(0).setEnabled(false); verify(presenter).enableContextMenuItem(anyString(), eq(false)); }
@Test public void testSetupEnableDisableContextMenuItem() { final String contextLabel = "contextLabel"; final String perspectiveId = "perspectiveId"; final Menus contextMenus = MenuFactory.newSimpleItem(contextLabel).endMenu().build(); final PerspectiveActivity activity = mock(PerspectiveActivity.class); final PlaceRequest placeRequest = mock(PlaceRequest.class); when(activity.getIdentifier()).thenReturn(perspectiveId); when(activity.getMenus()).thenReturn(contextMenus); when(activity.isType(ActivityResourceType.PERSPECTIVE.name())).thenReturn(true); when(authzManager.authorize(contextMenus.getItems().get(0), identity)).thenReturn(true); when(activityManager.getActivity(placeRequest)).thenReturn(activity); presenter.onPerspectiveChange(new PerspectiveChange(placeRequest, null, contextMenus, perspectiveId)); verify(presenter).enableContextMenuItem(anyString(), eq(true)); contextMenus.getItems().get(0).setEnabled(true); verify(presenter, times(2)).enableContextMenuItem(anyString(), eq(true)); contextMenus.getItems().get(0).setEnabled(false); verify(presenter).enableContextMenuItem(anyString(), eq(false)); }
@Test public void testAddContextMenuWithPermission() { final MenuPosition position = MenuPosition.LEFT; final Menus contextMenus = MenuFactory.newSimpleItem(NAME).endMenu().build(); final PerspectiveActivity activity = mock(PerspectiveActivity.class); final PlaceRequest placeRequest = mock(PlaceRequest.class); when(activity.getIdentifier()).thenReturn(PERSPECTIVE_ID); when(activity.getMenus()).thenReturn(contextMenus); when(activity.isType(ActivityResourceType.PERSPECTIVE.name())).thenReturn(true); when(authzManager.authorize(contextMenus.getItems().get(0), identity)).thenReturn(true); when(activityManager.getActivity(placeRequest)).thenReturn(activity); presenter.onPerspectiveChange(new PerspectiveChange(placeRequest, null, contextMenus, PERSPECTIVE_ID)); verify(authzManager).authorize(contextMenus.getItems().get(0), identity); verify(view).clearContextMenu(); verify(view).addContextMenuItem(eq(PERSPECTIVE_ID), anyString(), eq(NAME), isNull(String.class), any(Command.class), eq(position)); }
@Test public void testAddContextMenuWithPermission() { final MenuPosition position = MenuPosition.LEFT; final Menus contextMenus = MenuFactory.newSimpleItem(NAME).endMenu().build(); final PerspectiveActivity activity = mock(PerspectiveActivity.class); final PlaceRequest placeRequest = mock(PlaceRequest.class); when(activity.getIdentifier()).thenReturn(PERSPECTIVE_ID); when(activity.getMenus()).thenReturn(contextMenus); when(activity.isType(ActivityResourceType.PERSPECTIVE.name())).thenReturn(true); when(authzManager.authorize(contextMenus.getItems().get(0), identity)).thenReturn(true); when(activityManager.getActivity(placeRequest)).thenReturn(activity); presenter.onPerspectiveChange(new PerspectiveChange(placeRequest, null, contextMenus, PERSPECTIVE_ID)); verify(authzManager).authorize(contextMenus.getItems().get(0), identity); verify(view).clearContextMenu(); verify(presenter).addContextMenuItem(eq(PERSPECTIVE_ID), anyString(), eq(NAME), isNull(String.class), any(Command.class), eq(position)); }
@Test public void testAddContextMenuWithPermission() { final MenuPosition position = MenuPosition.LEFT; final Menus contextMenus = MenuFactory.newSimpleItem(NAME).endMenu().build(); final PerspectiveActivity activity = mock(PerspectiveActivity.class); final PlaceRequest placeRequest = mock(PlaceRequest.class); when(activity.getIdentifier()).thenReturn(PERSPECTIVE_ID); when(activity.getMenus()).thenReturn(contextMenus); when(activity.isType(ActivityResourceType.PERSPECTIVE.name())).thenReturn(true); when(authzManager.authorize(contextMenus.getItems().get(0), identity)).thenReturn(true); when(activityManager.getActivity(placeRequest)).thenReturn(activity); presenter.onPerspectiveChange(new PerspectiveChange(placeRequest, null, contextMenus, PERSPECTIVE_ID)); verify(authzManager).authorize(contextMenus.getItems().get(0), identity); verify(view).clearContextMenu(); verify(presenter).addContextMenuItem(eq(PERSPECTIVE_ID), anyString(), eq(NAME), isNull(String.class), any(Command.class), eq(position)); }
@Test public void testAddContextMenuWithPermission() { final MenuPosition position = MenuPosition.LEFT; final Menus contextMenus = MenuFactory.newSimpleItem(NAME).endMenu().build(); final PerspectiveActivity activity = mock(PerspectiveActivity.class); final PlaceRequest placeRequest = mock(PlaceRequest.class); when(activity.getIdentifier()).thenReturn(PERSPECTIVE_ID); when(activity.getMenus()).thenReturn(contextMenus); when(activity.isType(ActivityResourceType.PERSPECTIVE.name())).thenReturn(true); when(authzManager.authorize(contextMenus.getItems().get(0), identity)).thenReturn(true); when(activityManager.getActivity(placeRequest)).thenReturn(activity); presenter.onPerspectiveChange(new PerspectiveChange(placeRequest, null, contextMenus, PERSPECTIVE_ID)); verify(authzManager).authorize(contextMenus.getItems().get(0), identity); verify(view).clearContextMenu(); verify(view).addContextMenuItem(eq(PERSPECTIVE_ID), anyString(), eq(NAME), isNull(String.class), any(Command.class), eq(position)); }
@Test public void testPerspectiveChangeEvent() { final Menus menus = MenuFactory.newSimpleItem(NAME).perspective(PERSPECTIVE_ID).endMenu().build(); final PlaceRequest placeRequest = new DefaultPlaceRequest(PERSPECTIVE_ID); final PerspectiveActivity perspectiveActivity = mock(PerspectiveActivity.class); final PerspectiveChange perspectiveChange = new PerspectiveChange(placeRequest, null, null, PERSPECTIVE_ID); when(perspectiveActivity.getPlace()).thenReturn(placeRequest); when(perspectiveActivity.isType(ActivityResourceType.PERSPECTIVE.name())).thenReturn(true); when(authzManager.authorize(any(Resource.class), eq(identity))).thenReturn(true); presenter.addMenus(menus); presenter.onPerspectiveChange(perspectiveChange); verify(view).selectMenuItem(PERSPECTIVE_ID); }
@Test public void testPerspectiveChangeEvent() { final Menus menus = MenuFactory.newSimpleItem(NAME).perspective(PERSPECTIVE_ID).endMenu().build(); final PlaceRequest placeRequest = new DefaultPlaceRequest(PERSPECTIVE_ID); final PerspectiveActivity perspectiveActivity = mock(PerspectiveActivity.class); final PerspectiveChange perspectiveChange = new PerspectiveChange(placeRequest, null, null, PERSPECTIVE_ID); when(perspectiveActivity.getPlace()).thenReturn(placeRequest); when(perspectiveActivity.isType(ActivityResourceType.PERSPECTIVE.name())).thenReturn(true); when(authzManager.authorize(any(Resource.class), eq(identity))).thenReturn(true); presenter.addMenus(menus); presenter.onPerspectiveChange(perspectiveChange); verify(presenter).selectMenuItem(PERSPECTIVE_ID); }
@Test public void testSwitchingPerspectives() throws Exception { PerspectiveActivity ozPerspectiveActivity = mock(PerspectiveActivity.class); PlaceRequest ozPerspectivePlace = new DefaultPlaceRequest("oz_perspective"); PerspectiveDefinition ozPerspectiveDef = new PerspectiveDefinitionImpl(); when(activityManager.getActivities(ozPerspectivePlace)) .thenReturn(singleton((Activity) ozPerspectiveActivity)); when(ozPerspectiveActivity.getDefaultPerspectiveLayout()).thenReturn(ozPerspectiveDef); when(ozPerspectiveActivity.getPlace()).thenReturn(ozPerspectivePlace); when(ozPerspectiveActivity.isType(ActivityResourceType.PERSPECTIVE.name())).thenReturn(true); when(kansasActivity.isType(ActivityResourceType.SCREEN.name())).thenReturn(true); // we'll pretend we started in kansas PerspectiveActivity kansasPerspectiveActivity = mock(PerspectiveActivity.class); when(perspectiveManager.getCurrentPerspective()).thenReturn(kansasPerspectiveActivity); placeManager.goTo(ozPerspectivePlace); // verify proper shutdown of kansasPerspective and its contents InOrder inOrder = inOrder(activityManager, kansasPerspectiveActivity, kansasActivity, workbenchLayout); // shut down the screens first inOrder.verify(kansasActivity).onClose(); inOrder.verify(activityManager).destroyActivity(kansasActivity); // then the perspective inOrder.verify(kansasPerspectiveActivity).onClose(); inOrder.verify(activityManager).destroyActivity(kansasPerspectiveActivity); inOrder.verify(workbenchLayout).onResize(); }
when(perspectiveActivity.isType(ActivityResourceType.PERSPECTIVE.name())).thenReturn(true); when(splashScreenActivity.isType(ActivityResourceType.SPLASH.name())).thenReturn(true);
@Test public void testPerspectiveChangeEvent() { final Menus menus = MenuFactory.newSimpleItem(NAME).perspective(PERSPECTIVE_ID).endMenu().build(); final PlaceRequest placeRequest = new DefaultPlaceRequest(PERSPECTIVE_ID); final PerspectiveActivity perspectiveActivity = mock(PerspectiveActivity.class); final PerspectiveChange perspectiveChange = new PerspectiveChange(placeRequest, null, null, PERSPECTIVE_ID); when(perspectiveActivity.getPlace()).thenReturn(placeRequest); when(perspectiveActivity.isType(ActivityResourceType.PERSPECTIVE.name())).thenReturn(true); when(authzManager.authorize(any(Resource.class), eq(identity))).thenReturn(true); presenter.addMenus(menus); presenter.onPerspectiveChange(perspectiveChange); verify(presenter).selectMenuItem(PERSPECTIVE_ID); }
@Test public void testPerspectiveChangeEvent() { final Menus menus = MenuFactory.newSimpleItem(NAME).perspective(PERSPECTIVE_ID).endMenu().build(); final PlaceRequest placeRequest = new DefaultPlaceRequest(PERSPECTIVE_ID); final PerspectiveActivity perspectiveActivity = mock(PerspectiveActivity.class); final PerspectiveChange perspectiveChange = new PerspectiveChange(placeRequest, null, null, PERSPECTIVE_ID); when(perspectiveActivity.getPlace()).thenReturn(placeRequest); when(perspectiveActivity.isType(ActivityResourceType.PERSPECTIVE.name())).thenReturn(true); when(authzManager.authorize(any(Resource.class), eq(identity))).thenReturn(true); presenter.addMenus(menus); presenter.onPerspectiveChange(perspectiveChange); verify(view).selectMenuItem(PERSPECTIVE_ID); }
/** * Tests the basics of launching a perspective. We call it "empty" because this perspective doesn't have any panels * or parts in its definition. */ @Test public void testLaunchingEmptyPerspective() throws Exception { PerspectiveActivity ozPerspectiveActivity = mock(PerspectiveActivity.class); PlaceRequest ozPerspectivePlace = new DefaultPlaceRequest("oz_perspective"); PerspectiveDefinition ozPerspectiveDef = new PerspectiveDefinitionImpl(); when(activityManager.getActivities(ozPerspectivePlace)) .thenReturn(singleton((Activity) ozPerspectiveActivity)); when(ozPerspectiveActivity.getDefaultPerspectiveLayout()).thenReturn(ozPerspectiveDef); when(ozPerspectiveActivity.getPlace()).thenReturn(ozPerspectivePlace); when(ozPerspectiveActivity.isType(ActivityResourceType.PERSPECTIVE.name())).thenReturn(true); placeManager.goTo(ozPerspectivePlace); // verify perspective changed to oz verify(perspectiveManager).savePerspectiveState(any(Command.class)); verify(perspectiveManager).switchToPerspective(any(PlaceRequest.class), eq(ozPerspectiveActivity), any(ParameterizedCommand.class)); verify(ozPerspectiveActivity).onOpen(); assertEquals(PlaceStatus.OPEN, placeManager.getStatus(ozPerspectivePlace)); assertTrue(placeManager.getActivePlaceRequests().contains(ozPerspectivePlace)); assertEquals(ozPerspectiveActivity, placeManager.getActivity(ozPerspectivePlace)); verify(workbenchLayout).onResize(); }