Search in sources :

Example 6 with TrackedEntityType

use of org.hisp.dhis.trackedentity.TrackedEntityType in project dhis2-core by dhis2.

the class TrackerCrudTest method setUp.

@BeforeEach
public void setUp() {
    trackedEntityInstanceService = mock(AbstractTrackedEntityInstanceService.class, CALLS_REAL_METHODS);
    when(importOptions.getUser()).thenReturn(user);
    when(importOptions.getIdSchemes()).thenReturn(idSchemes);
    when(idSchemes.getTrackedEntityIdScheme()).thenReturn(IdScheme.UID);
    when(idSchemes.getOrgUnitIdScheme()).thenReturn(IdScheme.UID);
    when(notifier.notify(any(JobConfiguration.class), any(NotificationLevel.class), anyString(), anyBoolean())).thenReturn(notifier);
    when(notifier.notify(any(JobConfiguration.class), anyString())).thenReturn(notifier);
    when(notifier.clear(any())).thenReturn(notifier);
    when(defaultTrackedEntityInstanceService.getTrackedEntityInstance(trackedEntityInstanceUid, user)).thenReturn(new org.hisp.dhis.trackedentity.TrackedEntityInstance());
    when(defaultTrackedEntityInstanceService.getTrackedEntityInstance(trackedEntityInstanceUid)).thenReturn(new org.hisp.dhis.trackedentity.TrackedEntityInstance());
    when(defaultTrackedEntityInstanceService.getTrackedEntityInstancesUidsIncludingDeleted(anyList())).thenReturn(new ArrayList<>());
    when(enrollmentService.deleteEnrollments(anyList(), any(), anyBoolean())).thenReturn(new ImportSummaries());
    when(enrollmentService.updateEnrollments(anyList(), any(), anyBoolean())).thenReturn(new ImportSummaries());
    when(enrollmentService.addEnrollments(anyList(), any(), any(), anyBoolean())).thenReturn(new ImportSummaries());
    when(enrollmentService.addEnrollmentList(anyList(), any())).thenReturn(new ImportSummaries());
    when(relationshipService.processRelationshipList(anyList(), any())).thenReturn(new ImportSummaries());
    when(userService.getUser(anyString())).thenReturn(new User());
    when(identifiableObjectManager.getObject(TrackedEntityType.class, IdScheme.UID, trackedEntityTypeUid)).thenReturn(new TrackedEntityType());
    when(identifiableObjectManager.getObject(OrganisationUnit.class, IdScheme.UID, orgUnitUid)).thenReturn(new OrganisationUnit());
    when(trackerAccessManager.canWrite(any(), any(org.hisp.dhis.trackedentity.TrackedEntityInstance.class))).thenReturn(new ArrayList<>());
    when(trackedEntityInstance.getOrgUnit()).thenReturn(orgUnitUid);
    when(trackedEntityInstance.getAttributes()).thenReturn(new ArrayList<>());
    when(trackedEntityInstance.getTrackedEntityType()).thenReturn(trackedEntityTypeUid);
    when(trackedEntityInstance.getTrackedEntityInstance()).thenReturn(trackedEntityInstanceUid);
    setFieldInAbstractService();
}
Also used : AbstractTrackedEntityInstanceService(org.hisp.dhis.dxf2.events.trackedentity.AbstractTrackedEntityInstanceService) OrganisationUnit(org.hisp.dhis.organisationunit.OrganisationUnit) User(org.hisp.dhis.user.User) TrackedEntityInstance(org.hisp.dhis.dxf2.events.trackedentity.TrackedEntityInstance) TrackedEntityType(org.hisp.dhis.trackedentity.TrackedEntityType) NotificationLevel(org.hisp.dhis.system.notification.NotificationLevel) ImportSummaries(org.hisp.dhis.dxf2.importsummary.ImportSummaries) JobConfiguration(org.hisp.dhis.scheduling.JobConfiguration) BeforeEach(org.junit.jupiter.api.BeforeEach)

Example 7 with TrackedEntityType

use of org.hisp.dhis.trackedentity.TrackedEntityType in project dhis2-core by dhis2.

the class TrackerSynchronizationTest method prepareDataForTest.

