diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/vaccination/core/ValueSetTestData.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/vaccination/core/ValueSetTestData.kt
index 350302d741a43482586e71516e5ce71a25121d28..4e53a140a553e68d0779b18dfe2b96ed21b5865f 100644
--- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/vaccination/core/ValueSetTestData.kt
+++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/vaccination/core/ValueSetTestData.kt
@@ -1,7 +1,18 @@
 package de.rki.coronawarnapp.vaccination.core
 
+import de.rki.coronawarnapp.vaccination.core.server.valueset.valuesets.DefaultValueSet
+import de.rki.coronawarnapp.vaccination.core.server.valueset.valuesets.TestCertificateValueSets
+import de.rki.coronawarnapp.vaccination.core.server.valueset.valuesets.VaccinationValueSets
+import de.rki.coronawarnapp.vaccination.core.server.valueset.valuesets.ValueSetsContainer
+import java.util.Locale
+
 object ValueSetTestData {
 
+    // Shared
+    val tgItemDe = "tg" to "Ziel-Name"
+    val tgItemEn = tgItemDe.copy(second = "Target-Name")
+
+    // Vaccination
     val vpItemDe = "1119305005" to "Impfstoff-Name"
     val mpItemDe = "EU/1/21/1529" to "Arzneimittel-Name"
     val maItemDe = "ORG-100001699" to "Hersteller-Name"
@@ -9,4 +20,59 @@ object ValueSetTestData {
     val vpItemEn = vpItemDe.copy(second = "Vaccine-Name")
     val mpItemEn = mpItemDe.copy(second = "MedicalProduct-Name")
     val maItemEn = maItemDe.copy(second = "Manufactorer-Name")
+
+    // Test certificate
+    val ttItemDe = "tt" to "Test-Typ"
+    val tcMaItemDe = "tcMa" to "RAT-Test-Name-und-Hersteller"
+    val trItemDe = "tr" to "Test-Ergebnis"
+
+    val ttItemEn = vpItemDe.copy(second = "Test-Type")
+    val tcMaItemEn = mpItemDe.copy(second = "RAT-Test-Name-and-Manufacturer")
+    val trItemEn = maItemDe.copy(second = "Test-Result")
+
+    private fun Pair<String, String>.toValueSet() = DefaultValueSet(
+        items = listOf(DefaultValueSet.DefaultItem(key = first, displayText = second))
+    )
+
+    val vaccinationValueSetsDe = VaccinationValueSets(
+        languageCode = Locale.GERMAN,
+        tg = tgItemDe.toValueSet(),
+        vp = vpItemDe.toValueSet(),
+        mp = mpItemDe.toValueSet(),
+        ma = maItemDe.toValueSet()
+    )
+
+    val vaccinationValueSetsEn = VaccinationValueSets(
+        languageCode = Locale.GERMAN,
+        tg = tgItemEn.toValueSet(),
+        vp = vpItemEn.toValueSet(),
+        mp = mpItemEn.toValueSet(),
+        ma = maItemEn.toValueSet()
+    )
+
+    val testCertificateValueSetsDe = TestCertificateValueSets(
+        languageCode = Locale.GERMAN,
+        tg = tgItemDe.toValueSet(),
+        tt = ttItemDe.toValueSet(),
+        ma = tcMaItemDe.toValueSet(),
+        tr = trItemDe.toValueSet()
+    )
+
+    val testCertificateValueSetsEn = TestCertificateValueSets(
+        languageCode = Locale.GERMAN,
+        tg = tgItemEn.toValueSet(),
+        tt = ttItemEn.toValueSet(),
+        ma = tcMaItemEn.toValueSet(),
+        tr = trItemEn.toValueSet()
+    )
+
+    val valueSetsContainerDe = ValueSetsContainer(
+        vaccinationValueSets = vaccinationValueSetsDe,
+        testCertificateValueSets = testCertificateValueSetsDe
+    )
+
+    val valueSetsContainerEn = ValueSetsContainer(
+        vaccinationValueSets = vaccinationValueSetsEn,
+        testCertificateValueSets = testCertificateValueSetsEn
+    )
 }
diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/vaccination/core/repository/ValueSetsRepositoryTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/vaccination/core/repository/ValueSetsRepositoryTest.kt
index 55e6af5e3d12cb3363e6722cf1be5a1c39992fd2..f50e5632a0a3019afb22517930a5438bee9c1660 100644
--- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/vaccination/core/repository/ValueSetsRepositoryTest.kt
+++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/vaccination/core/repository/ValueSetsRepositoryTest.kt
@@ -1,8 +1,15 @@
 package de.rki.coronawarnapp.vaccination.core.repository
 
-import testhelpers.BaseTest
-/*import de.rki.coronawarnapp.vaccination.core.repository.storage.ValueSetsStorage
+import de.rki.coronawarnapp.vaccination.core.ValueSetTestData.testCertificateValueSetsDe
+import de.rki.coronawarnapp.vaccination.core.ValueSetTestData.testCertificateValueSetsEn
+import de.rki.coronawarnapp.vaccination.core.ValueSetTestData.vaccinationValueSetsDe
+import de.rki.coronawarnapp.vaccination.core.ValueSetTestData.vaccinationValueSetsEn
+import de.rki.coronawarnapp.vaccination.core.ValueSetTestData.valueSetsContainerDe
+import de.rki.coronawarnapp.vaccination.core.ValueSetTestData.valueSetsContainerEn
+import de.rki.coronawarnapp.vaccination.core.repository.storage.ValueSetsStorage
 import de.rki.coronawarnapp.vaccination.core.server.valueset.VaccinationServer
+import de.rki.coronawarnapp.vaccination.core.server.valueset.valuesets.emptyValueSetsContainer
+import io.kotest.matchers.shouldBe
 import io.mockk.MockKAnnotations
 import io.mockk.Ordering
 import io.mockk.coEvery
@@ -15,13 +22,13 @@ import kotlinx.coroutines.CoroutineScope
 import kotlinx.coroutines.flow.first
 import org.junit.jupiter.api.BeforeEach
 import org.junit.jupiter.api.Test
+import testhelpers.BaseTest
 import testhelpers.TestDispatcherProvider
 import testhelpers.coroutines.runBlockingTest2
-import java.util.Locale*/
+import java.util.Locale
 
 class ValueSetsRepositoryTest : BaseTest() {
 
-    /*
     @MockK lateinit var vaccinationServer: VaccinationServer
     @MockK lateinit var valueSetsStorage: ValueSetsStorage
 
@@ -37,30 +44,34 @@ class ValueSetsRepositoryTest : BaseTest() {
     @BeforeEach
     fun setUp() {
         MockKAnnotations.init(this)
-        coEvery { vaccinationServer.getVaccinationValueSets(any()) } returns null
-        coEvery { vaccinationServer.getVaccinationValueSets(languageCode = Locale.ENGLISH) } returns valueSetEn
-        coEvery { vaccinationServer.getVaccinationValueSets(languageCode = Locale.GERMAN) } returns valueSetDe
+        coEvery { vaccinationServer.getVaccinationValueSets(any()) } returns
+            null
+        coEvery { vaccinationServer.getVaccinationValueSets(languageCode = Locale.ENGLISH) } returns
+            valueSetsContainerEn
+        coEvery { vaccinationServer.getVaccinationValueSets(languageCode = Locale.GERMAN) } returns
+            valueSetsContainerDe
         every { vaccinationServer.clear() } just runs
 
         every { valueSetsStorage.valueSetsContainer = any() } just runs
-        every { valueSetsStorage.valueSetsContainer } returns emptyValueSetEn
+        every { valueSetsStorage.valueSetsContainer } returns emptyValueSetsContainer
     }
 
     @Test
     fun `successful update for de`() = runBlockingTest2(ignoreActive = true) {
         createInstance(this).run {
             triggerUpdateValueSet(languageCode = Locale.GERMAN)
-            latestVaccinationValueSets.first()
-        }.also { it.validateValues(valueSetDe) }
+            latestVaccinationValueSets.first() shouldBe vaccinationValueSetsDe
+            latestTestCertificateValueSets.first() shouldBe testCertificateValueSetsDe
+        }
 
         coVerify {
             vaccinationServer.getVaccinationValueSets(languageCode = Locale.GERMAN)
-            valueSetsStorage.valueSetsContainer = valueSetDe
+            valueSetsStorage.valueSetsContainer = valueSetsContainerDe
         }
 
         coVerify(exactly = 0) {
             vaccinationServer.getVaccinationValueSets(languageCode = Locale.ENGLISH)
-            valueSetsStorage.valueSetsContainer = valueSetEn
+            valueSetsStorage.valueSetsContainer = valueSetsContainerEn
         }
     }
 
@@ -68,13 +79,14 @@ class ValueSetsRepositoryTest : BaseTest() {
     fun `fallback to en`() = runBlockingTest2(ignoreActive = true) {
         createInstance(this).run {
             triggerUpdateValueSet(languageCode = Locale.FRENCH)
-            latestVaccinationValueSets.first()
-        }.also { it.validateValues(valueSetEn) }
+            latestVaccinationValueSets.first() shouldBe vaccinationValueSetsEn
+            latestTestCertificateValueSets.first() shouldBe testCertificateValueSetsEn
+        }
 
         coVerify(ordering = Ordering.ORDERED) {
             vaccinationServer.getVaccinationValueSets(languageCode = Locale.FRENCH)
             vaccinationServer.getVaccinationValueSets(languageCode = Locale.ENGLISH)
-            valueSetsStorage.valueSetsContainer = valueSetEn
+            valueSetsStorage.valueSetsContainer = valueSetsContainerEn
         }
     }
 
@@ -85,8 +97,11 @@ class ValueSetsRepositoryTest : BaseTest() {
 
         createInstance(this).run {
             triggerUpdateValueSet(languageCode = Locale.GERMAN)
-            latestVaccinationValueSets.first()
-        }.also { it.validateValues(emptyValueSetEn) }
+            emptyValueSetsContainer.also {
+                latestVaccinationValueSets.first() shouldBe it.vaccinationValueSets
+                latestTestCertificateValueSets.first() shouldBe it.testCertificateValueSets
+            }
+        }
 
         coVerify(ordering = Ordering.ORDERED) {
             vaccinationServer.getVaccinationValueSets(languageCode = Locale.GERMAN)
@@ -99,14 +114,15 @@ class ValueSetsRepositoryTest : BaseTest() {
         createInstance(this).run {
             clear()
 
-            latestVaccinationValueSets.first().validateValues(emptyValueSetEn)
+            emptyValueSetsContainer.also {
+                latestVaccinationValueSets.first() shouldBe it.vaccinationValueSets
+                latestTestCertificateValueSets.first() shouldBe it.testCertificateValueSets
+            }
 
             coVerify {
                 vaccinationServer.clear()
-                valueSetsStorage.valueSetsContainer = emptyValueSetEn
+                valueSetsStorage.valueSetsContainer = emptyValueSetsContainer
             }
         }
     }
-
-     */
 }
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 537e5ed225e725d3fb26aa8b3e630ad36122fb56..fca0f2c4dc5ca162f28a06782f7ff30863b3a525 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
@@ -1,21 +1,23 @@
 package de.rki.coronawarnapp.vaccination.core.repository.storage
 
-import testhelpers.BaseTest
-/*import android.content.Context
+import android.content.Context
+import androidx.core.content.edit
 import de.rki.coronawarnapp.util.serialization.SerializationModule
+import de.rki.coronawarnapp.vaccination.core.ValueSetTestData.valueSetsContainerDe
+import de.rki.coronawarnapp.vaccination.core.ValueSetTestData.valueSetsContainerEn
+import de.rki.coronawarnapp.vaccination.core.server.valueset.valuesets.emptyValueSetsContainer
 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*/
+import testhelpers.preferences.MockSharedPreferences
 
 class ValueSetsStorageTest : BaseTest() {
 
-    /*
     @MockK lateinit var context: Context
     lateinit var prefs: MockSharedPreferences
 
@@ -33,106 +35,153 @@ class ValueSetsStorageTest : BaseTest() {
         gson = gson
     )
 
-    @Test
-    fun `Default value is an empty value set`() {
-        createInstance().valueSetsContainer.validateValues(emptyValueSetEn)
-    }
-
     @Test
     fun `Updates values`() {
         createInstance().run {
-            valueSetsContainer = storedValueSetDe
-            valueSetsContainer shouldBe storedValueSetDe
-
-            valueSetsContainer = storedValueSetEn
-            valueSetsContainer shouldBe storedValueSetEn
-        }
-    }
-
-    @Test
-    fun `Check mapping is correct`() {
-        createInstance().run {
-            storedValueSetDe.also { it.toStoredVaccinationValueSet() shouldBe it }
-
-            storedValueSetEn.also { it.toStoredVaccinationValueSet() shouldBe it }
+            valueSetsContainer = valueSetsContainerDe
+            valueSetsContainer shouldBe valueSetsContainerDe
 
-            valueSetDe.also {
-                it.toStoredVaccinationValueSet() shouldBe storedValueSetDe
-                it.toStoredVaccinationValueSet().validateValues(it)
-            }
-
-            valueSetEn.also {
-                it.toStoredVaccinationValueSet() shouldBe storedValueSetEn
-                it.toStoredVaccinationValueSet().validateValues(it)
-            }
-
-            emptyValueSetEn.also {
-                it.toStoredVaccinationValueSet() shouldBe emptyStoredValueSet
-                it.toStoredVaccinationValueSet().validateValues(it)
-            }
+            valueSetsContainer = valueSetsContainerEn
+            valueSetsContainer shouldBe valueSetsContainerEn
         }
     }
 
     @Test
     fun `storage inits empty without sideeffects`() {
-        createInstance().valueSetsContainer shouldNotBe null
+        createInstance()
         prefs.dataMapPeek.isEmpty() shouldBe true
     }
 
     @Test
     fun `storage format`() {
-        createInstance().valueSetsContainer = storedValueSetDe
-        (prefs.dataMapPeek["valueset"] as String).toComparableJsonPretty() shouldBe """
+        createInstance().valueSetsContainer = valueSetsContainerDe
+        (prefs.dataMapPeek["valuesets_container"] as String).toComparableJsonPretty() shouldBe """
             {
-              "languageCode": "de",
-              "vp": {
-                "items": [
-                  {
-                    "key": "1119305005",
-                    "displayText": "Impfstoff-Name"
-                  }
-                ]
-              },
-              "mp": {
-                "items": [
-                  {
-                    "key": "EU/1/21/1529",
-                    "displayText": "Arzneimittel-Name"
-                  }
-                ]
+              "vaccinationValueSets": {
+                "languageCode": "de",
+                "tg": {
+                  "items": [
+                    {
+                      "key": "tg",
+                      "displayText": "Ziel-Name"
+                    }
+                  ]
+                },
+                "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"
+                    }
+                  ]
+                }
               },
-              "ma": {
-                "items": [
-                  {
-                    "key": "ORG-100001699",
-                    "displayText": "Hersteller-Name"
-                  }
-                ]
+              "testCertificateValueSets": {
+                "languageCode": "de",
+                "tg": {
+                  "items": [
+                    {
+                      "key": "tg",
+                      "displayText": "Ziel-Name"
+                    }
+                  ]
+                },
+                "tt": {
+                  "items": [
+                    {
+                      "key": "tt",
+                      "displayText": "Test-Typ"
+                    }
+                  ]
+                },
+                "ma": {
+                  "items": [
+                    {
+                      "key": "tcMa",
+                      "displayText": "RAT-Test-Name-und-Hersteller"
+                    }
+                  ]
+                },
+                "tr": {
+                  "items": [
+                    {
+                      "key": "tr",
+                      "displayText": "Test-Ergebnis"
+                    }
+                  ]
+                }
               }
             }
         """.toComparableJsonPretty()
 
         createInstance().apply {
-            valueSetsContainer shouldBe storedValueSetDe
-            valueSetsContainer = emptyStoredValueSet
+            valueSetsContainer shouldBe valueSetsContainerDe
+            valueSetsContainer = emptyValueSetsContainer
         }
-        (prefs.dataMapPeek["valueset"] as String).toComparableJsonPretty() shouldBe """
+        (prefs.dataMapPeek["valuesets_container"] as String).toComparableJsonPretty() shouldBe """
             {
-              "languageCode": "en",
-              "vp": {
-                "items": []
+              "vaccinationValueSets": {
+                "languageCode": "en",
+                "tg": {
+                  "items": []
+                },
+                "vp": {
+                  "items": []
+                },
+                "mp": {
+                  "items": []
+                },
+                "ma": {
+                  "items": []
+                }
               },
-              "mp": {
-                "items": []
-              },
-              "ma": {
-                "items": []
+              "testCertificateValueSets": {
+                "languageCode": "en",
+                "tg": {
+                  "items": []
+                },
+                "tt": {
+                  "items": []
+                },
+                "ma": {
+                  "items": []
+                },
+                "tr": {
+                  "items": []
+                }
               }
             }
         """.toComparableJsonPretty()
 
-        createInstance().valueSetsContainer shouldBe emptyStoredValueSet
+        createInstance().valueSetsContainer shouldBe emptyValueSetsContainer
     }
 
-     */
+    @Test
+    fun `removes leftover`() {
+        val leftover = "I'm a malicious leftover"
+        val valueSet = "valueset"
+        prefs.edit(commit = true) {
+            putString(valueSet, leftover)
+        }
+
+        prefs.dataMapPeek[valueSet] shouldBe leftover
+        createInstance().valueSetsContainer shouldBe emptyValueSetsContainer
+        prefs.dataMapPeek.isEmpty() shouldBe true
+    }
 }