Ejemplo n.º 1
0
  @Test
  public void saveFormData_editExistingData() throws Exception {
    int formDefVersionId = formService.getForms().get(0).getVersions().get(0).getFormDefVersionId();
    List<FormDataHeader> data = studyManagerService.getFormData(formDefVersionId, null, null, null);
    int dataCount = data.size();

    // create some form data
    FormData formData = new FormData();
    formData.setData("testing");
    formData.setFormDefVersionId(formDefVersionId);
    formData.setCreator(userService.getUsers().get(0));
    formData.setDateCreated(new Date());
    formService.saveFormData(formData);

    // check if the form data was created
    Assert.assertNotNull("FormData Id is set", formData.getId());
    data = studyManagerService.getFormData(formDefVersionId, null, null, null);
    Assert.assertEquals("One extra FormData", dataCount + 1, data.size());
    dataCount = data.size();

    // try edit the form data and save
    formData.setData("testing updated");
    formData.setChangedBy(formData.getCreator());
    formData.setDateChanged(new Date());
    formService.saveFormData(formData);

    // check if the form data was updated
    data = studyManagerService.getFormData(formDefVersionId, null, null, null);
    Assert.assertEquals("No extra FormData", dataCount, data.size());
    FormData savedFormData = studyManagerService.getFormData(formData.getId());
    Assert.assertEquals("Data text is updated", "testing updated", savedFormData.getData());

    // check if the version was correctly saved
    List<FormDataVersion> versions = studyManagerService.getFormDataVersion(formData.getId());
    Assert.assertEquals("Only 1 previous version", 1, versions.size());
    Assert.assertEquals(
        "Previous version data text is correct", "testing", versions.get(0).getData());
  }