Skip to content

Commit 0d35787

Browse files
dadachiclaude
andauthored
Fix dead password tests and add ItemTag whitespace-name regression tests (#42)
Two bugs in test assertions found while auditing validators: 1. Three password tests in SignInEmailAndPasswordViewModelTest and SignUpViewModelTest called hasInvalidDataEmail() instead of hasInvalidDataPassword(). Email is blank by default in those setups, so assertions passed for the wrong reason and the password rules were never actually exercised. Pointed them at hasInvalidDataPassword(). 2. Added whitespaceOnlyName_isInvalid regression tests for both ItemTagCreateViewModel and ItemTagEditViewModel to lock in the isBlank() name validation already in place. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent ba8248e commit 0d35787

4 files changed

Lines changed: 26 additions & 3 deletions

File tree

app/src/test/kotlin/com/nativeapptemplate/nativeapptemplatefree/ui/app_root/SignInEmailAndPasswordViewModelTest.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ class SignInEmailAndPasswordViewModelTest {
9797

9898
viewModel.updatePassword("")
9999

100-
assertTrue(viewModel.hasInvalidDataEmail())
100+
assertTrue(viewModel.hasInvalidDataPassword())
101101
}
102102

103103
@Test
@@ -106,7 +106,7 @@ class SignInEmailAndPasswordViewModelTest {
106106

107107
viewModel.updatePassword("1234567")
108108

109-
assertTrue(viewModel.hasInvalidDataEmail())
109+
assertTrue(viewModel.hasInvalidDataPassword())
110110
}
111111
}
112112

app/src/test/kotlin/com/nativeapptemplate/nativeapptemplatefree/ui/app_root/SignUpViewModelTest.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ class SignUpViewModelTest {
109109

110110
viewModel.updatePassword("1234567")
111111

112-
assertTrue(viewModel.hasInvalidDataEmail())
112+
assertTrue(viewModel.hasInvalidDataPassword())
113113
}
114114
}
115115

app/src/test/kotlin/com/nativeapptemplate/nativeapptemplatefree/ui/shop_settings/item_tag_detail/ItemTagEditViewModelTest.kt

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,19 @@ class ItemTagEditViewModelTest {
129129
assertTrue(viewModel.hasInvalidData())
130130
}
131131

132+
@Test
133+
fun whitespaceOnlyName_isInvalid() = runTest {
134+
backgroundScope.launch(UnconfinedTestDispatcher()) { viewModel.uiState.collect() }
135+
136+
itemTagRepository.sendItemTag(testInputItemTag)
137+
viewModel.reload()
138+
139+
viewModel.updateName(" ")
140+
141+
assertTrue(viewModel.hasInvalidDataName())
142+
assertTrue(viewModel.hasInvalidData())
143+
}
144+
132145
@Test
133146
fun nameWithSymbolsAndUnicode_isValid() = runTest {
134147
backgroundScope.launch(UnconfinedTestDispatcher()) { viewModel.uiState.collect() }

app/src/test/kotlin/com/nativeapptemplate/nativeapptemplatefree/ui/shop_settings/item_tag_list/ItemTagCreateViewModelTest.kt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,16 @@ class ItemTagCreateViewModelTest {
8181
assertTrue(viewModel.hasInvalidData())
8282
}
8383

84+
@Test
85+
fun whitespaceOnlyName_isInvalid() = runTest {
86+
backgroundScope.launch(UnconfinedTestDispatcher()) { viewModel.uiState.collect() }
87+
88+
viewModel.updateName(" ")
89+
90+
assertTrue(viewModel.hasInvalidDataName())
91+
assertTrue(viewModel.hasInvalidData())
92+
}
93+
8494
@Test
8595
fun singleCharacterName_isValid() = runTest {
8696
backgroundScope.launch(UnconfinedTestDispatcher()) { viewModel.uiState.collect() }

0 commit comments

Comments
 (0)