From d2eda6b3975a30053fa273e7a0f4e921f7055b86 Mon Sep 17 00:00:00 2001 From: Simon Marquis Date: Fri, 16 Jan 2026 12:52:58 +0100 Subject: [PATCH] Improve SettingsViewModel test coverage Closes #1337 --- .../settings/impl/SettingsViewModelTest.kt | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/feature/settings/impl/src/test/kotlin/com/google/samples/apps/nowinandroid/feature/settings/impl/SettingsViewModelTest.kt b/feature/settings/impl/src/test/kotlin/com/google/samples/apps/nowinandroid/feature/settings/impl/SettingsViewModelTest.kt index 1d275f745..492ffda3a 100644 --- a/feature/settings/impl/src/test/kotlin/com/google/samples/apps/nowinandroid/feature/settings/impl/SettingsViewModelTest.kt +++ b/feature/settings/impl/src/test/kotlin/com/google/samples/apps/nowinandroid/feature/settings/impl/SettingsViewModelTest.kt @@ -68,4 +68,25 @@ class SettingsViewModelTest { viewModel.settingsUiState.value, ) } + + @Test + fun stateIsUpdatedAfterUserUpdate() = runTest { + backgroundScope.launch(UnconfinedTestDispatcher()) { viewModel.settingsUiState.collect() } + + // Update to non-default values + viewModel.updateThemeBrand(ANDROID) + viewModel.updateDarkThemeConfig(DARK) + viewModel.updateDynamicColorPreference(true) + + assertEquals( + Success( + UserEditableSettings( + brand = ANDROID, + darkThemeConfig = DARK, + useDynamicColor = true, + ), + ), + viewModel.settingsUiState.value, + ) + } }