From 67fd528dff6a703a91f303870dd345b3bdce5443 Mon Sep 17 00:00:00 2001 From: Matthias Urhahn <matthias.urhahn@sap.com> Date: Thu, 27 May 2021 14:37:50 +0200 Subject: [PATCH] Add valueset storage tests (DEV) (#3298) * Add tests for valueset storage format. * Remove extra case and add check for reloading. --- .../storage/ValueSetsStorageTest.kt | 63 +++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/vaccination/core/repository/storage/ValueSetsStorageTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/vaccination/core/repository/storage/ValueSetsStorageTest.kt index e79a54c44..8b68c38cc 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/vaccination/core/repository/storage/ValueSetsStorageTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/vaccination/core/repository/storage/ValueSetsStorageTest.kt @@ -10,12 +10,14 @@ import de.rki.coronawarnapp.vaccination.core.ValueSetTestData.valueSetDe import de.rki.coronawarnapp.vaccination.core.ValueSetTestData.valueSetEn import de.rki.coronawarnapp.vaccination.core.validateValues import io.kotest.matchers.shouldBe +import io.kotest.matchers.shouldNotBe import io.mockk.MockKAnnotations import io.mockk.every import io.mockk.impl.annotations.MockK import org.junit.jupiter.api.BeforeEach import org.junit.jupiter.api.Test import testhelpers.BaseTest +import testhelpers.extensions.toComparableJsonPretty import testhelpers.preferences.MockSharedPreferences class ValueSetsStorageTest : BaseTest() { @@ -76,4 +78,65 @@ class ValueSetsStorageTest : BaseTest() { } } } + + @Test + fun `storage inits empty without sideeffects`() { + createInstance().vaccinationValueSet shouldNotBe null + prefs.dataMapPeek.isEmpty() shouldBe true + } + + @Test + fun `storage format`() { + createInstance().vaccinationValueSet = storedValueSetDe + (prefs.dataMapPeek["valueset"] as String).toComparableJsonPretty() shouldBe """ + { + "languageCode": "de", + "vp": { + "items": [ + { + "key": "1119305005", + "displayText": "Impfstoff-Name" + } + ] + }, + "mp": { + "items": [ + { + "key": "EU/1/21/1529", + "displayText": "Arzneimittel-Name" + } + ] + }, + "ma": { + "items": [ + { + "key": "ORG-100001699", + "displayText": "Hersteller-Name" + } + ] + } + } + """.toComparableJsonPretty() + + createInstance().apply { + vaccinationValueSet shouldBe storedValueSetDe + vaccinationValueSet = emptyStoredValueSet + } + (prefs.dataMapPeek["valueset"] as String).toComparableJsonPretty() shouldBe """ + { + "languageCode": "en", + "vp": { + "items": [] + }, + "mp": { + "items": [] + }, + "ma": { + "items": [] + } + } + """.toComparableJsonPretty() + + createInstance().vaccinationValueSet shouldBe emptyStoredValueSet + } } -- GitLab