private void prepareDataForTest() {
    TrackedEntityAttribute teaA = createTrackedEntityAttribute('a');
    TrackedEntityAttribute teaB = createTrackedEntityAttribute('b');
    teaB.setSkipSynchronization(true);
    currentSession.save(teaA);
    currentSession.save(teaB);
    TrackedEntityType tet = createTrackedEntityType('a');
    TrackedEntityTypeAttribute tetaA = new TrackedEntityTypeAttribute(tet, teaA, true, false);
    TrackedEntityTypeAttribute tetaB = new TrackedEntityTypeAttribute(tet, teaB, true, false);
    tet.getTrackedEntityTypeAttributes().add(tetaA);
    tet.getTrackedEntityTypeAttributes().add(tetaB);
    currentSession.save(tet);
    OrganisationUnit ou = createOrganisationUnit('a');
    TrackedEntityInstance tei = createTrackedEntityInstance('a', ou, teaA);
    tei.setTrackedEntityType(tet);
    TrackedEntityAttributeValue teavB = createTrackedEntityAttributeValue('b', tei, teaB);
    tei.getTrackedEntityAttributeValues().add(teavB);
    TrackedEntityAttributeValue teavA = createTrackedEntityAttributeValue('a', tei, teaA);
    tei.getTrackedEntityAttributeValues().add(teavA);
    currentSession.save(ou);
    currentSession.save(tei);
    currentSession.save(teavA);
    currentSession.save(teavB);
}
Also used : TrackedEntityType(org.hisp.dhis.trackedentity.TrackedEntityType) OrganisationUnit(org.hisp.dhis.organisationunit.OrganisationUnit) TrackedEntityAttribute(org.hisp.dhis.trackedentity.TrackedEntityAttribute) TrackedEntityAttributeValue(org.hisp.dhis.trackedentityattributevalue.TrackedEntityAttributeValue) TrackedEntityTypeAttribute(org.hisp.dhis.trackedentity.TrackedEntityTypeAttribute) TrackedEntityInstance(org.hisp.dhis.trackedentity.TrackedEntityInstance)

Example 8 with TrackedEntityType

use of org.hisp.dhis.trackedentity.TrackedEntityType in project dhis2-core by dhis2.

the class EnrollmentSecurityImportValidationTest method setupMetadata.

private void setupMetadata() {
    organisationUnitA = createOrganisationUnit('A');
    organisationUnitB = createOrganisationUnit('B');
    manager.save(organisationUnitA);
    manager.save(organisationUnitB);
    dataElementA = createDataElement('A');
    dataElementB = createDataElement('B');
    dataElementA.setValueType(ValueType.INTEGER);
    dataElementB.setValueType(ValueType.INTEGER);
    manager.save(dataElementA);
    manager.save(dataElementB);
    programStageA = createProgramStage('A', 0);
    programStageB = createProgramStage('B', 0);
    programStageB.setRepeatable(true);
    manager.save(programStageA);
    manager.save(programStageB);
    programA = createProgram('A', new HashSet<>(), organisationUnitA);
    programA.setProgramType(ProgramType.WITH_REGISTRATION);
    trackedEntityType = createTrackedEntityType('A');
    trackedEntityTypeService.addTrackedEntityType(trackedEntityType);
    TrackedEntityType trackedEntityTypeFromProgram = createTrackedEntityType('C');
    trackedEntityTypeService.addTrackedEntityType(trackedEntityTypeFromProgram);
    manager.save(programA);
    ProgramStageDataElement programStageDataElement = new ProgramStageDataElement();
    programStageDataElement.setDataElement(dataElementA);
    programStageDataElement.setProgramStage(programStageA);
    programStageDataElementService.addProgramStageDataElement(programStageDataElement);
    programStageA.getProgramStageDataElements().add(programStageDataElement);
    programStageA.setProgram(programA);
    programStageDataElement = new ProgramStageDataElement();
    programStageDataElement.setDataElement(dataElementB);
    programStageDataElement.setProgramStage(programStageB);
    programStageDataElementService.addProgramStageDataElement(programStageDataElement);
    programStageB.getProgramStageDataElements().add(programStageDataElement);
    programStageB.setProgram(programA);
    programStageB.setMinDaysFromStart(2);
    programA.getProgramStages().add(programStageA);
    programA.getProgramStages().add(programStageB);
    manager.update(programStageA);
    manager.update(programStageB);
    manager.update(programA);
    maleA = createTrackedEntityInstance('A', organisationUnitA);
    maleB = createTrackedEntityInstance(organisationUnitB);
    femaleA = createTrackedEntityInstance(organisationUnitA);
    femaleB = createTrackedEntityInstance(organisationUnitB);
    maleA.setTrackedEntityType(trackedEntityType);
    maleB.setTrackedEntityType(trackedEntityType);
    femaleA.setTrackedEntityType(trackedEntityType);
    femaleB.setTrackedEntityType(trackedEntityType);
    manager.save(maleA);
    manager.save(maleB);
    manager.save(femaleA);
    manager.save(femaleB);
    manager.flush();
}
Also used : ProgramStageDataElement(org.hisp.dhis.program.ProgramStageDataElement) TrackedEntityType(org.hisp.dhis.trackedentity.TrackedEntityType) HashSet(java.util.HashSet)

