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}