48 lines
982 B
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)
|
|
}
|
|
}()
|
|
}
|