Example 9 with TrackedEntityType

use of org.hisp.dhis.trackedentity.TrackedEntityType in project dhis2-core by dhis2.

the class EnrollmentSecurityImportValidationTest method testUserNoAccessToTrackedEntity.

@Test
void testUserNoAccessToTrackedEntity() throws IOException {
    clearSecurityContext();
    setupMetadata();
    programA.setPublicAccess(AccessStringHelper.DATA_READ_WRITE);
    TrackedEntityType bPJ0FMtcnEh = trackedEntityTypeService.getTrackedEntityType("bPJ0FMtcnEh");
    programA.setTrackedEntityType(bPJ0FMtcnEh);
    manager.updateNoAcl(programA);
    User user = createUser("user1").setOrganisationUnits(Sets.newHashSet(organisationUnitA));
    userService.addUser(user);
    injectSecurityContext(user);
    TrackerImportParams params = createBundleFromJson("tracker/validations/enrollments_no-access-tei.json");
    params.setUser(user);
    params.setImportStrategy(TrackerImportStrategy.CREATE);
    TrackerImportReport trackerImportReport = trackerImportService.importTracker(params);
    assertEquals(1, trackerImportReport.getValidationReport().getErrors().size());
    assertThat(trackerImportReport.getValidationReport().getErrors(), hasItem(hasProperty("errorCode", equalTo(TrackerErrorCode.E1104))));
}
Also used : TrackedEntityType(org.hisp.dhis.trackedentity.TrackedEntityType) TrackerImportParams(org.hisp.dhis.tracker.TrackerImportParams) TrackerImportReport(org.hisp.dhis.tracker.report.TrackerImportReport) User(org.hisp.dhis.user.User) Test(org.junit.jupiter.api.Test)

Example 10 with TrackedEntityType

use of org.hisp.dhis.trackedentity.TrackedEntityType in project dhis2-core by dhis2.

the class DhisConvenienceTest method createTrackedEntityType.

public static TrackedEntityType createTrackedEntityType(char uniqueChar) {
    TrackedEntityType trackedEntityType = new TrackedEntityType();
    trackedEntityType.setAutoFields();
    trackedEntityType.setName("TrackedEntityType" + uniqueChar);
    trackedEntityType.setDescription("TrackedEntityType" + uniqueChar + " description");
    return trackedEntityType;
}
Also used : TrackedEntityType(org.hisp.dhis.trackedentity.TrackedEntityType)

Aggregations

TrackedEntityType (org.hisp.dhis.trackedentity.TrackedEntityType)57 Test (org.junit.jupiter.api.Test)27 OrganisationUnit (org.hisp.dhis.organisationunit.OrganisationUnit)22 Program (org.hisp.dhis.program.Program)19 ValidationErrorReporter (org.hisp.dhis.tracker.report.ValidationErrorReporter)16 User (org.hisp.dhis.user.User)16 TrackedEntityInstance (org.hisp.dhis.trackedentity.TrackedEntityInstance)15 TrackedEntity (org.hisp.dhis.tracker.domain.TrackedEntity)15 TrackedEntityAttribute (org.hisp.dhis.trackedentity.TrackedEntityAttribute)12 ProgramInstance (org.hisp.dhis.program.ProgramInstance)11 Date (java.util.Date)10 HashSet (java.util.HashSet)10 ProgramStage (org.hisp.dhis.program.ProgramStage)8 CategoryCombo (org.hisp.dhis.category.CategoryCombo)6 ProgramStageDataElement (org.hisp.dhis.program.ProgramStageDataElement)6 RelationshipType (org.hisp.dhis.relationship.RelationshipType)6 TrackedEntityTypeAttribute (org.hisp.dhis.trackedentity.TrackedEntityTypeAttribute)6 Collectors (java.util.stream.Collectors)5 TransactionalIntegrationTest (org.hisp.dhis.TransactionalIntegrationTest)5 CategoryOption (org.hisp.dhis.category.CategoryOption)5