krz/hutch

an ios client for sourcehut

clone: git clone https://gitbay.org/krz/hutch.git

v3.4.0: HutchTests/TrackerManagementViewModelTests.swift · raw

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