Skip to content
Snippets Groups Projects
Commit 05ddf332 authored by Simon Lindblad's avatar Simon Lindblad
Browse files

Add unit tests for task management

parent 607696ee
No related branches found
No related tags found
No related merge requests found
......@@ -6,6 +6,7 @@ import (
"net/http/httptest"
"testing"
"strings"
"strconv"
"encoding/json"
"bytes"
)
......@@ -31,6 +32,68 @@ func setup(t *testing.T) {
}
func TestTask(test *testing.T) {
setup(test)
testServer := httptest.NewServer(Handlers())
defer testServer.Close()
b, err := json.Marshal(ListCreateRequest{Name: "Work"})
checkFail(test, err)
res, err := http.Post(testServer.URL + "/list", "application/json", bytes.NewReader(b))
checkFail(test, err)
listResp := ListCreateResponse{}
body, err := ioutil.ReadAll(res.Body)
defer res.Body.Close()
err = json.Unmarshal(body, &listResp)
res, err = http.Get(testServer.URL + "/list/" + strconv.Itoa(listResp.Id))
checkFail(test, err)
if res.StatusCode != 200 {
test.Errorf("Expected 200 got %d", res.StatusCode)
}
body, err = ioutil.ReadAll(res.Body)
defer res.Body.Close()
var tasks []Task
err = json.Unmarshal(body, &tasks)
checkFail(test, err)
if len(tasks) != 0 {
test.Errorf("Expected len(tasks) == 0 got %d", len(tasks))
}
b, err = json.Marshal(CreateTaskRequest{Name: "Work", ListId: listResp.Id})
checkFail(test, err)
res, err = http.Post(testServer.URL + "/task", "application/json", bytes.NewReader(b))
checkFail(test, err)
if res.StatusCode != 200 {
test.Errorf("Expected 200, got %d")
}
res, err = http.Get(testServer.URL + "/list/" + strconv.Itoa(listResp.Id))
checkFail(test, err)
if res.StatusCode != 200 {
test.Errorf("Expected 200 got %d", res.StatusCode)
}
body, err = ioutil.ReadAll(res.Body)
defer res.Body.Close()
err = json.Unmarshal(body, &tasks)
checkFail(test, err)
if len(tasks) != 1 {
test.Errorf("Expected len(tasks) == 1 got %d", len(tasks))
}
}
func TestList(test *testing.T) {
setup(test)
testServer := httptest.NewServer(Handlers())
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment