todo-server/server/ajax/task_test.go

48 lines
982 B
Go

package ajax
import (
"encoding/json"
"local/todo-server/server/ajax/task"
"net/http"
"net/http/httptest"
"testing"
)
func TestAjaxLoadTasks(t *testing.T) {
a := mockAjax()
func() {
w := httptest.NewRecorder()
r := httptest.NewRequest("GET", "/", nil)
a.loadTasks(w, r)
var result struct {
List []string `json:"list"`
}
if v := w.Code; v != http.StatusOK {
t.Error(v)
} else if err := json.NewDecoder(w.Body).Decode(&result); err != nil {
t.Error(err)
} else if len(result.List) != 0 {
t.Error(result)
}
}()
a.storageSetTask("list", "task", &task.Task{Title: "hi"})
func() {
w := httptest.NewRecorder()
r := httptest.NewRequest("GET", "/", nil)
a.loadTasks(w, r)
var result struct {
List []task.Task `json:"list"`
}
if v := w.Code; v != http.StatusOK {
t.Error(v)
} else if err := json.NewDecoder(w.Body).Decode(&result); err != nil {
t.Error(err)
} else if len(result.List) != 1 {
t.Error(result)
}
}()
}