diff options
Diffstat (limited to 'HutchTests/RepositoryListViewModelTests.swift')
| -rw-r--r-- | HutchTests/RepositoryListViewModelTests.swift | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/HutchTests/RepositoryListViewModelTests.swift b/HutchTests/RepositoryListViewModelTests.swift index d6e76bf..7bd9126 100644 --- a/HutchTests/RepositoryListViewModelTests.swift +++ b/HutchTests/RepositoryListViewModelTests.swift @@ -28,6 +28,32 @@ struct RepositoryListViewModelTests { #expect(descriptionMatches.map(\.id) == [2]) } + @Test + func buildStatusKeysParsesSourceHutRepositoryURLsFromManifest() { + let manifest = """ + image: alpine/latest + sources: + - https://git.sr.ht/~owner/hutch + - ssh://[email protected]/~owner/wiki + tasks: + - echo "build" + """ + + let keys = RepositoryListViewModel.buildStatusKeys(in: manifest) + + #expect(keys.contains("git|~owner|hutch")) + #expect(keys.contains("hg|~owner|wiki")) + } + + @Test + func repositoryBuildStatusMapsJobStatesToRowStates() { + #expect(RepositoryListViewModel.repositoryBuildStatus(for: .success) == .success) + #expect(RepositoryListViewModel.repositoryBuildStatus(for: .running) == .running) + #expect(RepositoryListViewModel.repositoryBuildStatus(for: .queued) == .running) + #expect(RepositoryListViewModel.repositoryBuildStatus(for: .failed) == .failed) + #expect(RepositoryListViewModel.repositoryBuildStatus(for: .timeout) == .failed) + } + @MainActor private func makeRepository( id: Int, |
