Search in sources :

Example 1 with TestEvent

use of com.qcadoo.view.internal.states.ComponentStateMock.TestEvent 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"));
}
Also used : ViewDefinitionImpl(com.qcadoo.view.internal.internal.ViewDefinitionImpl) JSONObject(org.json.JSONObject) TestEvent(com.qcadoo.view.internal.states.ComponentStateMock.TestEvent) InternalViewDefinition(com.qcadoo.view.internal.api.InternalViewDefinition) JSONArray(org.json.JSONArray) ComponentPatternMock(com.qcadoo.view.internal.patterns.ComponentPatternMock) DataDefinition(com.qcadoo.model.api.DataDefinition) ComponentStateMock(com.qcadoo.view.internal.states.ComponentStateMock) InternalComponentState(com.qcadoo.view.internal.api.InternalComponentState) Test(org.junit.Test) AbstractPatternTest(com.qcadoo.view.internal.patterns.AbstractPatternTest)

Aggregations

DataDefinition (com.qcadoo.model.api.DataDefinition)1 InternalComponentState (com.qcadoo.view.internal.api.InternalComponentState)1 InternalViewDefinition (com.qcadoo.view.internal.api.InternalViewDefinition)1 ViewDefinitionImpl (com.qcadoo.view.internal.internal.ViewDefinitionImpl)1 AbstractPatternTest (com.qcadoo.view.internal.patterns.AbstractPatternTest)1 ComponentPatternMock (com.qcadoo.view.internal.patterns.ComponentPatternMock)1 ComponentStateMock (com.qcadoo.view.internal.states.ComponentStateMock)1 TestEvent (com.qcadoo.view.internal.states.ComponentStateMock.TestEvent)1 JSONArray (org.json.JSONArray)1 JSONObject (org.json.JSONObject)1 Test (org.junit.Test)1