move dashboard error to API (not sql)

This commit is contained in:
ryan 2018-03-23 11:36:44 +01:00
parent 0c7294593c
commit db92a96067
2 changed files with 30 additions and 4 deletions

View File

@ -63,6 +63,11 @@ func PostAnnotation(c *m.ReqContext, cmd dtos.PostAnnotationsCmd) Response {
return ApiError(500, "Failed to save annotation", err)
}
if cmd.DashboardId == 0 {
err := &CreateAnnotationError{"Missing DashboardID"}
return ApiError(500, "Failed to save annotation", err)
}
item := annotations.Item{
OrgId: c.OrgId,
UserId: c.UserId,

View File

@ -14,10 +14,11 @@ import (
func TestAnnotationsApiEndpoint(t *testing.T) {
Convey("Given an annotation without a dashboard id", t, func() {
cmd := dtos.PostAnnotationsCmd{
Time: 1000,
Text: "annotation text",
Tags: []string{"tag1", "tag2"},
IsRegion: false,
DashboardId: 1,
Time: 1000,
Text: "annotation text",
Tags: []string{"tag1", "tag2"},
IsRegion: false,
}
updateCmd := dtos.UpdateAnnotationsCmd{
@ -79,6 +80,26 @@ func TestAnnotationsApiEndpoint(t *testing.T) {
So(sc.resp.Code, ShouldEqual, 200)
})
})
Convey("Should note be able to save an annotation", func() {
cmd := dtos.PostAnnotationsCmd{
Time: 1000,
Text: "annotation text",
}
postAnnotationScenario("When calling POST without dashboardId", "/api/annotations", "/api/annotations", role, cmd, func(sc *scenarioContext) {
sc.fakeReqWithParams("POST", sc.url, map[string]string{}).exec()
So(sc.resp.Code, ShouldEqual, 500)
})
cmd := dtos.PostAnnotationsCmd{
Time: 1000,
DashboardId: 3,
}
postAnnotationScenario("When calling POST without text", "/api/annotations", "/api/annotations", role, cmd, func(sc *scenarioContext) {
sc.fakeReqWithParams("POST", sc.url, map[string]string{}).exec()
So(sc.resp.Code, ShouldEqual, 500)
})
})
})
})