|
@@ -262,6 +262,41 @@ func (t *testSuite) TestGetErrorJSON() {
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+func (t *testSuite) TestPostErrorJSON() {
|
|
|
|
+ var (
|
|
|
|
+ response renderer.JsonResponse
|
|
|
|
+ )
|
|
|
|
+
|
|
|
|
+ teacher := getTeacherJSON(1)
|
|
|
|
+ teacher.Name = "Mario"
|
|
|
|
+ teacher.Surname = "ROSSI"
|
|
|
|
+
|
|
|
|
+ data, err := json.Marshal(teacher)
|
|
|
|
+ if err != nil {
|
|
|
|
+ panic(err)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ req, err := http.NewRequest("POST", "/api/teachers/0/update?format=json", bytes.NewBuffer(data))
|
|
|
|
+ if err != nil {
|
|
|
|
+ panic(err)
|
|
|
|
+ }
|
|
|
|
+ req.Header.Set("Content-Type", "application/json; charset=utf-8")
|
|
|
|
+
|
|
|
|
+ rr := httptest.NewRecorder()
|
|
|
|
+
|
|
|
|
+ pattern := PathPattern{"/api/%s/{id}/update", "", []string{"POST"}}
|
|
|
|
+ router := mux.NewRouter()
|
|
|
|
+ router.Handle("/api/teachers/{id}/update", modelHandler("teachers", pattern))
|
|
|
|
+ router.ServeHTTP(rr, req)
|
|
|
|
+
|
|
|
|
+ t.Equal(http.StatusInternalServerError, rr.Code)
|
|
|
|
+
|
|
|
|
+ err = json.Unmarshal(rr.Body.Bytes(), &response)
|
|
|
|
+ t.Nil(err)
|
|
|
|
+ t.Equal("record not found", string(response.Error))
|
|
|
|
+
|
|
|
|
+}
|
|
|
|
+
|
|
func (t *testSuite) TestAddTeacherJSON() {
|
|
func (t *testSuite) TestAddTeacherJSON() {
|
|
var (
|
|
var (
|
|
response renderer.JsonResponse
|
|
response renderer.JsonResponse
|