private void useDefinitionSet(final String defSetId) { selector.clear(); profileManager .getProfiles(defSetId) .forEach(this::addItem); }
@Before public void setup() throws Exception { tested = new SelectorImpl<>(view); tested .setTextProvider(obj -> obj.text) .setValueProvider(Enum::name) .setItemProvider(SelectorTestObject::valueOf) .setValueChangedCommand(valueChangedCommand); }
@PostConstruct public void init() { selector .setTextProvider(Profile::getName) .setValueProvider(Profile::getProfileId) .setItemProvider(this::getProfile); }
@Test public void testBind() { when(selector.getSelectedItem()).thenReturn(profile1); tested.bind(() -> session); verify(selector, times(1)).clear(); verify(selector, times(1)).addItem(eq(profile1)); ArgumentCaptor<Command> commandArgumentCaptor = ArgumentCaptor.forClass(Command.class); verify(selector, times(1)).setValueChangedCommand(commandArgumentCaptor.capture()); Command command = commandArgumentCaptor.getValue(); command.execute(); verify(metadata, times(1)).setProfileId(eq(PROFILE_ID)); ArgumentCaptor<RequestSessionRefreshEvent> eventArgumentCaptor = ArgumentCaptor.forClass(RequestSessionRefreshEvent.class); verify(requestSessionRefreshEvent, times(1)).fire(eventArgumentCaptor.capture()); RequestSessionRefreshEvent event = eventArgumentCaptor.getValue(); assertEquals(SESSION_UUID, event.getSessionUUID()); } }
public ProfileSelector bind(final Supplier<AbstractSession> sessionSupplier) { final AbstractSession session = sessionSupplier.get(); final Metadata metadata = session.getCanvasHandler().getDiagram().getMetadata(); final String definitionSetId = metadata.getDefinitionSetId(); final String profileId = metadata.getProfileId(); useDefinitionSet(definitionSetId); useProfile(definitionSetId, profileId); selector.setValueChangedCommand(() -> { final Profile item = selector.getSelectedItem(); metadata.setProfileId(item.getProfileId()); requestSessionRefreshEvent.fire(new RequestSessionRefreshEvent(session.getSessionUUID())); }); return this; }
@Test public void testGetSelectedItem() { when(view.getValue()).thenReturn(SelectorTestObject.ITEM1.name()); SelectorTestObject selectedItem = tested.getSelectedItem(); assertEquals(SelectorTestObject.ITEM1, selectedItem); }
@Test public void testDestroy() { tested.destroy(); verify(view, times(1)).clear(); }
@Test public void testInit() { tested.init(); verify(view, times(1)).init(eq(tested)); }
@Test public void testAddItem() { tested.addItem(SelectorTestObject.ITEM1); verify(view, times(1)).add(eq(SelectorTestObject.ITEM1.text), eq(SelectorTestObject.ITEM1.name())); }
@Before @SuppressWarnings("unchecked") public void setup() throws Exception { session = mock(AbstractSession.class); AbstractCanvasHandler canvasHandler = mock(AbstractCanvasHandler.class); Diagram diagram = mock(Diagram.class); metadata = mock(Metadata.class); when(session.getSessionUUID()).thenReturn(SESSION_UUID); when(session.getCanvasHandler()).thenReturn(canvasHandler); when(canvasHandler.getDiagram()).thenReturn(diagram); when(diagram.getMetadata()).thenReturn(metadata); when(metadata.getDefinitionSetId()).thenReturn(DEF_SET_ID); when(metadata.getProfileId()).thenReturn(PROFILE_ID); when(selector.setItemProvider(any(Function.class))).thenReturn(selector); when(selector.setTextProvider(any(Function.class))).thenReturn(selector); when(selector.setValueProvider(any(Function.class))).thenReturn(selector); when(selector.setValueChangedCommand(any(Command.class))).thenReturn(selector); when(profileManager.getProfile(eq(DEF_SET_ID), eq(PROFILE_ID))).thenReturn(profile1); when(profileManager.getProfiles(eq(DEF_SET_ID))).thenReturn(Collections.singleton(profile1)); when(profile1.getProfileId()).thenReturn(PROFILE_ID); when(profile1.getName()).thenReturn(PROFILE_NAME); tested = new ProfileSelector(selector, profileManager, requestSessionRefreshEvent); tested.init(); }
@Test public void testClear() { tested.clear(); verify(view, times(1)).clear(); }