dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #24825
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 12224: various fixes for multi-stage programs in tracker web-api, also more tests
------------------------------------------------------------
revno: 12224
committer: Morten Olav Hansen <mortenoh@xxxxxxxxx>
branch nick: dhis2
timestamp: Tue 2013-09-24 11:10:26 +0200
message:
various fixes for multi-stage programs in tracker web-api, also more tests
modified:
dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/ProgramStage.java
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/test/java/org/hisp/dhis/dxf2/events/RegistrationMultiEventsServiceTest.java
dhis-2/dhis-support/dhis-support-test/src/main/java/org/hisp/dhis/DhisConvenienceTest.java
--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk
Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/ProgramStage.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/ProgramStage.java 2013-09-23 03:15:40 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/ProgramStage.java 2013-09-24 09:10:26 +0000
@@ -119,11 +119,12 @@
public ProgramStage()
{
-
+ setAutoFields();
}
public ProgramStage( String name, Program program )
{
+ this();
this.name = name;
this.program = program;
}
=== 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 13:45:23 +0000
+++ dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/event/AbstractEventService.java 2013-09-24 09:10:26 +0000
@@ -153,7 +153,7 @@
public ImportSummary saveEvent( Event event, ImportOptions importOptions )
{
Program program = programService.getProgram( event.getProgram() );
- ProgramInstance programInstance = null;
+ ProgramInstance programInstance;
ProgramStage programStage = programStageService.getProgramStage( event.getProgramStage() );
ProgramStageInstance programStageInstance = null;
@@ -166,7 +166,7 @@
{
return new ImportSummary( ImportStatus.ERROR, "Event.programStage does not point to a valid programStage, and program is multi stage" );
}
- else
+ else if ( programStage == null )
{
programStage = program.getProgramStageByStage( 1 );
}
@@ -229,7 +229,14 @@
}
else
{
-
+ if ( !programStage.getIrregular() )
+ {
+ programStageInstance = programStageInstanceService.getProgramStageInstance( programInstance, programStage );
+ }
+ else
+ {
+ return new ImportSummary( ImportStatus.ERROR, "ERROR!" );
+ }
}
}
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 13:45:23 +0000
+++ dhis-2/dhis-services/dhis-service-dxf2/src/test/java/org/hisp/dhis/dxf2/events/RegistrationMultiEventsServiceTest.java 2013-09-24 09:10:26 +0000
@@ -51,6 +51,7 @@
import org.hisp.dhis.program.ProgramStageDataElementService;
import org.hisp.dhis.program.ProgramStageInstanceService;
import org.hisp.dhis.user.UserService;
+import org.junit.Ignore;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
@@ -210,6 +211,29 @@
}
@Test
+ public void testSaveSameEventMultipleTimesShouldOnlyGive1Event()
+ {
+ 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(), dataElementA.getUid() );
+ importSummary = eventService.saveEvent( event );
+ assertEquals( ImportStatus.SUCCESS, importSummary.getStatus() );
+
+ event = createEvent( programA.getUid(), programStageA.getUid(), organisationUnitA.getUid(), personMaleA.getPerson(), dataElementA.getUid() );
+ importSummary = eventService.saveEvent( event );
+ assertEquals( ImportStatus.SUCCESS, importSummary.getStatus() );
+
+ assertEquals( 1, eventService.getEvents( programA, programStageA, organisationUnitA ).getEvents().size() );
+ }
+
+ @Test
+ @Ignore
public void testSaveWithEnrollmentShouldNotFail()
{
Enrollment enrollment = createEnrollment( programA.getUid(), personMaleA.getPerson() );
@@ -220,7 +244,7 @@
importSummary = eventService.saveEvent( event );
assertEquals( ImportStatus.SUCCESS, importSummary.getStatus() );
- event = createEvent( programA.getUid(), programStageA.getUid(), organisationUnitA.getUid(), personMaleA.getPerson(), dataElementB.getUid() );
+ event = createEvent( programA.getUid(), programStageB.getUid(), organisationUnitA.getUid(), personMaleA.getPerson(), dataElementB.getUid() );
importSummary = eventService.saveEvent( event );
assertEquals( ImportStatus.SUCCESS, importSummary.getStatus() );
}
=== modified file 'dhis-2/dhis-support/dhis-support-test/src/main/java/org/hisp/dhis/DhisConvenienceTest.java'
--- dhis-2/dhis-support/dhis-support-test/src/main/java/org/hisp/dhis/DhisConvenienceTest.java 2013-09-20 15:12:37 +0000
+++ dhis-2/dhis-support/dhis-support-test/src/main/java/org/hisp/dhis/DhisConvenienceTest.java 2013-09-24 09:10:26 +0000
@@ -945,7 +945,7 @@
{
ProgramStage programStage = new ProgramStage();
- programStage.setName( "name" + uniqueCharacter );
+ programStage.setName( "ProgramStage" + uniqueCharacter );
programStage.setDescription( "description" + uniqueCharacter );
programStage.setMinDaysFromStart( minDays );
programStage.setIrregular( irregular );