diff options
Diffstat (limited to 'HutchTests/TrackerManagementViewModelTests.swift')
| -rw-r--r-- | HutchTests/TrackerManagementViewModelTests.swift | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/HutchTests/TrackerManagementViewModelTests.swift b/HutchTests/TrackerManagementViewModelTests.swift new file mode 100644 index 0000000..78edfc9 --- /dev/null +++ b/HutchTests/TrackerManagementViewModelTests.swift @@ -0,0 +1,36 @@ +import Testing +@testable import Hutch + +struct TrackerManagementViewModelTests { + + @Test + func normalizedUsernameStripsLeadingTildeAndWhitespace() { + #expect(TrackerManagementViewModel.normalizedUsername(" ~alice ") == "alice") + #expect(TrackerManagementViewModel.normalizedUsername("bob") == "bob") + } + + @Test + func hexColorValidationRequiresPoundAndSixHexDigits() { + #expect(TrackerManagementViewModel.isValidHexColor("#a1B2c3")) + #expect(!TrackerManagementViewModel.isValidHexColor("a1B2c3")) + #expect(!TrackerManagementViewModel.isValidHexColor("#12345")) + #expect(!TrackerManagementViewModel.isValidHexColor("#12GG45")) + } + + @Test + func trackerACLPermissionsExposeBooleanFlags() { + let permissions = TrackerACLPermissions( + browse: true, + submit: false, + comment: true, + edit: false, + triage: true + ) + + #expect(permissions.browse) + #expect(!permissions.submit) + #expect(permissions.comment) + #expect(!permissions.edit) + #expect(permissions.triage) + } +} |
