diff options
| author | Christian Cleberg <[email protected]> | 2026-04-12 22:52:33 -0500 |
|---|---|---|
| committer | Christian Cleberg <[email protected]> | 2026-04-12 22:52:33 -0500 |
| commit | 72f860e0e171f6aac4e7d896e7a571147dbcb5c5 (patch) | |
| tree | c62c9c9325292f65e6f72372a38b35760cc937b1 /HutchTests/TicketListViewModelTests.swift | |
| parent | 576bb6c2432a15f5138771c06019b55fd2244e15 (diff) | |
| download | hutch-72f860e0e171f6aac4e7d896e7a571147dbcb5c5.tar.gz hutch-72f860e0e171f6aac4e7d896e7a571147dbcb5c5.tar.bz2 hutch-72f860e0e171f6aac4e7d896e7a571147dbcb5c5.zip | |
feat: add search and recent queries
Implements: https://todo.sr.ht/~ccleberg/hutch/47
Implements: https://todo.sr.ht/~ccleberg/hutch/48
Diffstat (limited to 'HutchTests/TicketListViewModelTests.swift')
| -rw-r--r-- | HutchTests/TicketListViewModelTests.swift | 41 |
1 files changed, 39 insertions, 2 deletions
diff --git a/HutchTests/TicketListViewModelTests.swift b/HutchTests/TicketListViewModelTests.swift index a237071..7fa5449 100644 --- a/HutchTests/TicketListViewModelTests.swift +++ b/HutchTests/TicketListViewModelTests.swift @@ -66,6 +66,42 @@ struct TicketListViewModelTests { } @Test + func filteredTicketsMatchesAssigneeAndStatus() { + let tickets = [ + makeTicket( + id: 1, + title: "Crash on launch", + status: .inProgress, + submitter: "~owner", + labels: [], + assignees: [Entity(canonicalName: "~alice")] + ), + makeTicket( + id: 2, + title: "Settings polish", + status: .resolved, + submitter: "~owner", + labels: [], + assignees: [] + ) + ] + + let assigneeMatches = filterTickets( + tickets, + state: TicketListFilterState(status: .all), + query: "~alice" + ) + let statusMatches = filterTickets( + tickets, + state: TicketListFilterState(status: .all), + query: "resolved" + ) + + #expect(assigneeMatches.map(\.id) == [1]) + #expect(statusMatches.map(\.id) == [2]) + } + + @Test func filteredTicketsMatchesAnySelectedLabel() { let tickets = [ makeTicket(id: 1, title: "Crash on launch", status: .reported, submitter: "~owner", labels: [makeLabel(id: 1, name: "bug")]), @@ -153,7 +189,8 @@ struct TicketListViewModelTests { title: String, status: TicketStatus, submitter: String, - labels: [TicketLabel] + labels: [TicketLabel], + assignees: [Entity] = [] ) -> TicketSummary { TicketSummary( id: id, @@ -163,7 +200,7 @@ struct TicketListViewModelTests { created: Date(), submitter: Entity(canonicalName: submitter), labels: labels, - assignees: [] + assignees: assignees ) } |
