|
|
|
@ -39,6 +39,12 @@ func TestDashboardApiEndpoint(t *testing.T) { |
|
|
|
|
fakeDash.FolderId = 1 |
|
|
|
|
fakeDash.HasAcl = false |
|
|
|
|
|
|
|
|
|
bus.AddHandler("test", func(query *m.GetDashboardsBySlugQuery) error { |
|
|
|
|
dashboards := []*m.Dashboard{fakeDash} |
|
|
|
|
query.Result = dashboards |
|
|
|
|
return nil |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
var getDashboardQueries []*m.GetDashboardQuery |
|
|
|
|
|
|
|
|
|
bus.AddHandler("test", func(query *m.GetDashboardQuery) error { |
|
|
|
@ -232,6 +238,12 @@ func TestDashboardApiEndpoint(t *testing.T) { |
|
|
|
|
fakeDash.HasAcl = true |
|
|
|
|
setting.ViewersCanEdit = false |
|
|
|
|
|
|
|
|
|
bus.AddHandler("test", func(query *m.GetDashboardsBySlugQuery) error { |
|
|
|
|
dashboards := []*m.Dashboard{fakeDash} |
|
|
|
|
query.Result = dashboards |
|
|
|
|
return nil |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
aclMockResp := []*m.DashboardAclInfoDTO{ |
|
|
|
|
{ |
|
|
|
|
DashboardId: 1, |
|
|
|
@ -671,6 +683,37 @@ func TestDashboardApiEndpoint(t *testing.T) { |
|
|
|
|
}) |
|
|
|
|
}) |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
Convey("Given two dashboards with the same title in different folders", t, func() { |
|
|
|
|
dashOne := m.NewDashboard("dash") |
|
|
|
|
dashOne.Id = 2 |
|
|
|
|
dashOne.FolderId = 1 |
|
|
|
|
dashOne.HasAcl = false |
|
|
|
|
|
|
|
|
|
dashTwo := m.NewDashboard("dash") |
|
|
|
|
dashTwo.Id = 4 |
|
|
|
|
dashTwo.FolderId = 3 |
|
|
|
|
dashTwo.HasAcl = false |
|
|
|
|
|
|
|
|
|
bus.AddHandler("test", func(query *m.GetDashboardsBySlugQuery) error { |
|
|
|
|
dashboards := []*m.Dashboard{dashOne, dashTwo} |
|
|
|
|
query.Result = dashboards |
|
|
|
|
return nil |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
role := m.ROLE_EDITOR |
|
|
|
|
|
|
|
|
|
loggedInUserScenarioWithRole("When calling DELETE on", "DELETE", "/api/dashboards/db/dash", "/api/dashboards/db/:slug", role, func(sc *scenarioContext) { |
|
|
|
|
CallDeleteDashboard(sc) |
|
|
|
|
|
|
|
|
|
Convey("Should result in 412 Precondition failed", func() { |
|
|
|
|
So(sc.resp.Code, ShouldEqual, 412) |
|
|
|
|
result := sc.ToJson() |
|
|
|
|
So(result.Get("status").MustString(), ShouldEqual, "multiple-slugs-exists") |
|
|
|
|
So(result.Get("message").MustString(), ShouldEqual, m.ErrDashboardsWithSameSlugExists.Error()) |
|
|
|
|
}) |
|
|
|
|
}) |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func GetDashboardShouldReturn200(sc *scenarioContext) dtos.DashboardFullWithMeta { |
|
|
|
|