Skip to content
This repository was archived by the owner on May 5, 2021. It is now read-only.

Commit bd8a755

Browse files
Stefan KockStefanKock
authored andcommitted
SORMAS-Foundation#3737: Bugfix: Map sorting by Facility.type, added test to cover this
1 parent 2f3401a commit bd8a755

2 files changed

Lines changed: 38 additions & 0 deletions

File tree

sormas-backend/src/main/java/de/symeda/sormas/backend/facility/FacilityFacadeEjb.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -420,6 +420,7 @@ public List<FacilityDto> getIndexList(FacilityCriteria facilityCriteria, Integer
420420
case Facility.LATITUDE:
421421
case Facility.LONGITUDE:
422422
case Facility.EXTERNAL_ID:
423+
case Facility.TYPE:
423424
expression = facility.get(sortProperty.propertyName);
424425
break;
425426
case Facility.REGION:

sormas-backend/src/test/java/de/symeda/sormas/backend/facility/FacilityFacadeEjbTest.java

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,24 @@
11
package de.symeda.sormas.backend.facility;
22

3+
import static org.hamcrest.MatcherAssert.assertThat;
4+
import static org.hamcrest.Matchers.empty;
5+
import static org.hamcrest.Matchers.is;
36
import static org.junit.Assert.assertEquals;
47
import static org.junit.Assert.assertFalse;
58

9+
import java.util.ArrayList;
610
import java.util.Collections;
711
import java.util.Date;
812
import java.util.List;
913

1014
import org.junit.Test;
1115

16+
import de.symeda.sormas.api.facility.FacilityCriteria;
1217
import de.symeda.sormas.api.facility.FacilityDto;
1318
import de.symeda.sormas.api.facility.FacilityType;
1419
import de.symeda.sormas.api.region.CommunityReferenceDto;
1520
import de.symeda.sormas.api.region.DistrictReferenceDto;
21+
import de.symeda.sormas.api.utils.SortProperty;
1622
import de.symeda.sormas.backend.AbstractBeanTest;
1723
import de.symeda.sormas.backend.TestDataCreator.RDCF;
1824
import de.symeda.sormas.backend.region.Community;
@@ -132,4 +138,35 @@ public void testHasArchivedParentInfrastructureNoFacilities() {
132138

133139
assertFalse(getFacilityFacade().hasArchivedParentInfrastructure(Collections.emptyList()));
134140
}
141+
142+
@Test
143+
public void testGetIndexListMappedSorting() {
144+
145+
FacilityCriteria facilityCriteria = new FacilityCriteria();
146+
147+
// 0. No sortProperties
148+
List<FacilityDto> result = getFacilityFacade().getIndexList(facilityCriteria, null, null, new ArrayList<>());
149+
assertThat(result, is(empty()));
150+
151+
List<SortProperty> allSortProperties = new ArrayList<>();
152+
allSortProperties.add(new SortProperty(FacilityDto.NAME));
153+
allSortProperties.add(new SortProperty(FacilityDto.TYPE));
154+
allSortProperties.add(new SortProperty(FacilityDto.REGION));
155+
allSortProperties.add(new SortProperty(FacilityDto.DISTRICT));
156+
allSortProperties.add(new SortProperty(FacilityDto.COMMUNITY));
157+
allSortProperties.add(new SortProperty(FacilityDto.CITY));
158+
allSortProperties.add(new SortProperty(FacilityDto.LATITUDE));
159+
allSortProperties.add(new SortProperty(FacilityDto.LONGITUDE));
160+
allSortProperties.add(new SortProperty(FacilityDto.EXTERNAL_ID));
161+
162+
// 1. Sort by every property
163+
for (SortProperty sortProperty : allSortProperties) {
164+
getFacilityFacade().getIndexList(facilityCriteria, null, null, Collections.singletonList(sortProperty));
165+
assertThat(sortProperty.toString(), result, is(empty()));
166+
}
167+
168+
// 2. Sort by all properties at once
169+
getFacilityFacade().getIndexList(facilityCriteria, null, null, allSortProperties);
170+
assertThat(result, is(empty()));
171+
}
135172
}

0 commit comments

Comments
 (0)