diff options
| author | Christian Cleberg <[email protected]> | 2026-08-07 02:24:43 -0500 |
|---|---|---|
| committer | GitHub <[email protected]> | 2026-08-07 02:24:43 -0500 |
| commit | 0a3e55c15cfb9ce1bd3df0c7b352760bc2ee33c3 (patch) | |
| tree | 7137471dd7cdd5583db4ffbead31414497c431a9 /HutchTests/RecentActivityStoreTests.swift | |
| parent | fbcb4113f110a7db9cf21d18510cb59c2e90ba23 (diff) | |
| parent | 1c4e968c31ee451666a65e05c762c9422c768426 (diff) | |
| download | hutch-0a3e55c15cfb9ce1bd3df0c7b352760bc2ee33c3.tar.gz hutch-0a3e55c15cfb9ce1bd3df0c7b352760bc2ee33c3.tar.bz2 hutch-0a3e55c15cfb9ce1bd3df0c7b352760bc2ee33c3.zip | |
Merge pull request #29 from krazywarez/issues-9-11-18
Fix checklist rendering, add clear-recent-activity, speed up pull-to-refresh
Diffstat (limited to 'HutchTests/RecentActivityStoreTests.swift')
| -rw-r--r-- | HutchTests/RecentActivityStoreTests.swift | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/HutchTests/RecentActivityStoreTests.swift b/HutchTests/RecentActivityStoreTests.swift new file mode 100644 index 0000000..e6fcc04 --- /dev/null +++ b/HutchTests/RecentActivityStoreTests.swift @@ -0,0 +1,38 @@ +import Foundation +import Testing +@testable import Hutch + +struct RecentActivityStoreTests { + @Test + func removeDropsMatchingEntryKeepingOthers() { + let defaults = UserDefaults(suiteName: #function)! + defaults.removePersistentDomain(forName: #function) + + RecentActivityStore.recordBuild(jobId: 1, title: "Build 1", defaults: defaults) + RecentActivityStore.recordBuild(jobId: 2, title: "Build 2", defaults: defaults) + + RecentActivityStore.remove(id: "build:1", defaults: defaults) + + let remaining = RecentActivityStore.load(defaults: defaults) + #expect(remaining.map(\.id) == ["build:2"]) + } + + @Test + func clearRemovesAllEntries() { + let defaults = UserDefaults(suiteName: #function)! + defaults.removePersistentDomain(forName: #function) + + RecentActivityStore.recordBuild(jobId: 1, title: "Build 1", defaults: defaults) + RecentActivityStore.recordTicket( + ownerUsername: "~alice", + trackerName: "hutch", + ticketId: 42, + title: "A ticket", + defaults: defaults + ) + + RecentActivityStore.clear(defaults: defaults) + + #expect(RecentActivityStore.load(defaults: defaults).isEmpty) + } +} |
