Search in sources :

Example 1 with Event

use of org.hisp.dhis.tracker.domain.Event in project dhis2-core by dhis2.

the class AssignValueImplementerTest method getEventWithDataValueNOTSetInDifferentProgramStage.

private Event getEventWithDataValueNOTSetInDifferentProgramStage() {
    Event event = new Event();
    event.setEvent(SECOND_EVENT_ID);
    event.setStatus(EventStatus.ACTIVE);
    event.setProgramStage(secondProgramStage.getUid());
    return event;
}
Also used : Event(org.hisp.dhis.tracker.domain.Event)

Example 2 with Event

use of org.hisp.dhis.tracker.domain.Event in project dhis2-core by dhis2.

the class AssignValueImplementerTest method testAssignDataElementValueForEventsWhenDataElementIsAlreadyPresent.

@Test
void testAssignDataElementValueForEventsWhenDataElementIsAlreadyPresent() {
    List<Event> events = Lists.newArrayList(getEventWithDataValueSet());
    bundle.setEvents(events);
    bundle.setRuleEffects(getRuleEventEffects(events));
    Map<String, List<ProgramRuleIssue>> eventIssues = implementerToTest.validateEvents(bundle);
    Event event = bundle.getEvents().stream().filter(e -> e.getEvent().equals(FIRST_EVENT_ID)).findAny().get();
    Optional<DataValue> newDataValue = event.getDataValues().stream().filter(dv -> dv.getDataElement().equals(dataElementA.getUid())).findAny();
    assertTrue(newDataValue.isPresent());
    assertEquals(DATA_ELEMENT_OLD_VALUE, newDataValue.get().getValue());
    assertEquals(1, eventIssues.size());
    assertEquals(1, eventIssues.get(FIRST_EVENT_ID).size());
    assertEquals(ERROR, eventIssues.get(FIRST_EVENT_ID).get(0).getIssueType());
}
Also used : Strictness(org.mockito.quality.Strictness) WARNING(org.hisp.dhis.tracker.programrule.IssueType.WARNING) DataValue(org.hisp.dhis.tracker.domain.DataValue) BeforeEach(org.junit.jupiter.api.BeforeEach) TRACKED_ENTITY_ATTRIBUTE(org.hisp.dhis.rules.models.AttributeType.TRACKED_ENTITY_ATTRIBUTE) MockitoSettings(org.mockito.junit.jupiter.MockitoSettings) RuleEffects(org.hisp.dhis.rules.models.RuleEffects) ERROR(org.hisp.dhis.tracker.programrule.IssueType.ERROR) RuleActionAssign(org.hisp.dhis.rules.models.RuleActionAssign) ValueType(org.hisp.dhis.common.ValueType) Attribute(org.hisp.dhis.tracker.domain.Attribute) Mock(org.mockito.Mock) RuleEffect(org.hisp.dhis.rules.models.RuleEffect) ProgramStageDataElement(org.hisp.dhis.program.ProgramStageDataElement) ENROLLMENT(org.hisp.dhis.rules.models.TrackerObjectType.ENROLLMENT) DataElement(org.hisp.dhis.dataelement.DataElement) Enrollment(org.hisp.dhis.tracker.domain.Enrollment) Lists(com.google.common.collect.Lists) Assertions.assertFalse(org.junit.jupiter.api.Assertions.assertFalse) ExtendWith(org.junit.jupiter.api.extension.ExtendWith) DATA_ELEMENT(org.hisp.dhis.rules.models.AttributeType.DATA_ELEMENT) Map(java.util.Map) Assertions.assertEquals(org.junit.jupiter.api.Assertions.assertEquals) SystemSettingManager(org.hisp.dhis.setting.SystemSettingManager) AssignValueImplementer(org.hisp.dhis.tracker.programrule.implementers.AssignValueImplementer) InjectMocks(org.mockito.InjectMocks) Event(org.hisp.dhis.tracker.domain.Event) MockitoExtension(org.mockito.junit.jupiter.MockitoExtension) EVENT(org.hisp.dhis.rules.models.TrackerObjectType.EVENT) TrackedEntity(org.hisp.dhis.tracker.domain.TrackedEntity) Set(java.util.Set) EventStatus(org.hisp.dhis.event.EventStatus) Mockito.when(org.mockito.Mockito.when) TrackerBundle(org.hisp.dhis.tracker.bundle.TrackerBundle) ProgramStage(org.hisp.dhis.program.ProgramStage) EnrollmentStatus(org.hisp.dhis.tracker.domain.EnrollmentStatus) Sets(com.google.common.collect.Sets) Test(org.junit.jupiter.api.Test) List(java.util.List) RuleAction(org.hisp.dhis.rules.models.RuleAction) Assertions.assertTrue(org.junit.jupiter.api.Assertions.assertTrue) Optional(java.util.Optional) SettingKey(org.hisp.dhis.setting.SettingKey) ValidationStrategy(org.hisp.dhis.program.ValidationStrategy) TrackedEntityAttribute(org.hisp.dhis.trackedentity.TrackedEntityAttribute) TrackerPreheat(org.hisp.dhis.tracker.preheat.TrackerPreheat) DhisConvenienceTest(org.hisp.dhis.DhisConvenienceTest) DataValue(org.hisp.dhis.tracker.domain.DataValue) Event(org.hisp.dhis.tracker.domain.Event) List(java.util.List) Test(org.junit.jupiter.api.Test) DhisConvenienceTest(org.hisp.dhis.DhisConvenienceTest)

