From 72f860e0e171f6aac4e7d896e7a571147dbcb5c5 Mon Sep 17 00:00:00 2001 From: Christian Cleberg Date: Sun, 12 Apr 2026 22:52:33 -0500 Subject: feat: add search and recent queries Implements: https://todo.sr.ht/~ccleberg/hutch/47 Implements: https://todo.sr.ht/~ccleberg/hutch/48 --- HutchTests/RepositoryListViewModelTests.swift | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) (limited to 'HutchTests/RepositoryListViewModelTests.swift') diff --git a/HutchTests/RepositoryListViewModelTests.swift b/HutchTests/RepositoryListViewModelTests.swift index 7bd9126..07f66aa 100644 --- a/HutchTests/RepositoryListViewModelTests.swift +++ b/HutchTests/RepositoryListViewModelTests.swift @@ -28,6 +28,21 @@ struct RepositoryListViewModelTests { #expect(descriptionMatches.map(\.id) == [2]) } + @Test + @MainActor + func filterRepositoriesMatchesOwnerAndDefaultBranchLocally() { + let repositories = [ + makeRepository(id: 1, service: .git, name: "Hutch", description: nil, owner: "~alice", branch: "main"), + makeRepository(id: 2, service: .hg, name: "Mail", description: nil, owner: "~bob", branch: "stable") + ] + + let ownerMatches = RepositoryListViewModel.filterRepositories(repositories, matching: "~bob") + let branchMatches = RepositoryListViewModel.filterRepositories(repositories, matching: "main") + + #expect(ownerMatches.map(\.id) == [2]) + #expect(branchMatches.map(\.id) == [1]) + } + @Test func buildStatusKeysParsesSourceHutRepositoryURLsFromManifest() { let manifest = """ @@ -59,7 +74,9 @@ struct RepositoryListViewModelTests { id: Int, service: SRHTService, name: String, - description: String? + description: String?, + owner: String = "~owner", + branch: String = "main" ) -> RepositorySummary { RepositorySummary( id: id, @@ -69,8 +86,8 @@ struct RepositoryListViewModelTests { description: description, visibility: .public, updated: Date(timeIntervalSince1970: TimeInterval(id)), - owner: Entity(canonicalName: "~owner"), - head: Reference(name: "main", target: nil) + owner: Entity(canonicalName: owner), + head: Reference(name: branch, target: nil) ) } } -- cgit v1.2.3