Unittest tasks
This commit is contained in:
@@ -5,6 +5,7 @@ import (
|
||||
"local/todo-server/server/ajax/task"
|
||||
"net/http"
|
||||
"net/http/httptest"
|
||||
"strings"
|
||||
"testing"
|
||||
)
|
||||
|
||||
@@ -45,3 +46,132 @@ func TestAjaxLoadTasks(t *testing.T) {
|
||||
}
|
||||
}()
|
||||
}
|
||||
|
||||
func TestAjaxNewTask(t *testing.T) {
|
||||
ajax := mockAjax()
|
||||
w := httptest.NewRecorder()
|
||||
r := httptest.NewRequest("GET", "/", strings.NewReader(`{
|
||||
"title":"a"
|
||||
}`))
|
||||
ajax.newTask(w, r)
|
||||
if v := w.Code; v != http.StatusOK {
|
||||
t.Error(v)
|
||||
}
|
||||
results, err := ajax.storageListTasks("list")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if len(results) != 1 {
|
||||
t.Error(results)
|
||||
}
|
||||
}
|
||||
|
||||
func TestAjaxMakeTask(t *testing.T) {
|
||||
ajax := mockAjax()
|
||||
r := httptest.NewRequest("GET", "/", strings.NewReader(`{
|
||||
"title":"a"
|
||||
}`))
|
||||
listID, task, err := ajax.makeTask(r)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if listID != "list" {
|
||||
t.Error(listID)
|
||||
}
|
||||
if task.Title != "a" {
|
||||
t.Error(task)
|
||||
}
|
||||
}
|
||||
|
||||
func TestAjaxDeleteTask(t *testing.T) {
|
||||
ajax := mockAjax()
|
||||
ajax.storageSetTask("list", "b", &task.Task{Title: "c"})
|
||||
w := httptest.NewRecorder()
|
||||
r := httptest.NewRequest("GET", "/?id=b", nil)
|
||||
ajax.deleteTask(w, r)
|
||||
if v := w.Code; v != http.StatusOK {
|
||||
t.Error(v)
|
||||
}
|
||||
results, err := ajax.storageListTasks("list")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if len(results) != 0 {
|
||||
t.Error(results)
|
||||
}
|
||||
if _, err := ajax.storageGetTask("list", "b"); err == nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestAjaxCompleteTask(t *testing.T) {
|
||||
ajax := mockAjax()
|
||||
ajax.storageSetTask("list", "b", &task.Task{Title: "c"})
|
||||
for _, state := range []string{"1", "0"} {
|
||||
w := httptest.NewRecorder()
|
||||
r := httptest.NewRequest("GET", "/?id=b&compl="+state, nil)
|
||||
ajax.completeTask(w, r)
|
||||
if v := w.Code; v != http.StatusOK {
|
||||
t.Error(v)
|
||||
}
|
||||
if task, err := ajax.storageGetTask("list", "b"); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if task.Complete != (state == "1") {
|
||||
t.Error(task)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestAjaxEditNote(t *testing.T) {
|
||||
ajax := mockAjax()
|
||||
ajax.storageSetTask("list", "b", &task.Task{Title: "c", Note: []string{"hi", "mom"}})
|
||||
w := httptest.NewRecorder()
|
||||
r := httptest.NewRequest("POST", "/?id=b&compl=0", strings.NewReader(`{
|
||||
"note":"hello world i like tacos"
|
||||
}`))
|
||||
ajax.editNote(w, r)
|
||||
if v := w.Code; v != http.StatusOK {
|
||||
t.Error(v)
|
||||
}
|
||||
if task, err := ajax.storageGetTask("list", "b"); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if len(task.Note) != 1 {
|
||||
t.Error(task.Note)
|
||||
}
|
||||
}
|
||||
|
||||
func TestAjaxEditTask(t *testing.T) {
|
||||
ajax := mockAjax()
|
||||
ajax.storageSetTask("list", "b", &task.Task{Title: "c", Note: []string{"hi"}})
|
||||
w := httptest.NewRecorder()
|
||||
r := httptest.NewRequest("POST", "/?id=b&compl=0", strings.NewReader(`{
|
||||
"title": "newtitle",
|
||||
"note":"hello world i like tacos"
|
||||
}`))
|
||||
ajax.editTask(w, r)
|
||||
if v := w.Code; v != http.StatusOK {
|
||||
t.Error(v)
|
||||
}
|
||||
if task, err := ajax.storageGetTask("list", "b"); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if task.Title != "newtitle" {
|
||||
t.Error(task)
|
||||
}
|
||||
}
|
||||
|
||||
func TestAjaxMoveTask(t *testing.T) {
|
||||
ajax := mockAjax()
|
||||
ajax.storageSetTask("list", "b", &task.Task{Title: "c"})
|
||||
w := httptest.NewRecorder()
|
||||
r := httptest.NewRequest("GET", "/?id=b&to=listB", strings.NewReader(`{}`))
|
||||
ajax.moveTask(w, r)
|
||||
if v := w.Code; v != http.StatusOK {
|
||||
t.Error(v)
|
||||
}
|
||||
if task, err := ajax.storageGetTask("list", "b"); err == nil {
|
||||
t.Error(err, task)
|
||||
}
|
||||
if task, err := ajax.storageGetTask("listB", "b"); err != nil {
|
||||
t.Error(err, task)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user