=== modified file 'dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/event/AbstractEventService.java' --- dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/event/AbstractEventService.java 2013-09-23 12:38:38 +0000 +++ dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/event/AbstractEventService.java 2013-09-23 13:45:23 +0000 @@ -222,11 +222,15 @@ { return new ImportSummary( ImportStatus.ERROR, "Person " + patient.getUid() + " have multiple active enrollments into programStage " + programStage.getUid() - + " please check and correct your database for multiple active events." ); + + " please check and correct your database for multiple active stages." ); } programStageInstance = programStageInstances.get( 0 ); } + else + { + + } } else { === modified file 'dhis-2/dhis-services/dhis-service-dxf2/src/test/java/org/hisp/dhis/dxf2/events/RegistrationMultiEventsServiceTest.java' --- dhis-2/dhis-services/dhis-service-dxf2/src/test/java/org/hisp/dhis/dxf2/events/RegistrationMultiEventsServiceTest.java 2013-09-23 12:38:38 +0000 +++ dhis-2/dhis-services/dhis-service-dxf2/src/test/java/org/hisp/dhis/dxf2/events/RegistrationMultiEventsServiceTest.java 2013-09-23 13:45:23 +0000 @@ -194,7 +194,7 @@ @Test public void testSaveWithoutProgramStageShouldFail() { - Event event = createEvent( programA.getUid(), null, organisationUnitA.getUid(), personMaleA.getPerson() ); + Event event = createEvent( programA.getUid(), null, organisationUnitA.getUid(), personMaleA.getPerson(), dataElementA.getUid() ); ImportSummary importSummary = eventService.saveEvent( event ); assertEquals( ImportStatus.ERROR, importSummary.getStatus() ); assertThat( importSummary.getDescription(), CoreMatchers.containsString( "Event.programStage does not point to a valid programStage" ) ); @@ -203,12 +203,28 @@ @Test public void testSaveWithoutEnrollmentShouldFail() { - Event event = createEvent( programA.getUid(), programStageA.getUid(), organisationUnitA.getUid(), personMaleA.getPerson() ); + Event event = createEvent( programA.getUid(), programStageA.getUid(), organisationUnitA.getUid(), personMaleA.getPerson(), dataElementA.getUid() ); ImportSummary importSummary = eventService.saveEvent( event ); assertEquals( ImportStatus.ERROR, importSummary.getStatus() ); assertThat( importSummary.getDescription(), CoreMatchers.containsString( "is not enrolled in program" ) ); } + @Test + public void testSaveWithEnrollmentShouldNotFail() + { + Enrollment enrollment = createEnrollment( programA.getUid(), personMaleA.getPerson() ); + ImportSummary importSummary = enrollmentService.saveEnrollment( enrollment ); + assertEquals( ImportStatus.SUCCESS, importSummary.getStatus() ); + + Event event = createEvent( programA.getUid(), programStageA.getUid(), organisationUnitA.getUid(), personMaleA.getPerson(), dataElementA.getUid() ); + importSummary = eventService.saveEvent( event ); + assertEquals( ImportStatus.SUCCESS, importSummary.getStatus() ); + + event = createEvent( programA.getUid(), programStageA.getUid(), organisationUnitA.getUid(), personMaleA.getPerson(), dataElementB.getUid() ); + importSummary = eventService.saveEvent( event ); + assertEquals( ImportStatus.SUCCESS, importSummary.getStatus() ); + } + private Enrollment createEnrollment( String program, String person ) { Enrollment enrollment = new Enrollment(); @@ -218,7 +234,7 @@ return enrollment; } - private Event createEvent( String program, String programStage, String orgUnit, String person ) + private Event createEvent( String program, String programStage, String orgUnit, String person, String dataElement ) { Event event = new Event(); event.setProgram( program ); @@ -226,7 +242,7 @@ event.setOrgUnit( orgUnit ); event.setPerson( person ); - event.getDataValues().add( new DataValue( dataElementA.getUid(), "10" ) ); + event.getDataValues().add( new DataValue( dataElement, "10" ) ); return event; }