Search in sources :

Example 1 with EVENT

use of org.hisp.dhis.tracker.TrackerType.EVENT in project dhis2-core by dhis2.

the class RepeatedEventsValidationHookTest method testOneEventInNotRepeatableProgramStageAndOneAlreadyOnDBAreNotPassingValidation.

@Test
void testOneEventInNotRepeatableProgramStageAndOneAlreadyOnDBAreNotPassingValidation() {
    // given
    Event event = notRepeatableEvent("A");
    ProgramInstance programInstance = new ProgramInstance();
    programInstance.setUid(event.getEnrollment());
    // when
    bundle.setStrategy(event, TrackerImportStrategy.CREATE);
    when(preheat.getEnrollment(TrackerIdScheme.UID, event.getEnrollment())).thenReturn(programInstance);
    when(preheat.getProgramStageWithEvents()).thenReturn(Lists.newArrayList(Pair.of(event.getProgramStage(), event.getEnrollment())));
    bundle.setEvents(Lists.newArrayList(event));
    ValidationErrorReporter errorReporter = new ValidationErrorReporter(new TrackerImportValidationContext(bundle));
    validatorToTest.validate(errorReporter, ctx);
    // then
    assertEquals(1, errorReporter.getReportList().size());
    assertTrue(errorReporter.hasErrorReport(err -> E1039.equals(err.getErrorCode()) && EVENT.equals(err.getTrackerType()) && event.getUid().equals(err.getUid())));
    assertThat(errorReporter.getReportList().get(0).getErrorMessage(), is("ProgramStage: `" + NOT_REPEATABLE_PROGRAM_STAGE_WITH_REGISTRATION + "`, is not repeatable and an event already exists."));
}
Also used : Strictness(org.mockito.quality.Strictness) BeforeEach(org.junit.jupiter.api.BeforeEach) MockitoSettings(org.mockito.junit.jupiter.MockitoSettings) Mock(org.mockito.Mock) ValidationErrorReporter(org.hisp.dhis.tracker.report.ValidationErrorReporter) Program(org.hisp.dhis.program.Program) EVENT(org.hisp.dhis.tracker.TrackerType.EVENT) Lists(com.google.common.collect.Lists) Pair(org.apache.commons.lang3.tuple.Pair) ExtendWith(org.junit.jupiter.api.extension.ExtendWith) TrackerImportValidationContext(org.hisp.dhis.tracker.validation.TrackerImportValidationContext) E1039(org.hisp.dhis.tracker.report.TrackerErrorCode.E1039) ProgramInstance(org.hisp.dhis.program.ProgramInstance) TrackerIdScheme(org.hisp.dhis.tracker.TrackerIdScheme) MatcherAssert.assertThat(org.hamcrest.MatcherAssert.assertThat) Assertions.assertEquals(org.junit.jupiter.api.Assertions.assertEquals) Event(org.hisp.dhis.tracker.domain.Event) MockitoExtension(org.mockito.junit.jupiter.MockitoExtension) Mockito.when(org.mockito.Mockito.when) TrackerType(org.hisp.dhis.tracker.TrackerType) TrackerBundle(org.hisp.dhis.tracker.bundle.TrackerBundle) ProgramStage(org.hisp.dhis.program.ProgramStage) TrackerErrorCode(org.hisp.dhis.tracker.report.TrackerErrorCode) Test(org.junit.jupiter.api.Test) List(java.util.List) Assertions.assertTrue(org.junit.jupiter.api.Assertions.assertTrue) ProgramType(org.hisp.dhis.program.ProgramType) TrackerImportStrategy(org.hisp.dhis.tracker.TrackerImportStrategy) Matchers.is(org.hamcrest.Matchers.is) TrackerPreheat(org.hisp.dhis.tracker.preheat.TrackerPreheat) DhisConvenienceTest(org.hisp.dhis.DhisConvenienceTest) TrackerImportValidationContext(org.hisp.dhis.tracker.validation.TrackerImportValidationContext) ProgramInstance(org.hisp.dhis.program.ProgramInstance) Event(org.hisp.dhis.tracker.domain.Event) ValidationErrorReporter(org.hisp.dhis.tracker.report.ValidationErrorReporter) Test(org.junit.jupiter.api.Test) DhisConvenienceTest(org.hisp.dhis.DhisConvenienceTest)

Aggregations

Lists (com.google.common.collect.Lists)1 List (java.util.List)1 Pair (org.apache.commons.lang3.tuple.Pair)1 MatcherAssert.assertThat (org.hamcrest.MatcherAssert.assertThat)1 Matchers.is (org.hamcrest.Matchers.is)1 DhisConvenienceTest (org.hisp.dhis.DhisConvenienceTest)1 Program (org.hisp.dhis.program.Program)1 ProgramInstance (org.hisp.dhis.program.ProgramInstance)1 ProgramStage (org.hisp.dhis.program.ProgramStage)1 ProgramType (org.hisp.dhis.program.ProgramType)1 TrackerIdScheme (org.hisp.dhis.tracker.TrackerIdScheme)1 TrackerImportStrategy (org.hisp.dhis.tracker.TrackerImportStrategy)1 TrackerType (org.hisp.dhis.tracker.TrackerType)1 EVENT (org.hisp.dhis.tracker.TrackerType.EVENT)1 TrackerBundle (org.hisp.dhis.tracker.bundle.TrackerBundle)1 Event (org.hisp.dhis.tracker.domain.Event)1 TrackerPreheat (org.hisp.dhis.tracker.preheat.TrackerPreheat)1 TrackerErrorCode (org.hisp.dhis.tracker.report.TrackerErrorCode)1 E1039 (org.hisp.dhis.tracker.report.TrackerErrorCode.E1039)1 ValidationErrorReporter (org.hisp.dhis.tracker.report.ValidationErrorReporter)1