@Override public ProgramWorkflowState newDelegate() { return new ProgramWorkflowState(); }
@Test public void transitionToDate_shouldSetEndDateOfNewStateToProgramCompletionDateIfProgramCompleted() throws Exception { //given PatientProgram program = new PatientProgram(); program.setDateEnrolled(new Date()); program.setDateCompleted(new Date()); ProgramWorkflow workflow = new ProgramWorkflow(); ProgramWorkflowState workflowState = new ProgramWorkflowState(); workflowState.setTerminal(false); workflowState.setProgramWorkflow(workflow); //when program.transitionToState(workflowState, new Date()); //then Assert.assertTrue(program.getStates().size() == 1); Assert.assertTrue(program.getStates().iterator().next().getEndDate().equals(program.getDateCompleted())); }
@Test public void transitionToDate_shouldSetEndDateOfNewStateToNullIfProgramNotCompleted() throws Exception { //given PatientProgram program = new PatientProgram(); program.setDateEnrolled(new Date()); ProgramWorkflow workflow = new ProgramWorkflow(); ProgramWorkflowState workflowState = new ProgramWorkflowState(); workflowState.setTerminal(false); workflowState.setProgramWorkflow(workflow); //when program.transitionToState(workflowState, new Date()); //then Assert.assertTrue(program.getStates().size() == 1); Assert.assertNull(program.getStates().iterator().next().getEndDate()); }
program.setDateCompleted(new Date()); ProgramWorkflow workflow = new ProgramWorkflow(); ProgramWorkflowState workflowState = new ProgramWorkflowState(); workflowState.setProgramWorkflow(workflow);
ProgramWorkflowState workflowState = new ProgramWorkflowState(); workflowState.setProgramWorkflow(workflow);
ProgramWorkflowState state1_w1 = new ProgramWorkflowState(); state1_w1.setConcept(cs.getConcept(5)); state1_w1.setInitial(true); workflow1.addState(state1_w1); ProgramWorkflowState state2_w1 = new ProgramWorkflowState(); state2_w1.setConcept(cs.getConcept(6)); state2_w1.setInitial(false); ProgramWorkflowState state1_w2 = new ProgramWorkflowState(); state1_w2.setConcept(cs.getConcept(5)); state1_w2.setInitial(true); workflow2.addState(state1_w2); ProgramWorkflowState state2_w2 = new ProgramWorkflowState(); state2_w2.setConcept(cs.getConcept(6)); state2_w2.setInitial(false);
ProgramWorkflowState state1_w1 = new ProgramWorkflowState(); state1_w1.setConcept(cs.getConcept(5)); state1_w1.setInitial(true); workflow1.addState(state1_w1); ProgramWorkflowState state2_w1 = new ProgramWorkflowState(); state2_w1.setConcept(cs.getConcept(6)); state2_w1.setInitial(false); ProgramWorkflowState state1_w2 = new ProgramWorkflowState(); state1_w2.setConcept(cs.getConcept(5)); state1_w2.setInitial(true); workflow2.addState(state1_w2); ProgramWorkflowState state2_w2 = new ProgramWorkflowState(); state2_w2.setConcept(cs.getConcept(6)); state2_w2.setInitial(false); ProgramWorkflowState state1_w3 = new ProgramWorkflowState(); state1_w3.setConcept(cs.getConcept(5)); state1_w3.setInitial(true); ProgramWorkflowState state2_w3 = new ProgramWorkflowState(); state2_w3.setConcept(cs.getConcept(6)); state2_w3.setInitial(false);
program.addWorkflow(workflow); ProgramWorkflowState state1 = new ProgramWorkflowState(); state1.setConcept(cs.getConcept(5)); state1.setInitial(true); workflow.addState(state1); ProgramWorkflowState state2 = new ProgramWorkflowState(); state2.setConcept(cs.getConcept(6)); state2.setInitial(false);
@Test public void saveProgram_shouldFailIfProgramWorkFlowStateConceptIsNull() { exception.expect(APIException.class); exception.expectMessage("ProgramWorkflowState concept, initial, terminal are required"); Program program = new Program(); program.setName("TEST PROGRAM"); program.setDescription("TEST PROGRAM DESCRIPTION"); program.setConcept(new Concept(1)); ProgramWorkflow workflow = new ProgramWorkflow(); workflow.setConcept(new Concept(2)); ProgramWorkflowState state1 = new ProgramWorkflowState(); state1.setInitial(true); state1.setTerminal(false); workflow.addState(state1); program.addWorkflow(workflow); pws.saveProgram(program); }
@Test public void saveProgram_shouldFailIfProgramWorkFlowStateTerminalIsNull() { exception.expect(APIException.class); exception.expectMessage("ProgramWorkflowState concept, initial, terminal are required"); Program program = new Program(); program.setName("TEST PROGRAM"); program.setDescription("TEST PROGRAM DESCRIPTION"); program.setConcept(new Concept(1)); ProgramWorkflow workflow = new ProgramWorkflow(); workflow.setConcept(new Concept(2)); ProgramWorkflowState state1 = new ProgramWorkflowState(); state1.setConcept(new Concept(3)); state1.setInitial(true); workflow.addState(state1); program.addWorkflow(workflow); pws.saveProgram(program); }
@Test public void saveProgram_shouldFailIfProgramWorkFlowStateInitialIsNull() { exception.expect(APIException.class); exception.expectMessage("ProgramWorkflowState concept, initial, terminal are required"); Program program = new Program(); program.setName("TEST PROGRAM"); program.setDescription("TEST PROGRAM DESCRIPTION"); program.setConcept(new Concept(1)); ProgramWorkflow workflow = new ProgramWorkflow(); workflow.setConcept(new Concept(2)); ProgramWorkflowState state1 = new ProgramWorkflowState(); state1.setConcept(new Concept(3)); state1.setTerminal(false); workflow.addState(state1); program.addWorkflow(workflow); pws.saveProgram(program); }
Concept state1Concept = new Concept(); state1Concept.addName(state1ConceptName); ProgramWorkflowState state1 = new ProgramWorkflowState(); state1.setConcept(state1Concept); program.addState(state1); Concept state2Concept = new Concept(); state2Concept.addName(state2ConceptName); ProgramWorkflowState state2 = new ProgramWorkflowState(); state2.setConcept(state2Concept); program.addState(state2);