use of gov.ca.cwds.cals.service.dto.rfa.ApplicantsDeclarationDTO in project cals-api by ca-cwds.
the class RFA1aFormsResourceTest method testApplicationWithParts.
@Test()
public void testApplicationWithParts() throws Exception {
RFA1aFormDTO postFormRequest = clientTestRule.getMapper().readValue(RFA_1A_FIXTURE, RFA1aFormDTO.class);
RFA1aFormDTO postFormResponse = clientTestRule.target(API.RFA_1A_FORMS).request(MediaType.APPLICATION_JSON).post(Entity.entity(postFormRequest, MediaType.APPLICATION_JSON_TYPE), RFA1aFormDTO.class);
Long formId = postFormResponse.getId();
postFormRequest.setId(formId);
assertEqualsResponse(transformDTOtoJSON(postFormRequest), transformDTOtoJSON(postFormResponse));
ApplicantDTO applicantDTO = clientTestRule.target(API.RFA_1A_FORMS + "/" + formId + "/" + API.RFA_1A_APPLICANTS).request(MediaType.APPLICATION_JSON).post(Entity.entity(APPLICANT_FIXTURE, MediaType.APPLICATION_JSON_TYPE), ApplicantDTO.class);
ApplicantDTO applicantDTO2 = clientTestRule.target(API.RFA_1A_FORMS + "/" + formId + "/" + API.RFA_1A_APPLICANTS).request(MediaType.APPLICATION_JSON).post(Entity.entity(APPLICANT_FIXTURE2, MediaType.APPLICATION_JSON_TYPE), ApplicantDTO.class);
ResidenceDTO residenceDTO = clientTestRule.target(API.RFA_1A_FORMS + "/" + formId + "/" + API.RFA_1A_RESIDENCE).request(MediaType.APPLICATION_JSON).put(Entity.entity(RESIDENCE_FIXTURE, MediaType.APPLICATION_JSON_TYPE), ResidenceDTO.class);
ApplicantsRelationshipDTO applicantsRelationshipDTO = clientTestRule.target(API.RFA_1A_FORMS + "/" + formId + "/" + API.RFA_1A_APPLICANTS_RELATIONSHIP).request(MediaType.APPLICATION_JSON).put(Entity.entity(APPLICANTS_RELATIONSHIP_FIXTURE, MediaType.APPLICATION_JSON_TYPE), ApplicantsRelationshipDTO.class);
MinorChildDTO minorChildDTO = clientTestRule.target(API.RFA_1A_FORMS + "/" + formId + "/" + API.RFA_1A_MINOR_CHILDREN).request(MediaType.APPLICATION_JSON).post(Entity.entity(MINOR_CHILDREN_FIXTURE, MediaType.APPLICATION_JSON_TYPE), MinorChildDTO.class);
OtherAdultDTO otherAdultDTO = clientTestRule.target(API.RFA_1A_FORMS + "/" + formId + "/" + API.RFA_1A_OTHER_ADULTS).request(MediaType.APPLICATION_JSON).post(Entity.entity(OTHER_ADULTS_FIXTURE, MediaType.APPLICATION_JSON_TYPE), OtherAdultDTO.class);
ApplicantsHistoryDTO applicantsHistoryDTO = clientTestRule.target(API.RFA_1A_FORMS + "/" + formId + "/" + API.RFA_1A_APPLICANTS_HISTORY).request(MediaType.APPLICATION_JSON).put(Entity.entity(APPLICANTS_HISTORY_FIXTURE, MediaType.APPLICATION_JSON_TYPE), ApplicantsHistoryDTO.class);
ChildDesiredDTO childDesiredDTO = clientTestRule.target(API.RFA_1A_FORMS + "/" + formId + "/" + API.RFA_1A_CHILD_DESIRED).request(MediaType.APPLICATION_JSON).put(Entity.entity(CHILD_DESIRED_FIXTURE, MediaType.APPLICATION_JSON_TYPE), ChildDesiredDTO.class);
AdoptionHistoryDTO adoptionHistoryDTO = clientTestRule.target(API.RFA_1A_FORMS + "/" + formId + "/" + API.RFA_1A_ADOPTION_HISTORY).request(MediaType.APPLICATION_JSON).put(Entity.entity(ADOPTION_HISTORY_FIXTURE, MediaType.APPLICATION_JSON_TYPE), AdoptionHistoryDTO.class);
ReferencesDTO referencesDTO = clientTestRule.target(API.RFA_1A_FORMS + "/" + formId + "/" + API.RFA_1A_REFERENCES).request(MediaType.APPLICATION_JSON).put(Entity.entity(REFERENCES_FIXTURE, MediaType.APPLICATION_JSON_TYPE), ReferencesDTO.class);
ApplicantsDeclarationDTO applicantsDeclarationDTO = clientTestRule.target(API.RFA_1A_FORMS + "/" + formId + "/" + API.RFA_1A_APPLICANTS_DECLARATION).request(MediaType.APPLICATION_JSON).put(Entity.entity(APPLICANTS_DECLARATION_FIXTURE, MediaType.APPLICATION_JSON_TYPE), ApplicantsDeclarationDTO.class);
RFA1aFormDTO getFormResponse = clientTestRule.target(API.RFA_1A_FORMS + "/" + formId).request(MediaType.APPLICATION_JSON).get(RFA1aFormDTO.class);
assertEqualsResponse(transformDTOtoJSON(postFormResponse), transformDTOtoJSON(getFormResponse));
RFA1aFormDTO expectedRfa1aFormDTO = clientTestRule.getMapper().readValue(RFA_1A_FIXTURE, RFA1aFormDTO.class);
expectedRfa1aFormDTO.setId(formId);
List<ApplicantDTO> applicants = new ArrayList<>();
applicants.add(applicantDTO);
applicants.add(applicantDTO2);
expectedRfa1aFormDTO.setApplicants(applicants);
expectedRfa1aFormDTO.setResidence(residenceDTO);
expectedRfa1aFormDTO.setApplicantsRelationship(applicantsRelationshipDTO);
List<MinorChildDTO> minorChildren = new ArrayList<>();
minorChildren.add(minorChildDTO);
expectedRfa1aFormDTO.setMinorChildren(minorChildren);
List<OtherAdultDTO> otherAdults = new ArrayList<>();
otherAdults.add(otherAdultDTO);
expectedRfa1aFormDTO.setOtherAdults(otherAdults);
expectedRfa1aFormDTO.setApplicantsHistory(applicantsHistoryDTO);
expectedRfa1aFormDTO.setChildDesired(childDesiredDTO);
expectedRfa1aFormDTO.setAdoptionHistory(adoptionHistoryDTO);
expectedRfa1aFormDTO.setReferences(referencesDTO);
expectedRfa1aFormDTO.setApplicantsDeclaration(applicantsDeclarationDTO);
RFA1aFormDTO getExpandedFormResponse = clientTestRule.target(API.RFA_1A_FORMS + "/" + formId + "?" + API.QueryParams.EXPANDED + "=true").request(MediaType.APPLICATION_JSON).get(RFA1aFormDTO.class);
assertEqualsResponse(transformDTOtoJSON(expectedRfa1aFormDTO), transformDTOtoJSON(getExpandedFormResponse));
WebTarget getExpandedCollectionTarget = clientTestRule.target(API.RFA_1A_FORMS + "?" + API.QueryParams.EXPANDED + "=true");
CollectionDTO<RFA1aFormDTO> getExpandedCollectionResponseForm = getExpandedCollectionTarget.request(MediaType.APPLICATION_JSON).get(new GenericType<CollectionDTO<RFA1aFormDTO>>() {
});
Collection<RFA1aFormDTO> filtered = getExpandedCollectionResponseForm.getCollection().stream().filter(b -> b.getId().equals(formId)).collect(Collectors.toCollection(ArrayList::new));
getExpandedCollectionResponseForm.getCollection().clear();
getExpandedCollectionResponseForm.getCollection().addAll(filtered);
List<RFA1aFormDTO> items = new ArrayList<>();
items.add(expectedRfa1aFormDTO);
RFA1aFormCollectionDTO expectedExpandedRfa1aFormCollectionResponse = new RFA1aFormCollectionDTO(items);
assertEqualsResponse(transformDTOtoJSON(expectedExpandedRfa1aFormCollectionResponse), transformDTOtoJSON(getExpandedCollectionResponseForm));
}
use of gov.ca.cwds.cals.service.dto.rfa.ApplicantsDeclarationDTO in project cals-api by ca-cwds.
the class Rfa1aFormGenerationTest method testPdfGeneration.
@Test
public void testPdfGeneration() throws Exception {
String templatePath = "dms/rfa1a-case/RFA-01A Resource Family Application.pdf";
String scriptPath = "dms/rfa1a-form/RFA-1A-form.groovy";
RFA1aFormDTO rfa1aForm = mapper.readValue(RFA_1A_FIXTURE, RFA1aFormDTO.class);
rfa1aForm.setId(100L);
Long applicant1Id = 1L;
Long applicant2Id = 2L;
ApplicantDTO applicant1 = getApplicant(applicant1Id, 1);
ApplicantDTO applicant2 = getApplicant(applicant2Id, 2);
applicant2.getEmployment().setIncome(new BigDecimal("4500.00"));
IncomeType incomeType = new IncomeType();
incomeType.setId(2L);
incomeType.setValue("monthly");
applicant2.getEmployment().setIncomeType(incomeType);
List<ApplicantDTO> applicants = new ArrayList<>();
applicants.add(applicant1);
applicants.add(applicant2);
rfa1aForm.setApplicants(applicants);
ResidenceDTO residenceDTO = mapper.readValue(RESIDENCE_FIXTURE, ResidenceDTO.class);
rfa1aForm.setResidence(residenceDTO);
ApplicantsRelationshipDTO applicantsRelationshipDTO = mapper.readValue(APPLICANTS_RELATIONSHIP_FIXTURE, ApplicantsRelationshipDTO.class);
rfa1aForm.setApplicantsRelationship(applicantsRelationshipDTO);
MinorChildDTO minorChild1 = getMinorChild(applicant1Id, 1);
MinorChildDTO minorChild2 = getMinorChild(applicant1Id, 2);
MinorChildDTO minorChild3 = getMinorChild(applicant2Id, 3);
MinorChildDTO minorChild4 = getMinorChild(applicant2Id, 4);
List<MinorChildDTO> minorChildren = new ArrayList<>();
minorChildren.add(minorChild1);
minorChildren.add(minorChild2);
minorChildren.add(minorChild3);
minorChildren.add(minorChild4);
rfa1aForm.setMinorChildren(minorChildren);
OtherAdultDTO otherAdult11 = getOtherAdult(applicant1Id, 1);
OtherAdultDTO otherAdult12 = getOtherAdult(applicant1Id, 2);
OtherAdultDTO otherAdult21 = getOtherAdult(applicant2Id, 3);
OtherAdultDTO otherAdult22 = getOtherAdult(applicant2Id, 4);
List<OtherAdultDTO> otherAdults = new ArrayList<>();
otherAdults.add(otherAdult11);
otherAdults.add(otherAdult12);
otherAdults.add(otherAdult21);
otherAdults.add(otherAdult22);
rfa1aForm.setOtherAdults(otherAdults);
ApplicantsHistoryDTO applicantsHistoryDTO = mapper.readValue(APPLICANTS_HISTORY_FIXTURE, ApplicantsHistoryDTO.class);
List<FormerSpouseDTO> formerSpouses = applicantsHistoryDTO.getFormerSpouses();
FormerSpouseDTO formerSpouseDTO = formerSpouses.remove(0);
String formerSpouseJson = mapper.writeValueAsString(formerSpouseDTO);
FormerSpouseDTO formerSpouse11 = getFormerSpouse(formerSpouseJson, applicant1Id);
FormerSpouseDTO formerSpouse12 = getFormerSpouse(formerSpouseJson, applicant1Id);
FormerSpouseDTO formerSpouse21 = getFormerSpouse(formerSpouseJson, applicant2Id);
FormerSpouseDTO formerSpouse22 = getFormerSpouse(formerSpouseJson, applicant2Id);
formerSpouses.add(formerSpouse11);
formerSpouses.add(formerSpouse12);
formerSpouses.add(formerSpouse21);
formerSpouses.add(formerSpouse22);
applicantsHistoryDTO.setFormerSpouses(formerSpouses);
List<AdultChildDTO> adultChildren = applicantsHistoryDTO.getAdultChildren();
AdultChildDTO adultChildDTO = adultChildren.remove(0);
String adultChildJson = mapper.writeValueAsString(adultChildDTO);
AdultChildDTO adultChild11 = getAdultChild(adultChildJson, applicant1Id);
AdultChildDTO adultChild12 = getAdultChild(adultChildJson, applicant1Id);
AdultChildDTO adultChild21 = getAdultChild(adultChildJson, applicant2Id);
AdultChildDTO adultChild22 = getAdultChild(adultChildJson, applicant2Id);
// Rename
adultChild11.setFirstName(adultChild11.getFirstName() + "_1");
adultChild12.setFirstName(adultChild12.getFirstName() + "_2");
adultChild21.setFirstName(adultChild21.getFirstName() + "_3");
adultChild22.setFirstName(adultChild22.getFirstName() + "_4");
adultChildren.add(adultChild11);
adultChildren.add(adultChild12);
adultChildren.add(adultChild21);
adultChildren.add(adultChild22);
applicantsHistoryDTO.setAdultChildren(adultChildren);
rfa1aForm.setApplicantsHistory(applicantsHistoryDTO);
ChildDesiredDTO childDesiredDTO = mapper.readValue(CHILD_DESIRED_FIXTURE, ChildDesiredDTO.class);
rfa1aForm.setChildDesired(childDesiredDTO);
AdoptionHistoryDTO adoptionHistoryDTO = mapper.readValue(ADOPTION_HISTORY_FIXTURE, AdoptionHistoryDTO.class);
rfa1aForm.setAdoptionHistory(adoptionHistoryDTO);
ReferencesDTO referencesDTO = mapper.readValue(REFERENCES_FIXTURE, ReferencesDTO.class);
rfa1aForm.setReferences(referencesDTO);
ApplicantsDeclarationDTO applicantsDeclarationDTO = mapper.readValue(APPLICANTS_DECLARATION_FIXTURE, ApplicantsDeclarationDTO.class);
List<ApplicantsDeclarationDTO.ApplicantSignature> applicantSignatures = applicantsDeclarationDTO.getApplicantSignatures();
ApplicantsDeclarationDTO.ApplicantSignature applicantSignature = applicantSignatures.remove(0);
String applicantSignatureJson = mapper.writeValueAsString(applicantSignature);
ApplicantsDeclarationDTO.ApplicantSignature applicantSignature1 = getApplicantSignature(applicantSignatureJson, applicant1Id);
ApplicantsDeclarationDTO.ApplicantSignature applicantSignature2 = getApplicantSignature(applicantSignatureJson, applicant2Id);
applicantSignatures.add(applicantSignature1);
applicantSignatures.add(applicantSignature2);
rfa1aForm.setApplicantsDeclaration(applicantsDeclarationDTO);
String request = mapper.writeValueAsString(rfa1aForm);
// Check generation for empty form
generateAndAssertPdf(templatePath, fixture(scriptPath), "{}", new HashMap<>());
Map<String, String> expectedValuesMap = new HashMap<>();
expectedValuesMap.put("APPLICANT ONE: ANNUAL INCOME_pg 1", "98000.00");
expectedValuesMap.put("APPLICANT TWO: ANNUAL INCOME_pg 1", "54000.00");
generateAndAssertPdf(templatePath, fixture(scriptPath), request, expectedValuesMap);
}
Aggregations