gte/internal/task/localtask_test.go

68 lines
1.3 KiB
Go
Raw Normal View History

2021-08-22 13:29:04 +02:00
package task_test
import (
"testing"
"git.ewintr.nl/go-kit/test"
"git.ewintr.nl/gte/internal/task"
)
func TestLocalTaskApply(t *testing.T) {
for _, tc := range []struct {
name string
input *task.LocalTask
exp *task.LocalTask
}{
{
name: "empty",
input: &task.LocalTask{
Task: task.Task{
Action: "action",
Project: "project",
Due: task.NewDate(2021, 8, 22),
},
LocalUpdate: &task.LocalUpdate{},
},
exp: &task.LocalTask{
Task: task.Task{
Action: "action",
Project: "project",
Due: task.NewDate(2021, 8, 22),
},
LocalUpdate: &task.LocalUpdate{},
},
},
{
name: "all",
input: &task.LocalTask{
Task: task.Task{
Version: 3,
},
LocalUpdate: &task.LocalUpdate{
ForVersion: 3,
Fields: []string{task.FIELD_ACTION, task.FIELD_PROJECT, task.FIELD_DUE, task.FIELD_DONE},
Action: "action",
Project: "project",
Due: task.NewDate(2021, 8, 22),
Done: true,
},
},
exp: &task.LocalTask{
Task: task.Task{
Version: 3,
Action: "action",
Project: "project",
Due: task.NewDate(2021, 8, 22),
Done: true,
},
LocalUpdate: &task.LocalUpdate{},
},
},
} {
t.Run(tc.name, func(t *testing.T) {
tc.input.ApplyUpdate()
test.Equals(t, tc.exp, tc.input)
})
}
}