Example 3 with Event

use of org.hisp.dhis.tracker.domain.Event in project dhis2-core by dhis2.

the class AssignValueImplementerTest method testAssignDataElementValueForEventsWhenDataElementIsEmpty.

@Test
void testAssignDataElementValueForEventsWhenDataElementIsEmpty() {
    List<Event> events = Lists.newArrayList(getEventWithDataValueNOTSet());
    bundle.setEvents(events);
    bundle.setRuleEffects(getRuleEventEffects(events));
    Map<String, List<ProgramRuleIssue>> eventIssues = implementerToTest.validateEvents(bundle);
    Event event = bundle.getEvents().stream().filter(e -> e.getEvent().equals(SECOND_EVENT_ID)).findAny().get();
    Optional<DataValue> newDataValue = event.getDataValues().stream().filter(dv -> dv.getDataElement().equals(dataElementA.getUid())).findAny();
    assertTrue(newDataValue.isPresent());
    assertEquals(DATA_ELEMENT_NEW_VALUE, newDataValue.get().getValue());
    assertEquals(1, eventIssues.size());
    assertEquals(1, eventIssues.get(SECOND_EVENT_ID).size());
    assertEquals(WARNING, eventIssues.get(SECOND_EVENT_ID).get(0).getIssueType());
}
Also used : Strictness(org.mockito.quality.Strictness) WARNING(org.hisp.dhis.tracker.programrule.IssueType.WARNING) DataValue(org.hisp.dhis.tracker.domain.DataValue) BeforeEach(org.junit.jupiter.api.BeforeEach) TRACKED_ENTITY_ATTRIBUTE(org.hisp.dhis.rules.models.AttributeType.TRACKED_ENTITY_ATTRIBUTE) MockitoSettings(org.mockito.junit.jupiter.MockitoSettings) RuleEffects(org.hisp.dhis.rules.models.RuleEffects) ERROR(org.hisp.dhis.tracker.programrule.IssueType.ERROR) RuleActionAssign(org.hisp.dhis.rules.models.RuleActionAssign) ValueType(org.hisp.dhis.common.ValueType) Attribute(org.hisp.dhis.tracker.domain.Attribute) Mock(org.mockito.Mock) RuleEffect(org.hisp.dhis.rules.models.RuleEffect) ProgramStageDataElement(org.hisp.dhis.program.ProgramStageDataElement) ENROLLMENT(org.hisp.dhis.rules.models.TrackerObjectType.ENROLLMENT) DataElement(org.hisp.dhis.dataelement.DataElement) Enrollment(org.hisp.dhis.tracker.domain.Enrollment) Lists(com.google.common.collect.Lists) Assertions.assertFalse(org.junit.jupiter.api.Assertions.assertFalse) ExtendWith(org.junit.jupiter.api.extension.ExtendWith) DATA_ELEMENT(org.hisp.dhis.rules.models.AttributeType.DATA_ELEMENT) Map(java.util.Map) Assertions.assertEquals(org.junit.jupiter.api.Assertions.assertEquals) SystemSettingManager(org.hisp.dhis.setting.SystemSettingManager) AssignValueImplementer(org.hisp.dhis.tracker.programrule.implementers.AssignValueImplementer) InjectMocks(org.mockito.InjectMocks) Event(org.hisp.dhis.tracker.domain.Event) MockitoExtension(org.mockito.junit.jupiter.MockitoExtension) EVENT(org.hisp.dhis.rules.models.TrackerObjectType.EVENT) TrackedEntity(org.hisp.dhis.tracker.domain.TrackedEntity) Set(java.util.Set) EventStatus(org.hisp.dhis.event.EventStatus) Mockito.when(org.mockito.Mockito.when) TrackerBundle(org.hisp.dhis.tracker.bundle.TrackerBundle) ProgramStage(org.hisp.dhis.program.ProgramStage) EnrollmentStatus(org.hisp.dhis.tracker.domain.EnrollmentStatus) Sets(com.google.common.collect.Sets) Test(org.junit.jupiter.api.Test) List(java.util.List) RuleAction(org.hisp.dhis.rules.models.RuleAction) Assertions.assertTrue(org.junit.jupiter.api.Assertions.assertTrue) Optional(java.util.Optional) SettingKey(org.hisp.dhis.setting.SettingKey) ValidationStrategy(org.hisp.dhis.program.ValidationStrategy) TrackedEntityAttribute(org.hisp.dhis.trackedentity.TrackedEntityAttribute) TrackerPreheat(org.hisp.dhis.tracker.preheat.TrackerPreheat) DhisConvenienceTest(org.hisp.dhis.DhisConvenienceTest) DataValue(org.hisp.dhis.tracker.domain.DataValue) Event(org.hisp.dhis.tracker.domain.Event) List(java.util.List) Test(org.junit.jupiter.api.Test) DhisConvenienceTest(org.hisp.dhis.DhisConvenienceTest)

