Unittest tasks

This commit is contained in:
Bel LaPointe
2019-11-12 14:47:33 -07:00
parent 8c4bc81694
commit ee77d9d3b7
5 changed files with 200 additions and 4 deletions

View File

@@ -0,0 +1,61 @@
package ajax
import (
"local/todo-server/server/ajax/task"
"net/http/httptest"
"testing"
)
func TestAjaxStorageCur(t *testing.T) {
ajax := mockAjax()
r := httptest.NewRequest("POST", "/?id=abc", nil)
listID, taskID, tags := ajax.Cur(r)
if listID != "list" {
t.Error(listID)
}
if taskID != "abc" {
t.Error(taskID)
}
if len(tags) != 0 {
t.Error(tags)
}
}
func TestAjaxStorageListTasks(t *testing.T) {
ajax := mockAjax()
ajax.storageSetTask("a", "b", &task.Task{Title: "x"})
ajax.storageSetTask("a", "c", &task.Task{Title: "y"})
ajax.storageSetTask("a", "d", &task.Task{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("a", "b"); err == nil {
t.Error(err)
} else if err := ajax.storageSetTask("a", "b", &task.Task{Title: "c"}); err != nil {
t.Error(err)
} else if task, err := ajax.storageGetTask("a", "b"); err != nil {
t.Error(err)
} else if task.Title != "c" {
t.Error(err)
} else if err := ajax.storageDelTask("a", "b"); err != nil {
t.Error(err)
} else if _, err := ajax.storageGetTask("a", "b"); err == nil {
t.Error(err)
}
}