krz/hutch

an ios client for sourcehut

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

v2.10.1: HutchTests/TrackerManagementViewModelTests.swift · raw

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