use of gov.ca.cwds.rest.api.domain.ScreeningToReferral in project API by ca-cwds.
the class ScreeningToReferralServiceTest method testIncompatiableRolesAnonymousReporterFail.
@SuppressWarnings("javadoc")
@Test
public void testIncompatiableRolesAnonymousReporterFail() throws Exception {
Referral referralDomain = MAPPER.readValue(fixture("fixtures/domain/ScreeningToReferral/valid/validReferral.json"), Referral.class);
gov.ca.cwds.data.persistence.cms.Referral referralToCreate = new gov.ca.cwds.data.persistence.cms.Referral("0123456ABC", referralDomain, "2016-10-31");
when(referralDao.create(any(gov.ca.cwds.data.persistence.cms.Referral.class))).thenReturn(referralToCreate);
ChildClient childClient = MAPPER.readValue(fixture("fixtures/domain/ScreeningToReferral/valid/childClient.json"), ChildClient.class);
gov.ca.cwds.data.persistence.cms.ChildClient childClientToCreate = new gov.ca.cwds.data.persistence.cms.ChildClient("1234567ABC", childClient, "0XA");
when(childClientDao.create(any(gov.ca.cwds.data.persistence.cms.ChildClient.class))).thenReturn(childClientToCreate);
Set<Client> clientDomain = MAPPER.readValue(fixture("fixtures/domain/ScreeningToReferral/valid/validClient.json"), new TypeReference<Set<Client>>() {
});
gov.ca.cwds.data.persistence.cms.Client clientToCreate = new gov.ca.cwds.data.persistence.cms.Client("1234567ABC", (Client) clientDomain.toArray()[0], "2016-10-31");
when(clientDao.create(any(gov.ca.cwds.data.persistence.cms.Client.class))).thenReturn(clientToCreate);
Set<ReferralClient> referralClientDomain = MAPPER.readValue(fixture("fixtures/domain/ScreeningToReferral/valid/validReferralClient.json"), new TypeReference<Set<ReferralClient>>() {
});
gov.ca.cwds.data.persistence.cms.ReferralClient referralClientToCreate = new gov.ca.cwds.data.persistence.cms.ReferralClient((ReferralClient) referralClientDomain.toArray()[0], "2016-10-31");
when(referralClientDao.create(any(gov.ca.cwds.data.persistence.cms.ReferralClient.class))).thenReturn(referralClientToCreate);
Set<Allegation> allegationDomain = MAPPER.readValue(fixture("fixtures/domain/ScreeningToReferral/valid/validAllegation.json"), new TypeReference<Set<Allegation>>() {
});
gov.ca.cwds.data.persistence.cms.Allegation allegationToCreate = new gov.ca.cwds.data.persistence.cms.Allegation("2345678ABC", (Allegation) allegationDomain.toArray()[0], "2016-10-31");
when(allegationDao.create(any(gov.ca.cwds.data.persistence.cms.Allegation.class))).thenReturn(allegationToCreate);
Set<CrossReport> crossReportDomain = MAPPER.readValue(fixture("fixtures/domain/ScreeningToReferral/valid/validCrossReport.json"), new TypeReference<Set<CrossReport>>() {
});
gov.ca.cwds.data.persistence.cms.CrossReport crossReportToCreate = new gov.ca.cwds.data.persistence.cms.CrossReport("3456789ABC", // ((CrossReport) crossReportDomain).getThirdId(),
(CrossReport) crossReportDomain.toArray()[0], "OXA");
when(crossReportDao.create(any(gov.ca.cwds.data.persistence.cms.CrossReport.class))).thenReturn(crossReportToCreate);
Address addressDomain = MAPPER.readValue(fixture("fixtures/domain/ScreeningToReferral/valid/validAddress.json"), Address.class);
gov.ca.cwds.data.persistence.cms.Address addressToCreate = new gov.ca.cwds.data.persistence.cms.Address("345678ABC", addressDomain, "ABC");
when(addressDao.create(any(gov.ca.cwds.data.persistence.cms.Address.class))).thenReturn(addressToCreate);
ClientAddress clientAddressDomain = MAPPER.readValue(fixture("fixtures/domain/ScreeningToReferral/valid/validClientAddress.json"), ClientAddress.class);
gov.ca.cwds.data.persistence.cms.ClientAddress clientAddressToCreate = new gov.ca.cwds.data.persistence.cms.ClientAddress("456789ABC", clientAddressDomain, "ABC");
when(clientAddressDao.create(any(gov.ca.cwds.data.persistence.cms.ClientAddress.class))).thenReturn(clientAddressToCreate);
LongText longTextDomain = MAPPER.readValue(fixture("fixtures/domain/ScreeningToReferral/valid/validLongText.json"), LongText.class);
gov.ca.cwds.data.persistence.cms.LongText longTextToCreate = new gov.ca.cwds.data.persistence.cms.LongText("567890ABC", longTextDomain, "ABC");
when(longTextDao.create(any(gov.ca.cwds.data.persistence.cms.LongText.class))).thenReturn(longTextToCreate);
ScreeningToReferral screeningToReferral = MAPPER.readValue(fixture("fixtures/domain/ScreeningToReferral/invalid/incompatiableRoleAnonymousReporter.json"), ScreeningToReferral.class);
Boolean theErrorDetected = false;
Response response = screeningToReferralService.create(screeningToReferral);
if (response.hasMessages()) {
Set<ErrorMessage> messages = response.getMessages();
for (ErrorMessage message : messages) {
if (message.getMessage() != null) {
if (message.getMessage().contains("Participant contains incompatiable roles")) {
theErrorDetected = true;
}
}
}
assertThat(theErrorDetected, is(equalTo(true)));
} else {
Assert.fail("Expected error messages were not thrown");
}
}
use of gov.ca.cwds.rest.api.domain.ScreeningToReferral in project API by ca-cwds.
the class ScreeningToReferralServiceTest method testMultipleVictimSuccess.
@SuppressWarnings("javadoc")
@Test
public void testMultipleVictimSuccess() throws Exception {
Referral referralDomain = MAPPER.readValue(fixture("fixtures/domain/ScreeningToReferral/valid/validReferral.json"), Referral.class);
gov.ca.cwds.data.persistence.cms.Referral referralToCreate = new gov.ca.cwds.data.persistence.cms.Referral("0123456ABC", referralDomain, "2016-10-31");
when(referralDao.create(any(gov.ca.cwds.data.persistence.cms.Referral.class))).thenReturn(referralToCreate);
Client clientDomain = MAPPER.readValue(fixture("fixtures/domain/ScreeningToReferral/valid/validClientThatIsChild.json"), Client.class);
gov.ca.cwds.data.persistence.cms.Client client1ToCreate = new gov.ca.cwds.data.persistence.cms.Client("1234567ABC", clientDomain, "2017-10-31");
when(clientDao.create(any(gov.ca.cwds.data.persistence.cms.Client.class))).thenReturn(client1ToCreate);
when(clientDao.find("1234567ABC")).thenReturn(client1ToCreate);
Client clientDomain2 = MAPPER.readValue(fixture("fixtures/domain/ScreeningToReferral/valid/validClientThatIsChild2.json"), Client.class);
gov.ca.cwds.data.persistence.cms.Client client2ToCreate = new gov.ca.cwds.data.persistence.cms.Client("2345678ABC", clientDomain2, "2017-10-31");
when(clientDao.create(any(gov.ca.cwds.data.persistence.cms.Client.class))).thenReturn(client2ToCreate);
when(clientDao.find("2345678ABC")).thenReturn(client2ToCreate);
ChildClient childClient = MAPPER.readValue(fixture("fixtures/domain/ScreeningToReferral/valid/childClient.json"), ChildClient.class);
gov.ca.cwds.data.persistence.cms.ChildClient childClientToCreate = new gov.ca.cwds.data.persistence.cms.ChildClient("1234567ABC", childClient, "0XA");
when(childClientDao.create(any(gov.ca.cwds.data.persistence.cms.ChildClient.class))).thenReturn(childClientToCreate);
ChildClient childClient2 = MAPPER.readValue(fixture("fixtures/domain/ScreeningToReferral/valid/childClient.json"), ChildClient.class);
gov.ca.cwds.data.persistence.cms.ChildClient childClientToCreate2 = new gov.ca.cwds.data.persistence.cms.ChildClient("2345678ABC", childClient, "0XA");
when(childClientDao.create(any(gov.ca.cwds.data.persistence.cms.ChildClient.class))).thenReturn(childClientToCreate2);
Set<ReferralClient> referralClientDomain = MAPPER.readValue(fixture("fixtures/domain/ScreeningToReferral/valid/validReferralClient.json"), new TypeReference<Set<ReferralClient>>() {
});
gov.ca.cwds.data.persistence.cms.ReferralClient referralClientToCreate = new gov.ca.cwds.data.persistence.cms.ReferralClient((ReferralClient) referralClientDomain.toArray()[0], "2016-10-31");
when(referralClientDao.create(any(gov.ca.cwds.data.persistence.cms.ReferralClient.class))).thenReturn(referralClientToCreate);
Set<Allegation> allegationDomain = MAPPER.readValue(fixture("fixtures/domain/ScreeningToReferral/valid/validAllegation.json"), new TypeReference<Set<Allegation>>() {
});
gov.ca.cwds.data.persistence.cms.Allegation allegationToCreate = new gov.ca.cwds.data.persistence.cms.Allegation("2345678ABC", (Allegation) allegationDomain.toArray()[0], "2016-10-31");
when(allegationDao.create(any(gov.ca.cwds.data.persistence.cms.Allegation.class))).thenReturn(allegationToCreate);
Set<CrossReport> crossReportDomain = MAPPER.readValue(fixture("fixtures/domain/ScreeningToReferral/valid/validCrossReport.json"), new TypeReference<Set<CrossReport>>() {
});
gov.ca.cwds.data.persistence.cms.CrossReport crossReportToCreate = new gov.ca.cwds.data.persistence.cms.CrossReport("3456789ABC", // ((CrossReport) crossReportDomain).getThirdId(),
(CrossReport) crossReportDomain.toArray()[0], "OXA");
when(crossReportDao.create(any(gov.ca.cwds.data.persistence.cms.CrossReport.class))).thenReturn(crossReportToCreate);
when(crossReportDao.find("3456789ABC")).thenReturn(crossReportToCreate);
Reporter reporterDomain = MAPPER.readValue(fixture("fixtures/domain/ScreeningToReferral/valid/validReporter.json"), Reporter.class);
gov.ca.cwds.data.persistence.cms.Reporter reporterToCreate = new gov.ca.cwds.data.persistence.cms.Reporter(reporterDomain, "1234567ABC");
when(reporterDao.create(any(gov.ca.cwds.data.persistence.cms.Reporter.class))).thenReturn(reporterToCreate);
when(reporterDao.find("1234567ABC")).thenReturn(reporterToCreate);
Address addressDomain = MAPPER.readValue(fixture("fixtures/domain/ScreeningToReferral/valid/validAddress.json"), Address.class);
gov.ca.cwds.data.persistence.cms.Address addressToCreate = new gov.ca.cwds.data.persistence.cms.Address("3456789ABC", addressDomain, "ABC");
when(addressDao.create(any(gov.ca.cwds.data.persistence.cms.Address.class))).thenReturn(addressToCreate);
when(addressDao.find("3456789ABC")).thenReturn(addressToCreate);
ClientAddress clientAddressDomain = MAPPER.readValue(fixture("fixtures/domain/ScreeningToReferral/valid/validClientAddress.json"), ClientAddress.class);
gov.ca.cwds.data.persistence.cms.ClientAddress clientAddressToCreate = new gov.ca.cwds.data.persistence.cms.ClientAddress("3456789ABC", clientAddressDomain, "ABC");
when(clientAddressDao.create(any(gov.ca.cwds.data.persistence.cms.ClientAddress.class))).thenReturn(clientAddressToCreate);
when(clientAddressDao.find("3456789ABC")).thenReturn(clientAddressToCreate);
LongText longTextDomain = MAPPER.readValue(fixture("fixtures/domain/ScreeningToReferral/valid/validLongText.json"), LongText.class);
gov.ca.cwds.data.persistence.cms.LongText longTextToCreate = new gov.ca.cwds.data.persistence.cms.LongText("567890ABC", longTextDomain, "ABC");
when(longTextDao.create(any(gov.ca.cwds.data.persistence.cms.LongText.class))).thenReturn(longTextToCreate);
ScreeningToReferral screeningToReferral = MAPPER.readValue(fixture("fixtures/domain/ScreeningToReferral/valid/multipleVictimClients.json"), ScreeningToReferral.class);
try {
Response response = screeningToReferralService.create(screeningToReferral);
assertThat(response.getClass(), is(PostedScreeningToReferral.class));
assertThat(response.hasMessages(), is(equalTo(false)));
} catch (Exception e) {
// System.out.println("error = " + e.getMessage());
Assert.fail("Unexpected ServiceException was thrown " + e.getMessage());
}
}
use of gov.ca.cwds.rest.api.domain.ScreeningToReferral in project API by ca-cwds.
the class ScreeningToReferralServiceTest method testMultipleAddressPerParticipantSuccess.
@SuppressWarnings("javadoc")
@Test
public void testMultipleAddressPerParticipantSuccess() throws Exception {
Referral referralDomain = MAPPER.readValue(fixture("fixtures/domain/ScreeningToReferral/valid/validReferral.json"), Referral.class);
gov.ca.cwds.data.persistence.cms.Referral referralToCreate = new gov.ca.cwds.data.persistence.cms.Referral("0123456ABC", referralDomain, "2016-10-31");
when(referralDao.create(any(gov.ca.cwds.data.persistence.cms.Referral.class))).thenReturn(referralToCreate);
ChildClient childClient = MAPPER.readValue(fixture("fixtures/domain/ScreeningToReferral/valid/childClient.json"), ChildClient.class);
gov.ca.cwds.data.persistence.cms.ChildClient childClientToCreate = new gov.ca.cwds.data.persistence.cms.ChildClient("1234567ABC", childClient, "0XA");
when(childClientDao.create(any(gov.ca.cwds.data.persistence.cms.ChildClient.class))).thenReturn(childClientToCreate);
Set<Client> clientDomain = MAPPER.readValue(fixture("fixtures/domain/ScreeningToReferral/valid/validClient.json"), new TypeReference<Set<Client>>() {
});
gov.ca.cwds.data.persistence.cms.Client clientToCreate = new gov.ca.cwds.data.persistence.cms.Client("1234567ABC", (Client) clientDomain.toArray()[0], "2016-10-31");
when(clientDao.create(any(gov.ca.cwds.data.persistence.cms.Client.class))).thenReturn(clientToCreate);
when(clientDao.find("1234567ABC")).thenReturn(clientToCreate);
Set<ReferralClient> referralClientDomain = MAPPER.readValue(fixture("fixtures/domain/ScreeningToReferral/valid/validReferralClient.json"), new TypeReference<Set<ReferralClient>>() {
});
gov.ca.cwds.data.persistence.cms.ReferralClient referralClientToCreate = new gov.ca.cwds.data.persistence.cms.ReferralClient((ReferralClient) referralClientDomain.toArray()[0], "2016-10-31");
when(referralClientDao.create(any(gov.ca.cwds.data.persistence.cms.ReferralClient.class))).thenReturn(referralClientToCreate);
Set<Allegation> allegationDomain = MAPPER.readValue(fixture("fixtures/domain/ScreeningToReferral/valid/validAllegation.json"), new TypeReference<Set<Allegation>>() {
});
gov.ca.cwds.data.persistence.cms.Allegation allegationToCreate = new gov.ca.cwds.data.persistence.cms.Allegation("2345678ABC", (Allegation) allegationDomain.toArray()[0], "2016-10-31");
when(allegationDao.create(any(gov.ca.cwds.data.persistence.cms.Allegation.class))).thenReturn(allegationToCreate);
Set<CrossReport> crossReportDomain = MAPPER.readValue(fixture("fixtures/domain/ScreeningToReferral/valid/validCrossReport.json"), new TypeReference<Set<CrossReport>>() {
});
gov.ca.cwds.data.persistence.cms.CrossReport crossReportToCreate = new gov.ca.cwds.data.persistence.cms.CrossReport("3456789ABC", // ((CrossReport) crossReportDomain).getThirdId(),
(CrossReport) crossReportDomain.toArray()[0], "OXA");
when(crossReportDao.create(any(gov.ca.cwds.data.persistence.cms.CrossReport.class))).thenReturn(crossReportToCreate);
Reporter reporterDomain = MAPPER.readValue(fixture("fixtures/domain/ScreeningToReferral/valid/validReporter.json"), Reporter.class);
gov.ca.cwds.data.persistence.cms.Reporter reporterToCreate = new gov.ca.cwds.data.persistence.cms.Reporter(reporterDomain, "ABC");
when(reporterDao.create(any(gov.ca.cwds.data.persistence.cms.Reporter.class))).thenReturn(reporterToCreate);
Address addressDomain = MAPPER.readValue(fixture("fixtures/domain/ScreeningToReferral/valid/validAddress.json"), Address.class);
gov.ca.cwds.data.persistence.cms.Address addressToCreate = new gov.ca.cwds.data.persistence.cms.Address("3456789ABC", addressDomain, "ABC");
when(addressDao.create(any(gov.ca.cwds.data.persistence.cms.Address.class))).thenReturn(addressToCreate);
when(addressDao.find("3456789ABC")).thenReturn(addressToCreate);
ClientAddress clientAddressDomain = MAPPER.readValue(fixture("fixtures/domain/ScreeningToReferral/valid/validClientAddress.json"), ClientAddress.class);
gov.ca.cwds.data.persistence.cms.ClientAddress clientAddressToCreate = new gov.ca.cwds.data.persistence.cms.ClientAddress("3456789ABC", clientAddressDomain, "ABC");
when(clientAddressDao.create(any(gov.ca.cwds.data.persistence.cms.ClientAddress.class))).thenReturn(clientAddressToCreate);
when(clientAddressDao.find("3456789ABC")).thenReturn(clientAddressToCreate);
LongText longTextDomain = MAPPER.readValue(fixture("fixtures/domain/ScreeningToReferral/valid/validLongText.json"), LongText.class);
gov.ca.cwds.data.persistence.cms.LongText longTextToCreate = new gov.ca.cwds.data.persistence.cms.LongText("567890ABC", longTextDomain, "ABC");
when(longTextDao.create(any(gov.ca.cwds.data.persistence.cms.LongText.class))).thenReturn(longTextToCreate);
ScreeningToReferral screeningToReferral = MAPPER.readValue(fixture("fixtures/domain/ScreeningToReferral/valid/validMultipleAddressPerParticipant.json"), ScreeningToReferral.class);
try {
Response response = screeningToReferralService.create(screeningToReferral);
assertThat(response.getClass(), is(PostedScreeningToReferral.class));
assertThat(response.hasMessages(), is(equalTo(false)));
} catch (Exception e) {
Assert.fail("Unexpected ServiceException was thrown" + e.getMessage());
}
}
use of gov.ca.cwds.rest.api.domain.ScreeningToReferral in project API by ca-cwds.
the class ScreeningToReferralService method create.
@UnitOfWork(value = "cms")
@Override
public Response create(Request request) {
ScreeningToReferral screeningToReferral = (ScreeningToReferral) request;
Set<ErrorMessage> messages = new HashSet<ErrorMessage>();
verifyReferralHasValidParticipants(screeningToReferral, messages);
String dateStarted = extractStartDate(screeningToReferral, messages);
String timeStarted = extractStartTime(screeningToReferral, messages);
String referralId = createCmsReferral(screeningToReferral, messages, dateStarted, timeStarted);
createReferralAddress(screeningToReferral, messages);
Set<Participant> resultParticipants = new HashSet<>();
HashMap<Long, String> victimClient = new HashMap<>();
HashMap<Long, String> perpatratorClient = new HashMap<>();
processParticipants(screeningToReferral, messages, dateStarted, referralId, resultParticipants, victimClient, perpatratorClient);
Set<CrossReport> resultCrossReports = createCrossReports(screeningToReferral, messages, referralId);
Set<Allegation> resultAllegations = createAllegations(screeningToReferral, messages, referralId, victimClient, perpatratorClient);
PostedScreeningToReferral pstr = PostedScreeningToReferral.createWithDefaults(referralId, screeningToReferral, resultParticipants, resultCrossReports, resultAllegations);
pstr.setMessages(messages);
return pstr;
}
use of gov.ca.cwds.rest.api.domain.ScreeningToReferral in project API by ca-cwds.
the class ScreeningToReferralService method createCmsReferral.
private String createCmsReferral(ScreeningToReferral screeningToReferral, Set<ErrorMessage> messages, String dateStarted, String timeStarted) {
String referralId = null;
if (screeningToReferral.getReferralId() == null || screeningToReferral.getReferralId().isEmpty()) {
// the legacy id is not set - create the referral
String longTextId = generateLongTextId(screeningToReferral, messages);
// create a CMS Referral
Referral referral = null;
try {
referral = Referral.createWithDefaults(ParticipantValidator.anonymousReporter(screeningToReferral), communicationsMethodCode, screeningToReferral.getName(), dateStarted, timeStarted, referralResponseTypeCode, longTextId, DEFAULT_COUNTY_SPECIFIC_CODE, DEFAULT_APPROVAL_STATUS_CODE, DEFAULT_STAFF_PERSON_ID);
} catch (Exception e1) {
String message = e1.getMessage();
logError(message, e1, messages);
}
buildErrors(messages, validator.validate(referral));
PostedReferral postedReferral = this.referralService.create(referral);
referralId = postedReferral.getId();
} else {
// Referral ID passed - validate that Referral exist in CWS/CMS - no update for now
referralId = screeningToReferral.getReferralId();
Referral foundReferral = this.referralService.find(referralId);
if (foundReferral == null) {
String message = "Legacy Id does not correspond to an existing CMS/CWS Referral";
ServiceException se = new ServiceException(message);
logError(message, se, messages);
}
}
return referralId;
}
Aggregations