use of com.qcadoo.view.internal.states.ComponentStateMock in project qcadoo by qcadoo.
the class ViewDefinitionTest method shouldCallEvent.
@Test
public void shouldCallEvent() throws Exception {
// given
InternalViewDefinition viewDefinition = new ViewDefinitionImpl("name", "plugin", mock(DataDefinition.class), true, null);
TestEvent event = mock(TestEvent.class);
ComponentStateMock state = new ComponentStateMock(new JSONObject(of("asd", "123")));
state.registerTestEvent("eventName", event);
ComponentPatternMock pattern = new ComponentPatternMock(getComponentDefinition("componentName", viewDefinition), state);
viewDefinition.addComponentPattern(pattern);
JSONObject eventJson = new JSONObject();
eventJson.put(InternalViewDefinition.JSON_EVENT_NAME, "eventName");
eventJson.put(InternalViewDefinition.JSON_EVENT_COMPONENT, "componentName");
eventJson.put(InternalViewDefinition.JSON_EVENT_ARGS, new JSONArray(newArrayList("arg1", "arg2")));
JSONObject contentJson = new JSONObject();
contentJson.put("asd", "qwe");
JSONObject componentJson = new JSONObject();
componentJson.put(AbstractComponentState.JSON_CONTENT, contentJson);
JSONObject json = new JSONObject();
json.put(InternalViewDefinition.JSON_EVENT, eventJson);
json.put(InternalViewDefinition.JSON_COMPONENTS, new JSONObject(of("componentName", componentJson)));
// when
JSONObject result = ((InternalComponentState) viewDefinition.performEvent(json, Locale.ENGLISH)).render();
// then
assertEquals(contentJson, state.getContent());
verify(event).invoke(new String[] { "arg1", "arg2" });
Assert.assertEquals("123", result.getJSONObject("components").getJSONObject("componentName").getJSONObject("content").get("asd"));
}
use of com.qcadoo.view.internal.states.ComponentStateMock in project qcadoo by qcadoo.
the class FieldAndScopeListenerPatternTest method shouldUpdateStateScopeListeners.
@Test
public void shouldUpdateStateScopeListeners() throws Exception {
// given
InternalViewDefinition viewDefinition = mock(InternalViewDefinition.class);
AbstractContainerPattern parent = new ContainerPatternMock(getComponentDefinition("f1", viewDefinition));
ComponentPatternMock child1 = new ComponentPatternMock(getComponentDefinition("t1", null, "field1", parent, viewDefinition));
ComponentPatternMock child2 = new ComponentPatternMock(getComponentDefinition("t2", null, "field2", parent, viewDefinition));
parent.addChild(child1);
parent.addChild(child2);
parent.initialize();
child1.initialize();
child2.initialize();
ComponentStateMock f1State = new ComponentStateMock();
ComponentState t1State = Mockito.mock(ComponentState.class, withSettings().extraInterfaces(ScopeEntityIdChangeListener.class));
ComponentState t2State = Mockito.mock(ComponentState.class, withSettings().extraInterfaces(ScopeEntityIdChangeListener.class));
ViewDefinitionState viewDefinitions = Mockito.mock(ViewDefinitionState.class);
BDDMockito.given(viewDefinitions.getComponentByReference("f1")).willReturn(f1State);
BDDMockito.given(viewDefinitions.getComponentByReference("f1.t1")).willReturn(t1State);
BDDMockito.given(viewDefinitions.getComponentByReference("f1.t2")).willReturn(t2State);
// when
parent.updateComponentStateListeners(viewDefinitions);
// then
assertEquals(t1State, f1State.getPublicScopeFieldEntityIdChangeListeners().get("field1"));
assertEquals(t2State, f1State.getPublicScopeFieldEntityIdChangeListeners().get("field2"));
}
use of com.qcadoo.view.internal.states.ComponentStateMock in project qcadoo by qcadoo.
the class FieldAndScopeListenerPatternTest method shouldUpdateStateFieldListeners.
@Test
public void shouldUpdateStateFieldListeners() throws Exception {
// given
InternalViewDefinition viewDefinition = mock(InternalViewDefinition.class);
AbstractContainerPattern parent = new ContainerPatternMock(getComponentDefinition("f1", viewDefinition));
ComponentPatternMock child1 = new ComponentPatternMock(getComponentDefinition("t1", "field1", null, parent, viewDefinition));
ComponentPatternMock child2 = new ComponentPatternMock(getComponentDefinition("t2", "field2", null, parent, viewDefinition));
parent.addChild(child1);
parent.addChild(child2);
parent.initialize();
child1.initialize();
child2.initialize();
ComponentStateMock f1State = new ComponentStateMock();
ComponentState t1State = Mockito.mock(ComponentState.class, withSettings().extraInterfaces(FieldEntityIdChangeListener.class));
ComponentState t2State = Mockito.mock(ComponentState.class, withSettings().extraInterfaces(FieldEntityIdChangeListener.class));
ViewDefinitionState viewDefinitions = Mockito.mock(ViewDefinitionState.class);
BDDMockito.given(viewDefinitions.getComponentByReference("f1")).willReturn(f1State);
BDDMockito.given(viewDefinitions.getComponentByReference("f1.t1")).willReturn(t1State);
BDDMockito.given(viewDefinitions.getComponentByReference("f1.t2")).willReturn(t2State);
// when
parent.updateComponentStateListeners(viewDefinitions);
// then
assertEquals(t1State, f1State.getPublicFieldEntityIdChangeListeners().get("field1"));
assertEquals(t2State, f1State.getPublicFieldEntityIdChangeListeners().get("field2"));
}
Aggregations