krz/hutch
an ios client for sourcehut
clone: git clone https://gitbay.org/krz/hutch.git
main: HutchTests/TrackerManagementViewModelTests.swift · raw
1import Testing
2@testable import Hutch
3
4@MainActor
5struct TrackerManagementViewModelTests {
6
7 @Test
8 @MainActor
9 func normalizedUsernameStripsLeadingTildeAndWhitespace() {
10 #expect(TrackerManagementViewModel.normalizedUsername(" ~alice ") == "alice")
11 #expect(TrackerManagementViewModel.normalizedUsername("bob") == "bob")
12 }
13
14 @Test
15 @MainActor
16 func hexColorValidationRequiresPoundAndSixHexDigits() {
17 #expect(TrackerManagementViewModel.isValidHexColor("#a1B2c3"))
18 #expect(!TrackerManagementViewModel.isValidHexColor("a1B2c3"))
19 #expect(!TrackerManagementViewModel.isValidHexColor("#12345"))
20 #expect(!TrackerManagementViewModel.isValidHexColor("#12GG45"))
21 }
22
23 @Test
24 func trackerACLPermissionsExposeBooleanFlags() {
25 let permissions = TrackerACLPermissions(
26 browse: true,
27 submit: false,
28 comment: true,
29 edit: false,
30 triage: true
31 )
32
33 #expect(permissions.browse)
34 #expect(!permissions.submit)
35 #expect(permissions.comment)
36 #expect(!permissions.edit)
37 #expect(permissions.triage)
38 }
39}