@Test public void willIgnoreSavePendingIfNoChange() { // Given: display new targets is equal to cached targets selectedTU = currentPageRows.get(0); presenter.setStatesForTesting(selectedTU.getId(), 0, display); when(display.getCachedTargets()).thenReturn(CACHED_TARGETS); when(display.getNewTargets()).thenReturn(CACHED_TARGETS); // When: presenter.savePendingChangesIfApplicable(); // Then: verifyZeroInteractions(eventBus); verify(display, never()).revertEditorContents(); }
@Test public void canSavePendingChangesIfContentHasChanged() { // Given: selectedTU = currentPageRows.get(0); presenter.setStatesForTesting(selectedTU.getId(), 0, display); when(display.getCachedTargets()).thenReturn(CACHED_TARGETS); when(display.getNewTargets()).thenReturn(NEW_TARGETS); when(display.getId()).thenReturn(selectedTU.getId()); when(display.getVerNum()).thenReturn(99); // When: presenter.savePendingChangesIfApplicable(); // Then: verify(eventBus) .fireEvent( new TransUnitSaveEvent( NEW_TARGETS, ContentState.Approved, selectedTU.getId(), 99, CACHED_TARGETS)); }