summaryrefslogtreecommitdiff
path: root/HutchTests/TicketListViewModelTests.swift
diff options
context:
space:
mode:
authorChristian Cleberg <[email protected]>2026-04-12 22:52:33 -0500
committerChristian Cleberg <[email protected]>2026-04-12 22:52:33 -0500
commit72f860e0e171f6aac4e7d896e7a571147dbcb5c5 (patch)
treec62c9c9325292f65e6f72372a38b35760cc937b1 /HutchTests/TicketListViewModelTests.swift
parent576bb6c2432a15f5138771c06019b55fd2244e15 (diff)
downloadhutch-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.swift41
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
)
}