krz/hutch
an ios client for sourcehut
clone: git clone https://gitbay.org/krz/hutch.git
v2.15.1: 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}