Example 4 with Event

use of org.hisp.dhis.tracker.domain.Event in project dhis2-core by dhis2.

the class AssignValueImplementerTest method getEventWithDataValueSet.

private Event getEventWithDataValueSet() {
    Event event = new Event();
    event.setEvent(FIRST_EVENT_ID);
    event.setStatus(EventStatus.ACTIVE);
    event.setProgramStage(firstProgramStage.getUid());
    event.setDataValues(getEventDataValues());
    return event;
}
Also used : Event(org.hisp.dhis.tracker.domain.Event)

Example 5 with Event

use of org.hisp.dhis.tracker.domain.Event in project dhis2-core by dhis2.

the class AssignValueImplementerTest method getEventWithDataValueSetSameValue.

private Event getEventWithDataValueSetSameValue() {
    Event event = new Event();
    event.setEvent(FIRST_EVENT_ID);
    event.setStatus(EventStatus.ACTIVE);
    event.setProgramStage(firstProgramStage.getUid());
    event.setDataValues(getEventDataValuesSameValue());
    return event;
}
Also used : Event(org.hisp.dhis.tracker.domain.Event)

Aggregations

Event (org.hisp.dhis.tracker.domain.Event)192 Test (org.junit.jupiter.api.Test)153 ValidationErrorReporter (org.hisp.dhis.tracker.report.ValidationErrorReporter)114 ProgramStage (org.hisp.dhis.program.ProgramStage)68 DhisConvenienceTest (org.hisp.dhis.DhisConvenienceTest)64 TrackerBundle (org.hisp.dhis.tracker.bundle.TrackerBundle)53 Enrollment (org.hisp.dhis.tracker.domain.Enrollment)43 TrackedEntity (org.hisp.dhis.tracker.domain.TrackedEntity)41 Mockito.when (org.mockito.Mockito.when)38 Assertions.assertTrue (org.junit.jupiter.api.Assertions.assertTrue)37 Assertions.assertFalse (org.junit.jupiter.api.Assertions.assertFalse)36 DataElement (org.hisp.dhis.dataelement.DataElement)35 Program (org.hisp.dhis.program.Program)35 ProgramInstance (org.hisp.dhis.program.ProgramInstance)35 DataValue (org.hisp.dhis.tracker.domain.DataValue)35 TrackerPreheat (org.hisp.dhis.tracker.preheat.TrackerPreheat)35 Assertions.assertEquals (org.junit.jupiter.api.Assertions.assertEquals)34 TrackerErrorCode (org.hisp.dhis.tracker.report.TrackerErrorCode)33 CodeGenerator (org.hisp.dhis.common.CodeGenerator)32 BeforeEach (org.junit.jupiter.api.BeforeEach)32