82 lines
1.4 KiB
Go
82 lines
1.4 KiB
Go
package taskwarrior
|
|
|
|
import (
|
|
"testing"
|
|
"time"
|
|
)
|
|
|
|
func TestTask_GetString(t *testing.T) {
|
|
tests := []struct {
|
|
name string
|
|
task Task
|
|
fieldWFormat string
|
|
want string
|
|
}{
|
|
{
|
|
name: "Priority",
|
|
task: Task{
|
|
Priority: "H",
|
|
},
|
|
fieldWFormat: "priority",
|
|
want: "H",
|
|
},
|
|
{
|
|
name: "Description",
|
|
task: Task{
|
|
Description: "Buy milk",
|
|
},
|
|
fieldWFormat: "description.desc",
|
|
want: "Buy milk",
|
|
},
|
|
}
|
|
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
if got := tt.task.GetString(tt.fieldWFormat); got != tt.want {
|
|
t.Errorf("Task.GetString() = %v, want %v", got, tt.want)
|
|
}
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestTask_GetDate(t *testing.T) {
|
|
validDate := "20230101T120000Z"
|
|
parsedValid, _ := time.Parse("20060102T150405Z", validDate)
|
|
|
|
tests := []struct {
|
|
name string
|
|
task Task
|
|
field string
|
|
want time.Time
|
|
}{
|
|
{
|
|
name: "Due date valid",
|
|
task: Task{
|
|
Due: validDate,
|
|
},
|
|
field: "due",
|
|
want: parsedValid,
|
|
},
|
|
{
|
|
name: "Due date empty",
|
|
task: Task{},
|
|
field: "due",
|
|
want: time.Time{},
|
|
},
|
|
{
|
|
name: "Unknown field",
|
|
task: Task{Due: validDate},
|
|
field: "unknown",
|
|
want: time.Time{},
|
|
},
|
|
}
|
|
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
if got := tt.task.GetDate(tt.field); !got.Equal(tt.want) {
|
|
t.Errorf("Task.GetDate() = %v, want %v", got, tt.want)
|
|
}
|
|
})
|
|
}
|
|
}
|