}
@Test
public void testExecute() throws Exception {
Person person = TestFixture.person();
TransUnit selectedTransUnit = TestFixture.makeTransUnit(1);
WorkspaceId workspaceId = TestFixture.workspaceId();
EditorClientId editorClientId = new EditorClientId("sessionId", 1);
TransUnitEditAction action =
new TransUnitEditAction(person, selectedTransUnit.getId());
action.setWorkspaceId(workspaceId);
action.setEditorClientId(editorClientId);
when(translationWorkspaceManager.getOrRegisterWorkspace(workspaceId))
.thenReturn(translationWorkspace);
handler.execute(action, null);
verify(identity).checkLoggedIn();
verify(translationWorkspace).updateUserSelection(editorClientId,
selectedTransUnit.getId());
verify(translationWorkspace).publish(eventCaptor.capture());
TransUnitEdit transUnitEdit = eventCaptor.getValue();
assertThat(transUnitEdit.getEditorClientId(),
Matchers.sameInstance(editorClientId));
assertThat(transUnitEdit.getPerson(), Matchers.sameInstance(person));
assertThat(transUnitEdit.getSelectedTransUnitId(),
Matchers.sameInstance(selectedTransUnit.getId()));
}