Sort Order for tasks #110
|
@ -512,6 +512,53 @@ func TestTaskCollection_ReadAll(t *testing.T) {
|
|||
},
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
// For more sorting tests see task_collection_sort_test.go
|
||||
name: "ReadAll Tasks sorted by done asc and id desc",
|
||||
fields: fields{
|
||||
SortBy: []string{"done", "id"},
|
||||
OrderBy: []string{"asc", "desc"},
|
||||
},
|
||||
args: args{
|
||||
search: "",
|
||||
a: &User{ID: 1},
|
||||
page: 0,
|
||||
},
|
||||
want: []*Task{
|
||||
task2,
|
||||
task33,
|
||||
task32,
|
||||
task31,
|
||||
task30,
|
||||
task29,
|
||||
task28,
|
||||
task27,
|
||||
task26,
|
||||
task25,
|
||||
task24,
|
||||
task23,
|
||||
task22,
|
||||
task21,
|
||||
task20,
|
||||
task19,
|
||||
task18,
|
||||
task17,
|
||||
task16,
|
||||
task15,
|
||||
task12,
|
||||
task11,
|
||||
task10,
|
||||
task9,
|
||||
task8,
|
||||
task7,
|
||||
task6,
|
||||
task5,
|
||||
task4,
|
||||
task3,
|
||||
task1,
|
||||
},
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
name: "ReadAll Tasks with range",
|
||||
fields: fields{
|
||||
|
@ -564,164 +611,6 @@ func TestTaskCollection_ReadAll(t *testing.T) {
|
|||
},
|
||||
}
|
||||
|
||||
//sortByFields := []sortProperty{
|
||||
// taskPropertyID,
|
||||
// taskPropertyText,
|
||||
// taskPropertyDescription,
|
||||
// taskPropertyDone,
|
||||
// taskPropertyDoneAtUnix,
|
||||
// taskPropertyDueDateUnix,
|
||||
// taskPropertyCreatedByID,
|
||||
// taskPropertyListID,
|
||||
// taskPropertyRepeatAfter,
|
||||
// taskPropertyPriority,
|
||||
// taskPropertyStartDateUnix,
|
||||
// taskPropertyEndDateUnix,
|
||||
// taskPropertyHexColor,
|
||||
// taskPropertyPercentDone,
|
||||
// taskPropertyUID,
|
||||
// taskPropertyCreated,
|
||||
// taskPropertyUpdated,
|
||||
//}
|
||||
//// Add more cases programatically
|
||||
//// Simple cases
|
||||
//for _, test := range sortByFields {
|
||||
// tests = append(tests, []testcase{
|
||||
// {
|
||||
// name: "ReadAll Tasks sorted by " + test.String() + " default asc",
|
||||
// fields: fields{
|
||||
// SortBy: []string{test.String()},
|
||||
// },
|
||||
// args: args{
|
||||
// search: "",
|
||||
// a: &User{ID: 1},
|
||||
// page: 0,
|
||||
// },
|
||||
// want: sortTasksForTesting([]*sortParam{
|
||||
// {
|
||||
// sortBy: test,
|
||||
// orderBy: orderAscending,
|
||||
// },
|
||||
// }),
|
||||
// wantErr: false,
|
||||
// },
|
||||
// {
|
||||
// name: "ReadAll Tasks sorted by " + test.String() + " asc",
|
||||
// fields: fields{
|
||||
// SortBy: []string{test.String()},
|
||||
// },
|
||||
// args: args{
|
||||
// search: "",
|
||||
// a: &User{ID: 1},
|
||||
// page: 0,
|
||||
// },
|
||||
// want: sortTasksForTesting([]*sortParam{
|
||||
// {
|
||||
// sortBy: test,
|
||||
// orderBy: orderAscending,
|
||||
// },
|
||||
// }),
|
||||
// wantErr: false,
|
||||
// },
|
||||
// {
|
||||
// name: "ReadAll Tasks sorted by " + test.String() + " desc",
|
||||
// fields: fields{
|
||||
// SortBy: []string{test.String()},
|
||||
// OrderBy: []string{orderDescending.String()},
|
||||
// },
|
||||
// args: args{
|
||||
// search: "",
|
||||
// a: &User{ID: 1},
|
||||
// page: 0,
|
||||
// },
|
||||
// want: sortTasksForTesting([]*sortParam{
|
||||
// {
|
||||
// sortBy: test,
|
||||
// orderBy: orderDescending,
|
||||
// },
|
||||
// }),
|
||||
// wantErr: false,
|
||||
// },
|
||||
// }...)
|
||||
//}
|
||||
//
|
||||
//// Cases with two parameters
|
||||
//for _, outerTest := range sortByFields {
|
||||
// // We don't test all cases with everything here because this would mean an enormous amount of test cases
|
||||
// for _, test := range []sortProperty{"text", "done"} {
|
||||
// tests = append(tests, []testcase{
|
||||
// {
|
||||
// name: "ReadAll Tasks sorted by " + outerTest.String() + " and " + test.String() + "default asc",
|
||||
// fields: fields{
|
||||
// SortBy: []string{outerTest.String(), test.String()},
|
||||
// },
|
||||
// args: args{
|
||||
// search: "",
|
||||
// a: &User{ID: 1},
|
||||
// page: 0,
|
||||
// },
|
||||
// want: sortTasksForTesting([]*sortParam{
|
||||
// {
|
||||
// sortBy: outerTest,
|
||||
// orderBy: orderAscending,
|
||||
// },
|
||||
// {
|
||||
// sortBy: test,
|
||||
// orderBy: orderAscending,
|
||||
// },
|
||||
// }),
|
||||
// wantErr: false,
|
||||
// },
|
||||
// {
|
||||
// name: "ReadAll Tasks sorted by " + outerTest.String() + " and " + test.String() + " asc",
|
||||
// fields: fields{
|
||||
// SortBy: []string{outerTest.String(), test.String()},
|
||||
// OrderBy: []string{orderAscending.String(), orderAscending.String()},
|
||||
// },
|
||||
// args: args{
|
||||
// search: "",
|
||||
// a: &User{ID: 1},
|
||||
// page: 0,
|
||||
// },
|
||||
// want: sortTasksForTesting([]*sortParam{
|
||||
// {
|
||||
// sortBy: outerTest,
|
||||
// orderBy: orderAscending,
|
||||
// },
|
||||
// {
|
||||
// sortBy: test,
|
||||
// orderBy: orderAscending,
|
||||
// },
|
||||
// }),
|
||||
// wantErr: false,
|
||||
// },
|
||||
// {
|
||||
// name: "ReadAll Tasks sorted by " + outerTest.String() + " and " + test.String() + " desc",
|
||||
// fields: fields{
|
||||
// SortBy: []string{outerTest.String(), test.String()},
|
||||
// OrderBy: []string{orderDescending.String(), orderDescending.String()},
|
||||
// },
|
||||
// args: args{
|
||||
// search: "",
|
||||
// a: &User{ID: 1},
|
||||
// page: 0,
|
||||
// },
|
||||
// want: sortTasksForTesting([]*sortParam{
|
||||
// {
|
||||
// sortBy: outerTest,
|
||||
// orderBy: orderDescending,
|
||||
// },
|
||||
// {
|
||||
// sortBy: test,
|
||||
// orderBy: orderDescending,
|
||||
// },
|
||||
// }),
|
||||
// wantErr: false,
|
||||
// },
|
||||
// }...)
|
||||
// }
|
||||
//}
|
||||
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
lt := &TaskCollection{
|
||||
|
|
Loading…
Reference in New Issue