@Test public void testShowEditorsInReadOnlyMode() { // Given: userWorkspaceContext.setProjectActive(false); userWorkspaceContext.setHasEditTranslationAccess(false); selectedTU = currentPageRows.get(0); ArrayList<ToggleEditor> currentEditors = Lists.newArrayList(editor); when(editor.getId()).thenReturn(selectedTU.getId()); ArrayList<ToggleEditor> previousEditors = Lists.newArrayList(editor2); presenter.setStatesForTesting(null, 0, display); when(display.getId()).thenReturn(selectedTU.getId()); when(display.getEditors()).thenReturn(previousEditors, currentEditors); when(sourceContentPresenter.getSourceContent(selectedTU.getId())) .thenReturn(Optional.of("source")); // When: presenter.setSelected(selectedTU.getId()); // Then: verify(editorTranslators).clearTranslatorList(previousEditors); verify(editor).clearTranslatorList(); verify(display).showButtons(false); verify(display).setToMode(ToggleEditor.ViewMode.VIEW); verify(editorKeyShortcuts).enableNavigationContext(); }
@Test public void testOnInsertString() { // Given: selectedTU = currentPageRows.get(0); when(editor.getId()).thenReturn(selectedTU.getId()); when(display.getId()).thenReturn(selectedTU.getId()); when(display.getEditors()).thenReturn(Lists.newArrayList(editor)); when(tableEditorMessages.notifyCopied()).thenReturn("copied"); when(sourceContentPresenter.getSourceContent(selectedTU.getId())) .thenReturn(Optional.of("source content")); presenter.setStatesForTesting(selectedTU.getId(), 0, display); // When: presenter.onInsertString(new InsertStringInEditorEvent("", "suggestion")); // Then: verify(editor).insertTextInCursorPosition("suggestion"); verify(eventBus, atLeastOnce()).fireEvent(eventCaptor.capture()); NotificationEvent notificationEvent = TestFixture.extractFromEvents(eventCaptor.getAllValues(), NotificationEvent.class); MatcherAssert.assertThat(notificationEvent.getMessage(), Matchers.equalTo("copied")); RunValidationEvent runValidationEvent = TestFixture.extractFromEvents(eventCaptor.getAllValues(), RunValidationEvent.class); assertThat(runValidationEvent.getSourceContent(), equalTo("source content")); }
@Test public void onRequestValidationWillNotFireRunValidationEventIfSourceAndTargetDoNotMatch() { // given current display is null when(sourceContentPresenter.getCurrentTransUnitIdOrNull()).thenReturn(new TransUnitId(1)); presenter.onRequestValidation(RequestValidationEvent.EVENT); verifyNoMoreInteractions(eventBus); }
@Test public void onRequestValidationWillFireRunValidationEvent() { // given current display has one editor and current editor has target content selectedTU = currentPageRows.get(0); presenter.setStatesForTesting(selectedTU.getId(), 0, display); when(display.getId()).thenReturn(selectedTU.getId()); when(editor.getId()).thenReturn(selectedTU.getId()); when(display.getEditors()).thenReturn(Lists.newArrayList(editor)); when(sourceContentPresenter.getCurrentTransUnitIdOrNull()).thenReturn(selectedTU.getId()); when(sourceContentPresenter.getSourceContent(selectedTU.getId())) .thenReturn(Optional.of("source")); when(editor.getText()).thenReturn("target"); presenter.onRequestValidation(RequestValidationEvent.EVENT); verify(eventBus).fireEvent(eventCaptor.capture()); RunValidationEvent event = TestFixture.extractFromEvents(eventCaptor.getAllValues(), RunValidationEvent.class); MatcherAssert.assertThat(event.getTarget(), Matchers.equalTo("target")); }
@Test public void canCopySource() { // Given: selected one trans unit selectedTU = currentPageRows.get(0); when(display.getId()).thenReturn(selectedTU.getId()); when(display.getEditors()).thenReturn(Lists.newArrayList(editor)); presenter.setStatesForTesting(selectedTU.getId(), 0, display); when(sourceContentPresenter.getSelectedSource()).thenReturn("source"); presenter.copySource(editor, selectedTU.getId()); verify(editor).setTextAndValidate("source"); verify(editor).setFocus(); verify(eventBus).fireEvent(isA(NotificationEvent.class)); }
@Test public void canValidate() { selectedTU = currentPageRows.get(0); presenter.setStatesForTesting(selectedTU.getId(), 0, display); when(display.getId()).thenReturn(selectedTU.getId()); when(editor.getId()).thenReturn(selectedTU.getId()); when(editor.getText()).thenReturn("target"); when(sourceContentPresenter.getSourceContent(selectedTU.getId())) .thenReturn(Optional.of("source")); presenter.validate(editor); verify(eventBus).fireEvent(eventCaptor.capture()); RunValidationEvent event = (RunValidationEvent) eventCaptor.getValue(); assertThat(event.getSourceContent(), equalTo("source")); assertThat(event.getTarget(), equalTo("target")); assertThat(event.isFireNotification(), equalTo(false)); assertThat( event.getWidgetList(), Matchers.<HasUpdateValidationWarning>containsInAnyOrder(editor, display)); }