diff --git a/holder/src/main/java/nl/rijksoverheid/ctr/holder/ui/create_qr/util/EventGroupEntityUtil.kt b/holder/src/main/java/nl/rijksoverheid/ctr/holder/ui/create_qr/util/EventGroupEntityUtil.kt index 6a2a71ad9..9b9b0e0d2 100644 --- a/holder/src/main/java/nl/rijksoverheid/ctr/holder/ui/create_qr/util/EventGroupEntityUtil.kt +++ b/holder/src/main/java/nl/rijksoverheid/ctr/holder/ui/create_qr/util/EventGroupEntityUtil.kt @@ -34,6 +34,7 @@ class EventGroupEntityUtilImpl( .map { remoteEventUtil.getRemoteEventsFromNonDcc(it) } .flatten() .filterIsInstance() + .distinctBy { it.vaccination?.date } .toList() return dccVaccinationEvents.size + nonDccVaccinationEvents.size diff --git a/holder/src/test/java/nl/rijksoverheid/ctr/holder/Fakes.kt b/holder/src/test/java/nl/rijksoverheid/ctr/holder/Fakes.kt index 65d788805..36447e3d9 100644 --- a/holder/src/test/java/nl/rijksoverheid/ctr/holder/Fakes.kt +++ b/holder/src/test/java/nl/rijksoverheid/ctr/holder/Fakes.kt @@ -630,7 +630,7 @@ fun fakeRemoteEventUtil( return RemoteEventVaccination( type = "", unique = "", - vaccination = fakeRemoteEventVaccination + vaccination = fakeRemoteEventVaccination() ) } @@ -663,8 +663,8 @@ val fakeGreenCard = GreenCard( credentialEntities = listOf() ) -val fakeRemoteEventVaccination = RemoteEventVaccination.Vaccination( - date = LocalDate.now(), +fun fakeRemoteEventVaccination(date: LocalDate = LocalDate.now()) = RemoteEventVaccination.Vaccination( + date = date, hpkCode = "", type = "", brand = "", diff --git a/holder/src/test/java/nl/rijksoverheid/ctr/holder/ui/create_qr/util/EventGroupEntityUtilImplTest.kt b/holder/src/test/java/nl/rijksoverheid/ctr/holder/ui/create_qr/util/EventGroupEntityUtilImplTest.kt index 586c34c60..862fb7ee4 100644 --- a/holder/src/test/java/nl/rijksoverheid/ctr/holder/ui/create_qr/util/EventGroupEntityUtilImplTest.kt +++ b/holder/src/test/java/nl/rijksoverheid/ctr/holder/ui/create_qr/util/EventGroupEntityUtilImplTest.kt @@ -8,6 +8,7 @@ import nl.rijksoverheid.ctr.holder.persistence.database.entities.OriginType import nl.rijksoverheid.ctr.holder.ui.create_qr.models.RemoteEventVaccination import org.junit.Assert.assertEquals import org.junit.Test +import java.time.LocalDate import java.time.OffsetDateTime class EventGroupEntityUtilImplTest { @@ -26,19 +27,19 @@ class EventGroupEntityUtilImplTest { } @Test - fun `allVaccinationEvents returns 4 events if 2 ZZZ vaccination event groups with 2 events each`() = runBlocking { + fun `allVaccinationEvents returns 2 events if 2 ZZZ vaccination event groups with 2 events each with the same dates`() = runBlocking { val util = EventGroupEntityUtilImpl( remoteEventUtil = fakeRemoteEventUtil( getRemoteEventsFromNonDcc = listOf( RemoteEventVaccination( type = "", unique = "", - vaccination = fakeRemoteEventVaccination + vaccination = fakeRemoteEventVaccination(LocalDate.now().plusDays(1)) ), RemoteEventVaccination( type = "", unique = "", - vaccination = fakeRemoteEventVaccination + vaccination = fakeRemoteEventVaccination(LocalDate.now().plusDays(2)) ) ) ) @@ -73,23 +74,23 @@ class EventGroupEntityUtilImplTest { ) ) - assertEquals(4, amount) + assertEquals(2, amount) } @Test - fun `allVaccinationEvents returns 5 events if 2 ZZZ vaccination event groups with 2 events each and 1 DCC event`() = runBlocking { + fun `allVaccinationEvents returns 3 events if 2 ZZZ vaccination event groups with 2 events with the same dates each and 1 DCC event`() = runBlocking { val util = EventGroupEntityUtilImpl( remoteEventUtil = fakeRemoteEventUtil( getRemoteEventsFromNonDcc = listOf( RemoteEventVaccination( type = "", unique = "", - vaccination = fakeRemoteEventVaccination + vaccination = fakeRemoteEventVaccination(LocalDate.now().plusDays(1)) ), RemoteEventVaccination( type = "", unique = "", - vaccination = fakeRemoteEventVaccination + vaccination = fakeRemoteEventVaccination(LocalDate.now().plusDays(2)) ) ) ) @@ -132,6 +133,6 @@ class EventGroupEntityUtilImplTest { ) ) - assertEquals(5, amount) + assertEquals(3, amount) } } \ No newline at end of file diff --git a/holder/src/test/java/nl/rijksoverheid/ctr/holder/ui/myoverview/utils/DashboardItemUtilImplTest.kt b/holder/src/test/java/nl/rijksoverheid/ctr/holder/ui/myoverview/utils/DashboardItemUtilImplTest.kt index 1605bef00..034015586 100644 --- a/holder/src/test/java/nl/rijksoverheid/ctr/holder/ui/myoverview/utils/DashboardItemUtilImplTest.kt +++ b/holder/src/test/java/nl/rijksoverheid/ctr/holder/ui/myoverview/utils/DashboardItemUtilImplTest.kt @@ -197,7 +197,7 @@ class DashboardItemUtilImplTest { RemoteEventVaccination( type = "", unique = "", - vaccination = fakeRemoteEventVaccination + vaccination = fakeRemoteEventVaccination() ) ) ) @@ -222,12 +222,12 @@ class DashboardItemUtilImplTest { RemoteEventVaccination( type = "", unique = "", - vaccination = fakeRemoteEventVaccination + vaccination = fakeRemoteEventVaccination() ), RemoteEventVaccination( type = "", unique = "", - vaccination = fakeRemoteEventVaccination + vaccination = fakeRemoteEventVaccination() ) ) ) @@ -252,12 +252,12 @@ class DashboardItemUtilImplTest { RemoteEventVaccination( type = "", unique = "", - vaccination = fakeRemoteEventVaccination + vaccination = fakeRemoteEventVaccination() ), RemoteEventVaccination( type = "", unique = "", - vaccination = fakeRemoteEventVaccination + vaccination = fakeRemoteEventVaccination() ) ) )