diff --git a/src/test/java/org/hisp/dhis/model/ProgramTest.java b/src/test/java/org/hisp/dhis/model/ProgramTest.java index e70665c1..8e6b4fc1 100644 --- a/src/test/java/org/hisp/dhis/model/ProgramTest.java +++ b/src/test/java/org/hisp/dhis/model/ProgramTest.java @@ -41,10 +41,12 @@ @Tag(TestTags.UNIT) class ProgramTest { + private static final String PATH_PROGRAM_ADDRESS_BOOK = "metadata/program-address-book.json"; + @Test void testDeserializeProgramObjects() { ProgramObjects objects = - JsonClassPathFile.fromJson("metadata/program-address-book.json", ProgramObjects.class); + JsonClassPathFile.fromJson(PATH_PROGRAM_ADDRESS_BOOK, ProgramObjects.class); assertNotNull(objects); assertSize(1, objects.getPrograms()); @@ -53,6 +55,20 @@ void testDeserializeProgramObjects() { assertNotEmpty(objects.getProgramStageSections()); } + @Test + void testTrackedEntityAttributes() { + ProgramObjects objects = + JsonClassPathFile.fromJson(PATH_PROGRAM_ADDRESS_BOOK, ProgramObjects.class); + + Program program = objects.getPrograms().get(0); + + assertNotNull(program); + + assertSize(6, program.getTrackedEntityAttributes()); + assertSize(5, program.getNonConfidentialTrackedEntityAttributes()); + assertSize(5, program.getSynchronizableTrackedEntityAttributes()); + } + @Test void testGetDataElements() { DataElement deA = set(new DataElement(), 'A'); diff --git a/src/test/resources/metadata/program-address-book.json b/src/test/resources/metadata/program-address-book.json index 4c1279c2..dd8f5ba8 100644 --- a/src/test/resources/metadata/program-address-book.json +++ b/src/test/resources/metadata/program-address-book.json @@ -32,6 +32,24 @@ "icon": "Address_Book" }, "programTrackedEntityAttributes": [ + { + "id": "p53aDl4OKpS", + "program": { + "id": "dIFNZrYGcOB" + }, + "trackedEntityAttribute": { + "id": "TzTXLcSFnry", + "name": "Personal ID", + "confidential": true, + "unique": true, + "orgunitScope": true, + "skipSynchronization": true + }, + "displayInList": true, + "mandatory": true, + "allowFutureDate": false, + "searchable": true + }, { "id": "NkvU4urhVNv", "program": { @@ -110,7 +128,12 @@ "id": "dIFNZrYGcOB" }, "trackedEntityAttribute": { - "id": "P2cwLGskgxn" + "id": "P2cwLGskgxn", + "name": "Country", + "confidential": false, + "unique": false, + "orgunitScope": false, + "skipSynchronization": false }, "displayInList": true, "mandatory": true, @@ -150,6 +173,9 @@ "id": "dIFNZrYGcOB" }, "trackedEntityAttributes": [ + { + "id": "TzTXLcSFnry" + }, { "id": "lZGmxYbs97q" },