Allow moving tickets between projects with P.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Skruecken
2026-10-19 14:19:10 +02:00
co-authored by Cursor
parent c5920ffd54
commit 7666715f6c
13 changed files with 369 additions and 6 deletions
+35
View File
@@ -91,3 +91,38 @@ func TestJSONTimeStoreDeleteByProject(t *testing.T) {
t.Fatalf("after DeleteByProject: %v %+v", err, list)
}
}
func TestJSONTimeStoreRetargetTicket(t *testing.T) {
dir := t.TempDir()
store := ticket.NewJSONTimeStore(dir)
if _, err := store.Create(ticket.TimeEntry{
TicketID: "t1", ProjectID: "old", Duration: time.Hour, Source: ticket.SourceManual,
}); err != nil {
t.Fatal(err)
}
if _, err := store.Create(ticket.TimeEntry{
TicketID: "t2", ProjectID: "old", Duration: time.Minute, Source: ticket.SourceManual,
}); err != nil {
t.Fatal(err)
}
if err := store.RetargetTicket("t1", "new"); err != nil {
t.Fatal(err)
}
list, err := store.List()
if err != nil {
t.Fatal(err)
}
for _, e := range list {
switch e.TicketID {
case "t1":
if e.ProjectID != "new" {
t.Fatalf("t1 project=%q", e.ProjectID)
}
case "t2":
if e.ProjectID != "old" {
t.Fatalf("t2 project=%q", e.ProjectID)
}
}
}
}