Search in sources :

Example 1 with E1039

use of org.hisp.dhis.tracker.report.TrackerErrorCode.E1039 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