mirror of
https://github.com/boolean-maybe/tiki
synced 2026-04-21 13:37:20 +00:00
appease linter
This commit is contained in:
parent
62468209bc
commit
70d572b7a4
17 changed files with 68 additions and 0 deletions
|
|
@ -71,6 +71,7 @@ func TestPluginView_MoveTaskAppliesLaneAction(t *testing.T) {
|
|||
updated := ta.TaskStore.GetTask("TIKI-1")
|
||||
if updated == nil {
|
||||
t.Fatalf("expected task TIKI-1 to exist")
|
||||
return
|
||||
}
|
||||
if updated.Status != task.StatusDone {
|
||||
t.Fatalf("expected status done, got %v", updated.Status)
|
||||
|
|
@ -87,6 +88,7 @@ func TestPluginView_MoveTaskAppliesLaneAction(t *testing.T) {
|
|||
updated = ta.TaskStore.GetTask("TIKI-1")
|
||||
if updated == nil {
|
||||
t.Fatalf("expected task TIKI-1 to exist")
|
||||
return
|
||||
}
|
||||
if updated.Status != task.StatusBacklog {
|
||||
t.Fatalf("expected status backlog, got %v", updated.Status)
|
||||
|
|
|
|||
|
|
@ -401,6 +401,7 @@ func TestPluginActions_DeleteTask_DKey(t *testing.T) {
|
|||
task := ta.TaskStore.GetTask("DELETE-1")
|
||||
if task == nil {
|
||||
t.Fatal("Test task DELETE-1 not found before deletion")
|
||||
return
|
||||
}
|
||||
|
||||
// Press 'd' to delete (assumes first task is selected)
|
||||
|
|
|
|||
|
|
@ -105,6 +105,7 @@ func TestRefresh_ExternalModification(t *testing.T) {
|
|||
taskAfter := ta.TaskStore.GetTask(taskID)
|
||||
if taskAfter == nil {
|
||||
t.Fatalf("task should still exist after refresh")
|
||||
return
|
||||
}
|
||||
if taskAfter.Title != "Modified Title" {
|
||||
t.Errorf("task title in store = %q, want %q", taskAfter.Title, "Modified Title")
|
||||
|
|
|
|||
|
|
@ -171,6 +171,7 @@ func TestTaskDetailView_InlineTitleEdit_Save(t *testing.T) {
|
|||
task := ta.TaskStore.GetTask(taskID)
|
||||
if task == nil {
|
||||
t.Fatalf("task not found")
|
||||
return
|
||||
}
|
||||
if task.Title != "New Edited Title" {
|
||||
t.Errorf("title = %q, want %q", task.Title, "New Edited Title")
|
||||
|
|
@ -214,6 +215,7 @@ func TestTaskDetailView_InlineTitleEdit_Cancel(t *testing.T) {
|
|||
task := ta.TaskStore.GetTask(taskID)
|
||||
if task == nil {
|
||||
t.Fatalf("task not found")
|
||||
return
|
||||
}
|
||||
if task.Title != originalTitle {
|
||||
t.Errorf("title = %q, want %q (should not have changed)", task.Title, originalTitle)
|
||||
|
|
@ -471,6 +473,7 @@ func TestTaskDetailView_InlineEdit_PreservesOtherFields(t *testing.T) {
|
|||
task := ta.TaskStore.GetTask(taskID)
|
||||
if task == nil {
|
||||
t.Fatalf("task not found")
|
||||
return
|
||||
}
|
||||
|
||||
if task.Title != "New Title" {
|
||||
|
|
|
|||
|
|
@ -51,6 +51,7 @@ func TestTaskEdit_ShiftTabBackward(t *testing.T) {
|
|||
task := ta.TaskStore.GetTask(taskID)
|
||||
if task == nil {
|
||||
t.Fatalf("task not found")
|
||||
return
|
||||
}
|
||||
|
||||
// Verify points changed from default 1 to 2
|
||||
|
|
@ -102,6 +103,7 @@ func TestTaskEdit_StatusCycling(t *testing.T) {
|
|||
task := ta.TaskStore.GetTask(taskID)
|
||||
if task == nil {
|
||||
t.Fatalf("task not found")
|
||||
return
|
||||
}
|
||||
|
||||
if task.Status != taskpkg.StatusDone {
|
||||
|
|
@ -151,6 +153,7 @@ func TestTaskEdit_TypeToggling(t *testing.T) {
|
|||
task := ta.TaskStore.GetTask(taskID)
|
||||
if task == nil {
|
||||
t.Fatalf("task not found")
|
||||
return
|
||||
}
|
||||
|
||||
if task.Type != taskpkg.TypeEpic {
|
||||
|
|
@ -199,6 +202,7 @@ func TestTaskEdit_AssigneeInput(t *testing.T) {
|
|||
task := ta.TaskStore.GetTask(taskID)
|
||||
if task == nil {
|
||||
t.Fatalf("task not found")
|
||||
return
|
||||
}
|
||||
|
||||
// Current behavior: appends to default "Unassigned" text
|
||||
|
|
@ -240,6 +244,7 @@ func TestTaskEdit_SaveAndContinue(t *testing.T) {
|
|||
task := ta.TaskStore.GetTask(taskID)
|
||||
if task == nil {
|
||||
t.Fatalf("task not found")
|
||||
return
|
||||
}
|
||||
|
||||
if task.Title != "New Title" {
|
||||
|
|
@ -298,6 +303,7 @@ func TestTaskEdit_EscapeAndReEdit(t *testing.T) {
|
|||
task := ta.TaskStore.GetTask(taskID)
|
||||
if task == nil {
|
||||
t.Fatalf("task not found")
|
||||
return
|
||||
}
|
||||
|
||||
if task.Title != "New Title" {
|
||||
|
|
@ -345,6 +351,7 @@ func TestTaskEdit_PriorityRange(t *testing.T) {
|
|||
task := ta.TaskStore.GetTask(taskID)
|
||||
if task == nil {
|
||||
t.Fatalf("task not found")
|
||||
return
|
||||
}
|
||||
|
||||
if task.Priority != 5 {
|
||||
|
|
@ -394,6 +401,7 @@ func TestTaskEdit_PointsRange(t *testing.T) {
|
|||
task := ta.TaskStore.GetTask(taskID)
|
||||
if task == nil {
|
||||
t.Fatalf("task not found")
|
||||
return
|
||||
}
|
||||
|
||||
if task.Points != 7 {
|
||||
|
|
|
|||
|
|
@ -53,6 +53,7 @@ func TestNewTask_Enter_SavesAndCreatesFile(t *testing.T) {
|
|||
task := findTaskByTitle(ta.TaskStore.GetAllTasks(), "My New Task")
|
||||
if task == nil {
|
||||
t.Fatalf("new task not found in store")
|
||||
return
|
||||
}
|
||||
if task.Title != "My New Task" {
|
||||
t.Errorf("title = %q, want %q", task.Title, "My New Task")
|
||||
|
|
@ -130,6 +131,7 @@ func TestNewTask_CtrlS_SavesAndCreatesFile(t *testing.T) {
|
|||
task := findTaskByTitle(ta.TaskStore.GetAllTasks(), "Task Saved With CtrlS")
|
||||
if task == nil {
|
||||
t.Fatalf("new task not found in store")
|
||||
return
|
||||
}
|
||||
if task.Title != "Task Saved With CtrlS" {
|
||||
t.Errorf("title = %q, want %q", task.Title, "Task Saved With CtrlS")
|
||||
|
|
@ -277,6 +279,7 @@ func TestTaskEdit_EnterInPointsFieldDoesNotSave(t *testing.T) {
|
|||
task := ta.TaskStore.GetTask(taskID)
|
||||
if task == nil {
|
||||
t.Fatalf("task not found")
|
||||
return
|
||||
}
|
||||
if task.Title != originalTitle {
|
||||
t.Errorf("title was saved when it shouldn't have been: got %q, want %q", task.Title, originalTitle)
|
||||
|
|
@ -320,6 +323,7 @@ func TestTaskEdit_TitleChangesSaved(t *testing.T) {
|
|||
task := ta.TaskStore.GetTask(taskID)
|
||||
if task == nil {
|
||||
t.Fatalf("task not found")
|
||||
return
|
||||
}
|
||||
if task.Title != "Updated Title" {
|
||||
t.Errorf("title = %q, want %q", task.Title, "Updated Title")
|
||||
|
|
@ -371,6 +375,7 @@ func TestTaskEdit_CtrlS_FromPointsField_Saves(t *testing.T) {
|
|||
task := ta.TaskStore.GetTask(taskID)
|
||||
if task == nil {
|
||||
t.Fatalf("task not found")
|
||||
return
|
||||
}
|
||||
if task.Title != "Modified Title" {
|
||||
t.Errorf("title = %q, want %q (Ctrl+S should save from any field)", task.Title, "Modified Title")
|
||||
|
|
@ -413,6 +418,7 @@ func TestTaskEdit_Escape_FromTitleField_Cancels(t *testing.T) {
|
|||
task := ta.TaskStore.GetTask(taskID)
|
||||
if task == nil {
|
||||
t.Fatalf("task not found")
|
||||
return
|
||||
}
|
||||
if task.Title != originalTitle {
|
||||
t.Errorf("title = %q, want %q (Escape should cancel)", task.Title, originalTitle)
|
||||
|
|
@ -498,6 +504,7 @@ func TestTaskEdit_Escape_FromPointsField_Cancels(t *testing.T) {
|
|||
task := ta.TaskStore.GetTask(taskID)
|
||||
if task == nil {
|
||||
t.Fatalf("task not found")
|
||||
return
|
||||
}
|
||||
if task.Title != originalTitle {
|
||||
t.Errorf("title = %q, want %q (Escape should cancel from any field)", task.Title, originalTitle)
|
||||
|
|
@ -560,6 +567,7 @@ func TestTaskEdit_Tab_NavigatesForward(t *testing.T) {
|
|||
task := ta.TaskStore.GetTask(taskID)
|
||||
if task == nil {
|
||||
t.Fatalf("task not found")
|
||||
return
|
||||
}
|
||||
if task.Points != 5 {
|
||||
t.Errorf("points = %d, want 5 (Tab should navigate to Points field)", task.Points)
|
||||
|
|
@ -611,6 +619,7 @@ func TestTaskEdit_Navigation_PreservesChanges(t *testing.T) {
|
|||
task := ta.TaskStore.GetTask(taskID)
|
||||
if task == nil {
|
||||
t.Fatalf("task not found")
|
||||
return
|
||||
}
|
||||
if task.Title != "New Title" {
|
||||
t.Errorf("title = %q, want %q (changes should be preserved during navigation)", task.Title, "New Title")
|
||||
|
|
@ -675,6 +684,7 @@ func TestTaskEdit_MultipleFields_AllSaved(t *testing.T) {
|
|||
task := ta.TaskStore.GetTask(taskID)
|
||||
if task == nil {
|
||||
t.Fatalf("task not found")
|
||||
return
|
||||
}
|
||||
if task.Title != "New Multi-Field Title" {
|
||||
t.Errorf("title = %q, want %q", task.Title, "New Multi-Field Title")
|
||||
|
|
@ -703,6 +713,7 @@ func TestTaskEdit_MultipleFields_AllDiscarded(t *testing.T) {
|
|||
task := ta.TaskStore.GetTask(taskID)
|
||||
if task == nil {
|
||||
t.Fatalf("task not found after creation")
|
||||
return
|
||||
}
|
||||
task.Priority = 3
|
||||
task.Points = 5
|
||||
|
|
@ -745,6 +756,7 @@ func TestTaskEdit_MultipleFields_AllDiscarded(t *testing.T) {
|
|||
task = ta.TaskStore.GetTask(taskID)
|
||||
if task == nil {
|
||||
t.Fatalf("task not found")
|
||||
return
|
||||
}
|
||||
if task.Title != "Original Title" {
|
||||
t.Errorf("title = %q, want %q (all changes should be discarded)", task.Title, "Original Title")
|
||||
|
|
@ -795,6 +807,7 @@ func TestNewTask_MultipleFields_AllSaved(t *testing.T) {
|
|||
task := findTaskByTitle(ta.TaskStore.GetAllTasks(), "New Task With Multiple Fields")
|
||||
if task == nil {
|
||||
t.Fatalf("new task not found in store")
|
||||
return
|
||||
}
|
||||
if task.Title != "New Task With Multiple Fields" {
|
||||
t.Errorf("title = %q, want %q", task.Title, "New Task With Multiple Fields")
|
||||
|
|
@ -854,6 +867,7 @@ func TestNewTask_AfterEditingExistingTask_StatusAndTypeNotCorrupted(t *testing.T
|
|||
newTask := findTaskByTitle(ta.TaskStore.GetAllTasks(), "New Task After Edit")
|
||||
if newTask == nil {
|
||||
t.Fatalf("new task not found in store")
|
||||
return
|
||||
}
|
||||
if newTask.Title != "New Task After Edit" {
|
||||
t.Errorf("title = %q, want %q", newTask.Title, "New Task After Edit")
|
||||
|
|
|
|||
|
|
@ -204,6 +204,7 @@ func TestRunQueryUpdatePersists(t *testing.T) {
|
|||
updated := s.GetTask("TIKI-AAA001")
|
||||
if updated == nil {
|
||||
t.Fatal("task not found after update")
|
||||
return
|
||||
}
|
||||
if updated.Title != "Updated API" {
|
||||
t.Errorf("expected title 'Updated API', got %q", updated.Title)
|
||||
|
|
|
|||
|
|
@ -378,6 +378,7 @@ func TestLoadPluginsFromFile_DokiConfigIndex(t *testing.T) {
|
|||
dp, ok := plugins[1].(*DokiPlugin)
|
||||
if !ok {
|
||||
t.Fatalf("expected DokiPlugin, got %T", plugins[1])
|
||||
return
|
||||
}
|
||||
if dp.ConfigIndex != 1 {
|
||||
t.Errorf("expected DokiPlugin ConfigIndex 1, got %d", dp.ConfigIndex)
|
||||
|
|
|
|||
|
|
@ -57,6 +57,7 @@ func TestLower_DateLiteralInCondition(t *testing.T) {
|
|||
dl, ok := cmp.Right.(*DateLiteral)
|
||||
if !ok {
|
||||
t.Fatalf("expected DateLiteral, got %T", cmp.Right)
|
||||
return
|
||||
}
|
||||
if dl.Value.Year() != 2026 || dl.Value.Month() != 6 || dl.Value.Day() != 15 {
|
||||
t.Errorf("unexpected date: %v", dl.Value)
|
||||
|
|
@ -78,6 +79,7 @@ func TestLower_IntLiteral(t *testing.T) {
|
|||
il, ok := cmp.Right.(*IntLiteral)
|
||||
if !ok {
|
||||
t.Fatalf("expected IntLiteral, got %T", cmp.Right)
|
||||
return
|
||||
}
|
||||
if il.Value != 3 {
|
||||
t.Errorf("expected 3, got %d", il.Value)
|
||||
|
|
@ -95,6 +97,7 @@ func TestLower_EmptyLiteral(t *testing.T) {
|
|||
ie, ok := stmt.Select.Where.(*IsEmptyExpr)
|
||||
if !ok {
|
||||
t.Fatalf("expected IsEmptyExpr, got %T", stmt.Select.Where)
|
||||
return
|
||||
}
|
||||
if ie.Negated {
|
||||
t.Error("expected non-negated is empty")
|
||||
|
|
@ -146,6 +149,7 @@ func TestLower_In(t *testing.T) {
|
|||
in, ok := stmt.Select.Where.(*InExpr)
|
||||
if !ok {
|
||||
t.Fatalf("expected InExpr, got %T", stmt.Select.Where)
|
||||
return
|
||||
}
|
||||
if in.Negated {
|
||||
t.Error("expected non-negated in")
|
||||
|
|
@ -163,6 +167,7 @@ func TestLower_QuantifierAll(t *testing.T) {
|
|||
q, ok := stmt.Select.Where.(*QuantifierExpr)
|
||||
if !ok {
|
||||
t.Fatalf("expected QuantifierExpr, got %T", stmt.Select.Where)
|
||||
return
|
||||
}
|
||||
if q.Kind != "all" {
|
||||
t.Errorf("expected 'all', got %q", q.Kind)
|
||||
|
|
@ -180,6 +185,7 @@ func TestLower_ParenCondition(t *testing.T) {
|
|||
bc, ok := stmt.Select.Where.(*BinaryCondition)
|
||||
if !ok {
|
||||
t.Fatalf("expected BinaryCondition, got %T", stmt.Select.Where)
|
||||
return
|
||||
}
|
||||
if bc.Op != "or" {
|
||||
t.Errorf("expected 'or', got %q", bc.Op)
|
||||
|
|
@ -210,6 +216,7 @@ func TestLower_NotCondition(t *testing.T) {
|
|||
nc, ok := stmt.Select.Where.(*NotCondition)
|
||||
if !ok {
|
||||
t.Fatalf("expected NotCondition, got %T", stmt.Select.Where)
|
||||
return
|
||||
}
|
||||
if nc.Inner == nil {
|
||||
t.Fatal("expected non-nil inner condition")
|
||||
|
|
@ -351,6 +358,7 @@ func TestLower_SubQuery(t *testing.T) {
|
|||
fc, ok := cmp.Left.(*FunctionCall)
|
||||
if !ok {
|
||||
t.Fatalf("expected FunctionCall, got %T", cmp.Left)
|
||||
return
|
||||
}
|
||||
if fc.Name != "count" {
|
||||
t.Errorf("expected 'count', got %q", fc.Name)
|
||||
|
|
@ -358,6 +366,7 @@ func TestLower_SubQuery(t *testing.T) {
|
|||
sq, ok := fc.Args[0].(*SubQuery)
|
||||
if !ok {
|
||||
t.Fatalf("expected SubQuery arg, got %T", fc.Args[0])
|
||||
return
|
||||
}
|
||||
if sq.Where == nil {
|
||||
t.Fatal("expected non-nil where in subquery")
|
||||
|
|
@ -383,6 +392,7 @@ func TestLower_SubQueryBare(t *testing.T) {
|
|||
sq, ok := fc.Args[0].(*SubQuery)
|
||||
if !ok {
|
||||
t.Fatalf("expected SubQuery, got %T", fc.Args[0])
|
||||
return
|
||||
}
|
||||
if sq.Where != nil {
|
||||
t.Error("expected nil where in bare subquery")
|
||||
|
|
@ -404,6 +414,7 @@ func TestLower_QualifiedRef(t *testing.T) {
|
|||
qr, ok := cmp.Left.(*QualifiedRef)
|
||||
if !ok {
|
||||
t.Fatalf("expected QualifiedRef, got %T", cmp.Left)
|
||||
return
|
||||
}
|
||||
if qr.Qualifier != "old" || qr.Name != "status" {
|
||||
t.Errorf("expected old.status, got %s.%s", qr.Qualifier, qr.Name)
|
||||
|
|
@ -456,6 +467,7 @@ func TestLower_EmptyStatement(t *testing.T) {
|
|||
_, err := lowerStatement(&statementGrammar{})
|
||||
if err == nil {
|
||||
t.Fatal("expected error for empty statement grammar")
|
||||
return
|
||||
}
|
||||
if err.Error() != "empty statement" {
|
||||
t.Errorf("expected 'empty statement', got: %v", err)
|
||||
|
|
@ -468,6 +480,7 @@ func TestLower_EmptyTriggerAction(t *testing.T) {
|
|||
err := lowerTriggerAction(&actionGrammar{}, trig)
|
||||
if err == nil {
|
||||
t.Fatal("expected error for empty trigger action")
|
||||
return
|
||||
}
|
||||
if err.Error() != "empty trigger action" {
|
||||
t.Errorf("expected 'empty trigger action', got: %v", err)
|
||||
|
|
@ -479,6 +492,7 @@ func TestLower_EmptyExpression(t *testing.T) {
|
|||
_, err := lowerUnary(&unaryExpr{})
|
||||
if err == nil {
|
||||
t.Fatal("expected error for empty expression")
|
||||
return
|
||||
}
|
||||
if err.Error() != "empty expression" {
|
||||
t.Errorf("expected 'empty expression', got: %v", err)
|
||||
|
|
@ -523,6 +537,7 @@ func TestLower_SubQueryOrderByRejected(t *testing.T) {
|
|||
_, err := lowerSubQuery(sq)
|
||||
if err == nil {
|
||||
t.Fatal("expected error for order by in subquery")
|
||||
return
|
||||
}
|
||||
if err.Error() != "order by is not valid inside a subquery" {
|
||||
t.Errorf("unexpected error: %v", err)
|
||||
|
|
@ -540,6 +555,7 @@ func TestLower_ExprCondBareExpression(t *testing.T) {
|
|||
_, err := lowerExprCond(ec)
|
||||
if err == nil {
|
||||
t.Fatal("expected error for bare expression as condition")
|
||||
return
|
||||
}
|
||||
if err.Error() != "expression used as condition without comparison operator" {
|
||||
t.Errorf("unexpected error: %v", err)
|
||||
|
|
@ -667,6 +683,7 @@ func TestLower_OrCondChain(t *testing.T) {
|
|||
bc, ok := stmt.Select.Where.(*BinaryCondition)
|
||||
if !ok {
|
||||
t.Fatalf("expected BinaryCondition, got %T", stmt.Select.Where)
|
||||
return
|
||||
}
|
||||
if bc.Op != "or" {
|
||||
t.Errorf("expected 'or', got %q", bc.Op)
|
||||
|
|
@ -684,6 +701,7 @@ func TestLower_AndCondChain(t *testing.T) {
|
|||
bc, ok := stmt.Select.Where.(*BinaryCondition)
|
||||
if !ok {
|
||||
t.Fatalf("expected BinaryCondition, got %T", stmt.Select.Where)
|
||||
return
|
||||
}
|
||||
if bc.Op != "and" {
|
||||
t.Errorf("expected 'and', got %q", bc.Op)
|
||||
|
|
|
|||
|
|
@ -558,6 +558,7 @@ func TestParseQualifiedRefs(t *testing.T) {
|
|||
fr, ok := cmp.Left.(*FieldRef)
|
||||
if !ok {
|
||||
t.Fatalf("expected FieldRef, got %T", cmp.Left)
|
||||
return
|
||||
}
|
||||
if fr.Name != "status" {
|
||||
t.Fatalf("expected status, got %s", fr.Name)
|
||||
|
|
@ -581,6 +582,7 @@ func TestParseSubQuery(t *testing.T) {
|
|||
fc, ok := cmp.Left.(*FunctionCall)
|
||||
if !ok {
|
||||
t.Fatalf("expected FunctionCall, got %T", cmp.Left)
|
||||
return
|
||||
}
|
||||
if fc.Name != "count" {
|
||||
t.Fatalf("expected count, got %s", fc.Name)
|
||||
|
|
@ -589,6 +591,7 @@ func TestParseSubQuery(t *testing.T) {
|
|||
sq, ok := fc.Args[0].(*SubQuery)
|
||||
if !ok {
|
||||
t.Fatalf("expected SubQuery arg, got %T", fc.Args[0])
|
||||
return
|
||||
}
|
||||
if sq.Where == nil {
|
||||
t.Fatal("expected SubQuery Where, got nil")
|
||||
|
|
|
|||
|
|
@ -129,6 +129,7 @@ func TestValidatedTriggerCloneIsolated(t *testing.T) {
|
|||
after := validated.TriggerClone()
|
||||
if after == nil {
|
||||
t.Fatal("expected non-nil trigger clone after mutation")
|
||||
return
|
||||
}
|
||||
if after.Timing != "before" || after.Event != "create" {
|
||||
t.Fatalf("validated trigger was mutated: timing=%q event=%q", after.Timing, after.Event)
|
||||
|
|
@ -156,6 +157,7 @@ func TestValidatedTimeTriggerCloneIsolated(t *testing.T) {
|
|||
after := validated.TimeTriggerClone()
|
||||
if after == nil {
|
||||
t.Fatal("expected non-nil time trigger clone after mutation")
|
||||
return
|
||||
}
|
||||
if after.Interval.Value != 2 || after.Interval.Unit != "day" {
|
||||
t.Fatalf("validated time trigger interval was mutated: %+v", after.Interval)
|
||||
|
|
|
|||
|
|
@ -239,6 +239,7 @@ func TestValidateTimeTrigger_RejectsSelect(t *testing.T) {
|
|||
err := p.validateTimeTrigger(tt)
|
||||
if err == nil {
|
||||
t.Fatal("expected error for select in time trigger")
|
||||
return
|
||||
}
|
||||
if err.Error() != "time trigger action must not be select" {
|
||||
t.Fatalf("unexpected error: %v", err)
|
||||
|
|
|
|||
|
|
@ -2420,6 +2420,7 @@ func TestGuardSentinel_BothNilFallback(t *testing.T) {
|
|||
sentinel := te.guardSentinel(tc)
|
||||
if sentinel == nil {
|
||||
t.Fatal("expected non-nil sentinel even when both old and new are nil")
|
||||
return
|
||||
}
|
||||
if sentinel.ID != "" {
|
||||
t.Errorf("expected empty ID on fallback sentinel, got %q", sentinel.ID)
|
||||
|
|
@ -3487,6 +3488,7 @@ func TestValidateEventTriggerInput_RawTriggerSuccess(t *testing.T) {
|
|||
}
|
||||
if validated == nil {
|
||||
t.Fatal("expected non-nil validated trigger")
|
||||
return
|
||||
}
|
||||
if validated.RuntimeMode() != ExecutorRuntimeEventTrigger {
|
||||
t.Fatalf("expected eventTrigger runtime, got %q", validated.RuntimeMode())
|
||||
|
|
|
|||
|
|
@ -254,6 +254,7 @@ func TestParseTrigger_QualifiedRefsInWhere(t *testing.T) {
|
|||
qr, ok := leftCmp.Left.(*QualifiedRef)
|
||||
if !ok {
|
||||
t.Fatalf("expected QualifiedRef, got %T", leftCmp.Left)
|
||||
return
|
||||
}
|
||||
if qr.Qualifier != "old" || qr.Name != "status" {
|
||||
t.Fatalf("expected old.status, got %s.%s", qr.Qualifier, qr.Name)
|
||||
|
|
@ -267,6 +268,7 @@ func TestParseTrigger_QualifiedRefsInWhere(t *testing.T) {
|
|||
qr2, ok := rightCmp.Left.(*QualifiedRef)
|
||||
if !ok {
|
||||
t.Fatalf("expected QualifiedRef, got %T", rightCmp.Left)
|
||||
return
|
||||
}
|
||||
if qr2.Qualifier != "new" || qr2.Name != "status" {
|
||||
t.Fatalf("expected new.status, got %s.%s", qr2.Qualifier, qr2.Name)
|
||||
|
|
|
|||
|
|
@ -124,6 +124,7 @@ func TestCreateTask_RejectedByValidator(t *testing.T) {
|
|||
re, ok := err.(*RejectionError)
|
||||
if !ok {
|
||||
t.Fatalf("expected *RejectionError, got %T", err)
|
||||
return
|
||||
}
|
||||
if re.Rejections[0].Reason != "blocked" {
|
||||
t.Errorf("unexpected reason: %s", re.Rejections[0].Reason)
|
||||
|
|
@ -300,6 +301,7 @@ func TestMultipleRejections(t *testing.T) {
|
|||
re, ok := err.(*RejectionError)
|
||||
if !ok {
|
||||
t.Fatalf("expected *RejectionError, got %T", err)
|
||||
return
|
||||
}
|
||||
if len(re.Rejections) != 2 {
|
||||
t.Fatalf("expected 2 rejections, got %d", len(re.Rejections))
|
||||
|
|
@ -346,6 +348,7 @@ func TestFieldValidators_RejectInvalidTask(t *testing.T) {
|
|||
re, ok := err.(*RejectionError)
|
||||
if !ok {
|
||||
t.Fatalf("expected *RejectionError, got %T", err)
|
||||
return
|
||||
}
|
||||
|
||||
found := false
|
||||
|
|
|
|||
|
|
@ -240,6 +240,7 @@ func TestTriggerEngine_AfterUpdateCascade(t *testing.T) {
|
|||
persisted := s.GetTask("TIKI-URGENT")
|
||||
if persisted == nil {
|
||||
t.Fatal("task not found")
|
||||
return
|
||||
}
|
||||
if persisted.Assignee != "autobot" {
|
||||
t.Fatalf("expected assignee=autobot, got %q", persisted.Assignee)
|
||||
|
|
@ -289,6 +290,7 @@ func TestTriggerEngine_AfterDeleteCleanupDeps(t *testing.T) {
|
|||
persisted := s.GetTask("TIKI-DOWN01")
|
||||
if persisted == nil {
|
||||
t.Fatal("downstream task missing")
|
||||
return
|
||||
}
|
||||
if len(persisted.DependsOn) != 1 || persisted.DependsOn[0] != "TIKI-OTHER1" {
|
||||
t.Fatalf("expected dependsOn=[TIKI-OTHER1], got %v", persisted.DependsOn)
|
||||
|
|
@ -494,6 +496,7 @@ func TestTriggerEngine_AfterUpdateCreateWithNextDate(t *testing.T) {
|
|||
}
|
||||
if created == nil {
|
||||
t.Fatal("trigger-created task not found")
|
||||
return
|
||||
}
|
||||
if created.Title != "Daily standup" {
|
||||
t.Fatalf("expected title 'Daily standup', got %q", created.Title)
|
||||
|
|
@ -1275,6 +1278,7 @@ func TestTriggerEngine_StartScheduler_ActionErrorContinues(t *testing.T) {
|
|||
persisted := s.GetTask("TIKI-ERR001")
|
||||
if persisted == nil {
|
||||
t.Fatal("task should still exist")
|
||||
return
|
||||
}
|
||||
if persisted.CreatedBy != "" {
|
||||
t.Errorf("createdBy should be unchanged, got %q", persisted.CreatedBy)
|
||||
|
|
@ -1365,6 +1369,7 @@ func TestTriggerEngine_ExecuteTimeTrigger_PersistError(t *testing.T) {
|
|||
persisted := s.GetTask("TIKI-PER001")
|
||||
if persisted == nil {
|
||||
t.Fatal("task should still exist")
|
||||
return
|
||||
}
|
||||
if persisted.Status != "ready" {
|
||||
t.Errorf("status should be unchanged, got %q", persisted.Status)
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@ func TestWrapFieldValidator_DeleteCase(t *testing.T) {
|
|||
rejection = validator(badOld, nil, nil)
|
||||
if rejection == nil {
|
||||
t.Fatal("expected rejection for old task with empty title")
|
||||
return
|
||||
}
|
||||
if rejection.Reason != "title required" {
|
||||
t.Errorf("expected 'title required', got %q", rejection.Reason)
|
||||
|
|
|
|||
Loading…
Reference in a new issue