@Override protected ProgramWorkflow getObjectByUuid(String uuid) { return Context.getProgramWorkflowService().getWorkflowByUuid(uuid); } }
@Override protected ProgramWorkflow getExistingObject() { return programWorkflowService.getWorkflowByUuid(EXISTING_UUID); } }
/** * @see ProgramWorkflowService#getWorkflowByUuid(String) */ @Test public void getWorkflowByUuid_shouldReturnNullIfNoObjectFoundWithGivenUuid() { Assert.assertNull(Context.getProgramWorkflowService().getWorkflowByUuid("some invalid uuid")); }
/** * @see ProgramWorkflowService#getWorkflowByUuid(String) */ @Test public void getWorkflowByUuid_shouldFindObjectGivenValidUuid() { String uuid = "84f0effa-dd73-46cb-b931-7cd6be6c5f81"; ProgramWorkflow programWorkflow = Context.getProgramWorkflowService().getWorkflowByUuid(uuid); Assert.assertEquals(1, (int) programWorkflow.getProgramWorkflowId()); }
/** * @see PatientProgramValidator#validate(Object,Errors) */ @Test public void validate_shouldPassIfAPatientIsInMultipleStatesInDifferentWorkFlows() { PatientProgram program = Context.getProgramWorkflowService().getPatientProgram(1); //Add another state to another work flow PatientState patientState2 = new PatientState(); patientState2.setStartDate(new Date()); patientState2.setState(Context.getProgramWorkflowService().getWorkflowByUuid("c66c8713-7df4-40de-96f6-dc4cce3432da") .getState(5)); program.getStates().add(patientState2); ValidateUtil.validate(program); }
/** * @throws InterruptedException * @see PatientProgramValidator#validate(Object,Errors) */ @Test public void validate_shouldFailIfAnyPatientStatesOverlapEachOtherInTheSameWorkFlow() throws InterruptedException { PatientProgram program = Context.getProgramWorkflowService().getPatientProgram(1); //Addition of new states to this program in the test data can make this test useless, so catch it her Assert.assertEquals(1, program.getStates().size()); PatientState patientState1 = program.getStates().iterator().next(); //Add a state that comes after patientState1 PatientState patientState2 = new PatientState(); patientState2.setStartDate(new Date()); patientState2.setState(Context.getProgramWorkflowService().getWorkflowByUuid("84f0effa-dd73-46cb-b931-7cd6be6c5f81") .getState(1)); //guarantees that startDate of patientState2 is atleast 10ms earlier Thread.sleep(10); patientState1.setEndDate(new Date()); program.getStates().add(patientState2); BindException errors = new BindException(program, ""); new PatientProgramValidator().validate(program, errors); Assert.assertEquals(true, errors.hasFieldErrors("states")); }
@Override public ProgramWorkflow getByUniqueId(String uniqueId) { return Context.getProgramWorkflowService().getWorkflowByUuid(uniqueId); }
@Override public ProgramWorkflow newObject() { return Context.getProgramWorkflowService().getWorkflowByUuid(getUuidProperty()); }
workflow = Context.getProgramWorkflowService().getWorkflowByUuid(identifier);
@Override public void testResults(SubmissionResults results) { results.assertNoErrors(); results.assertEncounterCreated(); List<PatientProgram> pps = pws.getPatientPrograms(ps.getPatient(patientId), pws.getProgram(programId), null, null, null, null, false); Assert.assertEquals(1, pps.size()); //the user selected date should have been set Assert.assertEquals(ymdToDate(dateAsString(enrollmentDate)), ymdToDate(dateAsString(pps.get(0) .getDateEnrolled()))); //the initial state should have been set Assert.assertEquals(1, pps.get(0).getStates().size()); Assert.assertEquals(200, pps.get(0).getCurrentState(pws.getWorkflowByUuid("72a90efc-5140-11e1-a3e3-00248140a5eb")).getState() .getId().intValue()); };
@Override public void testResults(SubmissionResults results) { results.assertNoErrors(); results.assertEncounterCreated(); List<PatientProgram> pps = pws.getPatientPrograms(ps.getPatient(patientId), pws.getProgram(programId), null, null, null, null, false); Assert.assertEquals(1, pps.size()); //the user selected date should have been set Assert.assertEquals(ymdToDate(dateAsString(enrollmentDate)), ymdToDate(dateAsString(pps.get(0) .getDateEnrolled()))); //the initial states should have been set for the 2 workflows in the form Assert.assertEquals(2, pps.get(0).getCurrentStates().size()); ProgramWorkflow wf1 = pws.getWorkflowByUuid("67337cdc-53ad-11e1-8cb6-00248140a5eb"); ProgramWorkflow wf2 = pws.getWorkflowByUuid("6de7ed10-53ad-11e1-8cb6-00248140a5eb"); Assert.assertNotNull(pps.get(0).getCurrentState(wf1).getState()); Assert.assertEquals(ymdToDate(dateAsString(enrollmentDate)), ymdToDate(dateAsString(pps.get(0).getCurrentState(wf1).getStartDate()))); Assert.assertNotNull(pps.get(0).getCurrentState(wf2).getState()); Assert.assertEquals(ymdToDate(dateAsString(enrollmentDate)), ymdToDate(dateAsString(pps.get(0).getCurrentState(wf2).getStartDate()))); };
Assert.assertTrue(dependencies.contains(Context.getProgramWorkflowService().getWorkflowByUuid( "72a90efc-5140-11e1-a3e3-00248140a5eb"))); Assert.assertTrue(dependencies.contains(Context.getProgramWorkflowService().getWorkflowByUuid( "7c3e071a-53a7-11e1-8cb6-00248140a5eb")));
Assert.assertTrue(dependencies.contains(Context.getProgramWorkflowService().getWorkflowByUuid( "72a90efc-5140-11e1-a3e3-00248140a5eb"))); Assert.assertTrue(dependencies.contains(Context.getProgramWorkflowService().getWorkflowByUuid( "7c3e071a-53a7-11e1-8cb6-00248140a5eb")));
Assert.assertTrue(dependencies.contains(Context.getProgramWorkflowService().getWorkflowByUuid( "72a90efc-5140-11e1-a3e3-00248140a5eb"))); Assert.assertTrue(dependencies.contains(Context.getProgramWorkflowService().getWorkflowByUuid( "7c3e071a-53a7-11e1-8cb6-00248140a5eb")));