Skip to content
This repository has been archived by the owner on Nov 9, 2017. It is now read-only.

Commit

Permalink
rhbz982916 - prevent rejection when it's already in rejected state
Browse files Browse the repository at this point in the history
  • Loading branch information
Patrick Huang committed Jul 23, 2013
1 parent c6b5a5e commit 5f2aabe
Show file tree
Hide file tree
Showing 4 changed files with 42 additions and 2 deletions.
Expand Up @@ -690,8 +690,11 @@ public void acceptTranslation(TransUnitId id)
public void rejectTranslation(TransUnitId id)
{
ensureRowSelection(id);
TransUnitSaveEvent event = new TransUnitSaveEvent(getNewTargets(), ContentState.Rejected, display.getId(), display.getVerNum(), display.getCachedTargets());
eventBus.fireEvent(new CommentBeforeSaveEvent(event));
if (display.getCachedState() != ContentState.Rejected)
{
TransUnitSaveEvent event = new TransUnitSaveEvent(getNewTargets(), ContentState.Rejected, display.getId(), display.getVerNum(), display.getCachedTargets());
eventBus.fireEvent(new CommentBeforeSaveEvent(event));
}
}


Expand Down
Expand Up @@ -70,6 +70,8 @@ public interface TargetContentsDisplay extends WidgetDisplay, HasTransUnitId, Ha

void updateCommentIndicator(int commentsCount);

ContentState getCachedState();

interface Listener
{
void validate(ToggleEditor editor);
Expand Down
Expand Up @@ -164,6 +164,12 @@ public void updateCommentIndicator(int commentsCount)
commentIndicator.setText(String.valueOf(commentsCount));
}

@Override
public ContentState getCachedState()
{
return cachedValue.getStatus();
}

@Override
public void setState(EditingState editingState)
{
Expand Down
Expand Up @@ -36,6 +36,7 @@
import org.testng.annotations.Test;
import org.zanata.common.ContentState;
import org.zanata.model.TestFixture;
import org.zanata.webtrans.client.events.CommentBeforeSaveEvent;
import org.zanata.webtrans.client.events.CopyDataToEditorEvent;
import org.zanata.webtrans.client.events.InsertStringInEditorEvent;
import org.zanata.webtrans.client.events.NavTransUnitEvent;
Expand Down Expand Up @@ -81,6 +82,7 @@
import static org.mockito.Mockito.verifyNoMoreInteractions;
import static org.mockito.Mockito.verifyZeroInteractions;
import static org.mockito.Mockito.when;
import static org.zanata.model.TestFixture.extractFromEvents;
import static org.zanata.model.TestFixture.makeTransUnit;

@Test(groups = { "unit-tests" })
Expand Down Expand Up @@ -812,4 +814,31 @@ public void testShowEditorsInReadOnlyMode()
verify(display).setToMode(ToggleEditor.ViewMode.VIEW);
verify(editorKeyShortcuts).enableNavigationContext();
}

@Test
public void willIgnoreRejectIfItsAlreadyRejectedState()
{
selectedTU = currentPageRows.get(1);
when(display.getId()).thenReturn(selectedTU.getId());
when(display.getCachedState()).thenReturn(ContentState.Rejected);
presenter.setStatesForTesting(selectedTU.getId(), 0, display);

presenter.rejectTranslation(selectedTU.getId());

verifyZeroInteractions(eventBus);
}

@Test
public void rejectTranslationWillForceComment()
{
selectedTU = currentPageRows.get(1);
when(display.getId()).thenReturn(selectedTU.getId());
presenter.setStatesForTesting(selectedTU.getId(), 0, display);

presenter.rejectTranslation(selectedTU.getId());

verify(eventBus).fireEvent(eventCaptor.capture());
CommentBeforeSaveEvent commentBeforeSaveEvent = extractFromEvents(eventCaptor.getAllValues(), CommentBeforeSaveEvent.class);
assertThat(commentBeforeSaveEvent.getSaveEvent().getStatus(), Matchers.equalTo(ContentState.Rejected));
}
}

0 comments on commit 5f2aabe

Please sign in to comment.