provisioned dashboard validation should be made when importing a dashboard

Had to add the validate before save command before validating provisioned dashboard
so that the import would get a proper dashboard id
This commit is contained in:
Marcus Efraimsson
2018-04-13 17:54:41 +02:00
parent 79d8937ce5
commit ff4e38c1d8
2 changed files with 46 additions and 10 deletions

View File

@@ -160,6 +160,42 @@ func TestDashboardService(t *testing.T) {
})
})
Convey("Import dashboard validation", func() {
dto := &SaveDashboardDTO{}
Convey("Should return validation error if dashboard is provisioned", func() {
provisioningValidated := false
bus.AddHandler("test", func(cmd *models.IsDashboardProvisionedQuery) error {
provisioningValidated = true
cmd.Result = true
return nil
})
bus.AddHandler("test", func(cmd *models.ValidateDashboardAlertsCommand) error {
return nil
})
bus.AddHandler("test", func(cmd *models.ValidateDashboardBeforeSaveCommand) error {
return nil
})
bus.AddHandler("test", func(cmd *models.SaveProvisionedDashboardCommand) error {
return nil
})
bus.AddHandler("test", func(cmd *models.UpdateDashboardAlertsCommand) error {
return nil
})
dto.Dashboard = models.NewDashboard("Dash")
dto.Dashboard.SetId(3)
dto.User = &models.SignedInUser{UserId: 1}
_, err := service.ImportDashboard(dto)
So(provisioningValidated, ShouldBeTrue)
So(err, ShouldEqual, models.ErrDashboardCannotSaveProvisionedDashboard)
})
})
Reset(func() {
guardian.New = origNewDashboardGuardian
})