From 7ef222e71e79344fedd072dc78eaafc811d6d912 Mon Sep 17 00:00:00 2001 From: ulfrxdev Date: Tue, 28 Apr 2026 13:36:48 +0200 Subject: [PATCH] test(02-03): add failing secure auth state store contract - Covers write overwrite semantics - Covers clear removing stored AuthState JSON --- .../auth/SecureAuthStateStoreContractTest.kt | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 composeApp/src/commonTest/kotlin/dev/ulfrx/recipe/auth/SecureAuthStateStoreContractTest.kt diff --git a/composeApp/src/commonTest/kotlin/dev/ulfrx/recipe/auth/SecureAuthStateStoreContractTest.kt b/composeApp/src/commonTest/kotlin/dev/ulfrx/recipe/auth/SecureAuthStateStoreContractTest.kt new file mode 100644 index 0000000..152e265 --- /dev/null +++ b/composeApp/src/commonTest/kotlin/dev/ulfrx/recipe/auth/SecureAuthStateStoreContractTest.kt @@ -0,0 +1,27 @@ +package dev.ulfrx.recipe.auth + +import kotlin.test.Test +import kotlin.test.assertEquals +import kotlin.test.assertNull + +class SecureAuthStateStoreContractTest { + @Test + fun writeOverwritesPreviousValueAndReadReturnsLatest() { + val store = SecureAuthStateStore() + + store.write("""{"refresh_token":"first"}""") + store.write("""{"refresh_token":"second"}""") + + assertEquals("""{"refresh_token":"second"}""", store.read()) + } + + @Test + fun clearRemovesStoredValue() { + val store = SecureAuthStateStore() + + store.write("""{"refresh_token":"stored"}""") + store.clear() + + assertNull(store.read()) + } +}