diff --git a/composeApp/src/commonMain/kotlin/at/mocode/ui/viewmodel/CreatePersonViewModel.kt b/composeApp/src/commonMain/kotlin/at/mocode/ui/viewmodel/CreatePersonViewModel.kt index e1c061a8..3593f012 100644 --- a/composeApp/src/commonMain/kotlin/at/mocode/ui/viewmodel/CreatePersonViewModel.kt +++ b/composeApp/src/commonMain/kotlin/at/mocode/ui/viewmodel/CreatePersonViewModel.kt @@ -107,10 +107,16 @@ class CreatePersonViewModel( val parts = geburtsdatum.split("-") if (parts.size == 3) { LocalDate(parts[0].toInt(), parts[1].toInt(), parts[2].toInt()) - } else null + } else { + errorMessage = "Ungültiges Datumsformat. Verwenden Sie YYYY-MM-DD" + isLoading = false + isSuccess = false + return@launch + } } catch (e: Exception) { errorMessage = "Ungültiges Datumsformat. Verwenden Sie YYYY-MM-DD" isLoading = false + isSuccess = false return@launch } } else null diff --git a/composeApp/src/commonTest/kotlin/at/mocode/ui/viewmodel/CreatePersonViewModelTest.kt b/composeApp/src/commonTest/kotlin/at/mocode/ui/viewmodel/CreatePersonViewModelTest.kt index 68314c5e..810108a8 100644 --- a/composeApp/src/commonTest/kotlin/at/mocode/ui/viewmodel/CreatePersonViewModelTest.kt +++ b/composeApp/src/commonTest/kotlin/at/mocode/ui/viewmodel/CreatePersonViewModelTest.kt @@ -306,22 +306,22 @@ class CreatePersonViewModelTest { } @Test - fun `clearError should reset error message`() { + fun `clearError should reset error message`() = runTest { // Given - simulate an error viewModel.updateNachname("") // This will cause validation error viewModel.updateVorname("Max") - runTest { - viewModel.createPerson() - testDispatcher.scheduler.advanceUntilIdle() - } + // When + viewModel.createPerson() + testDispatcher.scheduler.advanceUntilIdle() + // Then - verify error message exists assertNotNull(viewModel.errorMessage) - // When + // When - clear the error viewModel.clearError() - // Then + // Then - verify error message is cleared assertNull(viewModel.errorMessage) } }