-
-
Notifications
You must be signed in to change notification settings - Fork 67
/
form_test.go
35 lines (29 loc) · 945 Bytes
/
form_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package staticbackend
import (
"net/url"
"testing"
)
func TestFormSubmission(t *testing.T) {
val := url.Values{}
val.Add("name", "unit test")
val.Add("email", "[email protected]")
resp := dbReq(t, submitForm, "POST", "/postform/testform", val, false, true)
defer resp.Body.Close()
if resp.StatusCode > 299 {
t.Fatal(GetResponseBody(t, resp))
}
resp2 := dbReq(t, listForm, "GET", "/form?name=testform", nil, true)
defer resp2.Body.Close()
var results []map[string]interface{}
if err := parseBody(resp2.Body, &results); err != nil {
t.Fatal(err)
} else if len(results) == 0 {
t.Errorf("expected to get at least one form submission got 0")
} else if results[0]["name"] != "unit test" {
t.Log(results)
t.Errorf("expected name to be unit test got %v", results[0]["name"])
} else if results[0]["email"] != "[email protected]" {
t.Log(results)
t.Errorf("expected email to be [email protected] got %v", results[0]["email"])
}
}