49 lines
1.1 KiB
Go
49 lines
1.1 KiB
Go
package handlers
|
|
|
|
import (
|
|
"net/http"
|
|
"net/http/httptest"
|
|
"testing"
|
|
)
|
|
|
|
type postData struct {
|
|
key string
|
|
value string
|
|
}
|
|
|
|
var theTests = []struct {
|
|
name string
|
|
url string
|
|
method string
|
|
params []postData
|
|
expectedStatusCode int
|
|
}{
|
|
{"home", "/", "GET", []postData{}, http.StatusOK},
|
|
{"about", "/about", "GET", []postData{}, http.StatusOK},
|
|
{"gq", "/generals-quarters", "GET", []postData{}, http.StatusOK},
|
|
{"ms", "/majors-suite", "GET", []postData{}, http.StatusOK},
|
|
{"sa", "/availability", "GET", []postData{}, http.StatusOK},
|
|
{"contact", "/contact", "GET", []postData{}, http.StatusOK},
|
|
{"ma", "/make-reservation", "GET", []postData{}, http.StatusOK},
|
|
}
|
|
|
|
func TestHandlers(t *testing.T) {
|
|
routes := getRoutes()
|
|
ts := httptest.NewTLSServer(routes)
|
|
defer ts.Close()
|
|
|
|
for _, e := range theTests {
|
|
if e.method == "GET" {
|
|
resp, err := ts.Client().Get(ts.URL + e.url)
|
|
if err != nil {
|
|
t.Log(err)
|
|
t.Fatal(err)
|
|
}
|
|
if resp.StatusCode != e.expectedStatusCode {
|
|
t.Errorf("for %s, expected %d but got %d", e.name, e.expectedStatusCode, resp.StatusCode)
|
|
}
|
|
} else {
|
|
}
|
|
}
|
|
}
|