102 lines
2.6 KiB
Go
Executable File
102 lines
2.6 KiB
Go
Executable File
package ajax
|
|
|
|
import (
|
|
"local/todo-server/server/ajax/list"
|
|
"local/todo-server/server/ajax/task"
|
|
"net/http/httptest"
|
|
"testing"
|
|
)
|
|
|
|
func TestAjaxStorageCur(t *testing.T) {
|
|
ajax := mockAjax()
|
|
r := httptest.NewRequest("POST", "/?id=abc&list=def", nil)
|
|
listID, taskID, tags := ajax.Cur(r)
|
|
if listID != "def" {
|
|
t.Error(listID)
|
|
}
|
|
if taskID != "abc" {
|
|
t.Error(taskID)
|
|
}
|
|
if len(tags) != 0 {
|
|
t.Error(tags)
|
|
}
|
|
}
|
|
|
|
func TestAjaxStorageListLists(t *testing.T) {
|
|
ajax := mockAjax()
|
|
ajax.storageSetList(&list.List{UUID: "b", Name: "x"})
|
|
ajax.storageSetList(&list.List{UUID: "c", Name: "y"})
|
|
ajax.storageSetList(&list.List{UUID: "d", Name: "z"})
|
|
filter := func(list *list.List) bool {
|
|
return list.Name == "x" || list.Name == "y"
|
|
}
|
|
|
|
if results, err := ajax.storageListLists(); err != nil {
|
|
t.Error(err)
|
|
} else if len(results) < 3 {
|
|
t.Error(results)
|
|
}
|
|
|
|
if results, err := ajax.storageListLists(filter); err != nil {
|
|
t.Error(err)
|
|
} else if len(results) != 2 {
|
|
t.Error(results)
|
|
}
|
|
}
|
|
|
|
func TestAjaxStorageListTasks(t *testing.T) {
|
|
ajax := mockAjax()
|
|
ajax.storageSetTask("a", &task.Task{UUID: "b", Title: "x"})
|
|
ajax.storageSetTask("a", &task.Task{UUID: "c", Title: "y"})
|
|
ajax.storageSetTask("a", &task.Task{UUID: "d", Title: "z"})
|
|
filter := func(task *task.Task) bool {
|
|
return task.Title == "x" || task.Title == "y"
|
|
}
|
|
|
|
if results, err := ajax.storageListTasks("a"); err != nil {
|
|
t.Error(err)
|
|
} else if len(results) != 3 {
|
|
t.Error(results)
|
|
}
|
|
|
|
if results, err := ajax.storageListTasks("a", filter); err != nil {
|
|
t.Error(err)
|
|
} else if len(results) != 2 {
|
|
t.Error(results)
|
|
}
|
|
}
|
|
|
|
func TestAjaxStorageGetSetDelTask(t *testing.T) {
|
|
ajax := mockAjax()
|
|
if _, err := ajax.storageGetTask("b"); err == nil {
|
|
t.Error(err)
|
|
} else if err := ajax.storageSetTask("a", &task.Task{UUID: "b", Title: "c"}); err != nil {
|
|
t.Error(err)
|
|
} else if task, err := ajax.storageGetTask("b"); err != nil {
|
|
t.Error(err)
|
|
} else if task.Title != "c" {
|
|
t.Error(err)
|
|
} else if err := ajax.storageDelTask("b"); err != nil {
|
|
t.Error(err)
|
|
} else if _, err := ajax.storageGetTask("b"); err == nil {
|
|
t.Error(err)
|
|
}
|
|
}
|
|
|
|
func TestAjaxStorageGetSetDelList(t *testing.T) {
|
|
ajax := mockAjax()
|
|
if _, err := ajax.storageGetList("a"); err == nil {
|
|
t.Error(err)
|
|
} else if err := ajax.storageSetList(&list.List{UUID: "a", Name: "b"}); err != nil {
|
|
t.Error(err)
|
|
} else if List, err := ajax.storageGetList("a"); err != nil {
|
|
t.Error(err)
|
|
} else if List.Name != "b" {
|
|
t.Error(err)
|
|
} else if err := ajax.storageDelList("a"); err != nil {
|
|
t.Error(err)
|
|
} else if _, err := ajax.storageGetList("a"); err == nil {
|
|
t.Error(err)
|
|
}
|
|
}
|