Search in sources :

Example 6 with FormSubmitResponse

use of com.walmartlabs.concord.client.FormSubmitResponse in project concord by walmartlabs.

the class FormIT method test.

/**
 * A straightforward single form process.
 */
@Test
public void test() throws Exception {
    Payload payload = new Payload().archive(resource("form"));
    // ---
    ConcordProcess proc = concord.processes().start(payload);
    expectStatus(proc, ProcessEntry.StatusEnum.SUSPENDED);
    // ---
    List<FormListEntry> forms = proc.forms();
    assertEquals(1, forms.size());
    // ---
    FormListEntry myForm = forms.get(0);
    assertFalse(myForm.isCustom());
    String formName = myForm.getName();
    String firstName = "john_" + randomString();
    String lastName = "smith_" + randomString();
    int age = ThreadLocalRandom.current().nextInt(100);
    Map<String, Object> data = new HashMap<>();
    data.put("lastName", lastName);
    data.put("firstName", firstName);
    data.put("age", age);
    FormSubmitResponse fsr = proc.submitForm(formName, data);
    assertTrue(fsr.isOk());
    assertTrue(fsr.getErrors() == null || fsr.getErrors().isEmpty());
    assertEquals(0, proc.forms().size());
    expectStatus(proc, ProcessEntry.StatusEnum.FINISHED);
    // ---
    proc.assertLog(".*firstName=" + firstName + ".*");
    proc.assertLog(".*lastName=" + lastName + ".*");
    proc.assertLog(".*age=" + age + ".*");
}
Also used : ConcordProcess(ca.ibodrov.concord.testcontainers.ConcordProcess) FormListEntry(com.walmartlabs.concord.client.FormListEntry) FormSubmitResponse(com.walmartlabs.concord.client.FormSubmitResponse) Payload(ca.ibodrov.concord.testcontainers.Payload) ITUtils.randomString(com.walmartlabs.concord.it.common.ITUtils.randomString) Test(org.junit.jupiter.api.Test)

Aggregations

ConcordProcess (ca.ibodrov.concord.testcontainers.ConcordProcess)6 Payload (ca.ibodrov.concord.testcontainers.Payload)6 FormListEntry (com.walmartlabs.concord.client.FormListEntry)6 FormSubmitResponse (com.walmartlabs.concord.client.FormSubmitResponse)6 Test (org.junit.jupiter.api.Test)6 ITUtils.randomString (com.walmartlabs.concord.it.common.ITUtils.randomString)5 HashMap (java.util.HashMap)2 ProcessApi (com.walmartlabs.concord.client.ProcessApi)1 ProcessEntry (com.walmartlabs.concord.client.ProcessEntry)1 Utils.resourceToString (com.walmartlabs.concord.it.runtime.v2.Utils.resourceToString)1