|
|
@@ -221,7 +221,6 @@ func TestDashboardFolderDataAccess(t *testing.T) {
|
|
|
})
|
|
|
|
|
|
Convey("Given two dashboard folders", func() {
|
|
|
-
|
|
|
folder1 := insertTestDashboard("1 test dash folder", 1, 0, true, "prod")
|
|
|
folder2 := insertTestDashboard("2 test dash folder", 1, 0, true, "prod")
|
|
|
insertTestDashboard("folder in another org", 2, 0, true, "prod")
|
|
|
@@ -264,6 +263,15 @@ func TestDashboardFolderDataAccess(t *testing.T) {
|
|
|
So(query.Result[1].DashboardId, ShouldEqual, folder2.Id)
|
|
|
So(query.Result[1].Permission, ShouldEqual, m.PERMISSION_ADMIN)
|
|
|
})
|
|
|
+
|
|
|
+ Convey("should have edit permission in folders", func() {
|
|
|
+ query := &m.HasEditPermissionInFoldersQuery{
|
|
|
+ SignedInUser: &m.SignedInUser{UserId: adminUser.Id, OrgId: 1, OrgRole: m.ROLE_ADMIN},
|
|
|
+ }
|
|
|
+ err := HasEditPermissionInFolders(query)
|
|
|
+ So(err, ShouldBeNil)
|
|
|
+ So(query.Result, ShouldBeTrue)
|
|
|
+ })
|
|
|
})
|
|
|
|
|
|
Convey("Editor users", func() {
|
|
|
@@ -310,6 +318,14 @@ func TestDashboardFolderDataAccess(t *testing.T) {
|
|
|
So(query.Result[0].Id, ShouldEqual, folder2.Id)
|
|
|
})
|
|
|
|
|
|
+ Convey("should have edit permission in folders", func() {
|
|
|
+ query := &m.HasEditPermissionInFoldersQuery{
|
|
|
+ SignedInUser: &m.SignedInUser{UserId: editorUser.Id, OrgId: 1, OrgRole: m.ROLE_EDITOR},
|
|
|
+ }
|
|
|
+ err := HasEditPermissionInFolders(query)
|
|
|
+ So(err, ShouldBeNil)
|
|
|
+ So(query.Result, ShouldBeTrue)
|
|
|
+ })
|
|
|
})
|
|
|
|
|
|
Convey("Viewer users", func() {
|
|
|
@@ -353,6 +369,41 @@ func TestDashboardFolderDataAccess(t *testing.T) {
|
|
|
So(len(query.Result), ShouldEqual, 1)
|
|
|
So(query.Result[0].Id, ShouldEqual, folder1.Id)
|
|
|
})
|
|
|
+
|
|
|
+ Convey("should not have edit permission in folders", func() {
|
|
|
+ query := &m.HasEditPermissionInFoldersQuery{
|
|
|
+ SignedInUser: &m.SignedInUser{UserId: viewerUser.Id, OrgId: 1, OrgRole: m.ROLE_VIEWER},
|
|
|
+ }
|
|
|
+ err := HasEditPermissionInFolders(query)
|
|
|
+ So(err, ShouldBeNil)
|
|
|
+ So(query.Result, ShouldBeFalse)
|
|
|
+ })
|
|
|
+
|
|
|
+ Convey("and admin permission is given for user with org role viewer in one dashboard folder", func() {
|
|
|
+ testHelperUpdateDashboardAcl(folder1.Id, m.DashboardAcl{DashboardId: folder1.Id, OrgId: 1, UserId: viewerUser.Id, Permission: m.PERMISSION_ADMIN})
|
|
|
+
|
|
|
+ Convey("should have edit permission in folders", func() {
|
|
|
+ query := &m.HasEditPermissionInFoldersQuery{
|
|
|
+ SignedInUser: &m.SignedInUser{UserId: viewerUser.Id, OrgId: 1, OrgRole: m.ROLE_VIEWER},
|
|
|
+ }
|
|
|
+ err := HasEditPermissionInFolders(query)
|
|
|
+ So(err, ShouldBeNil)
|
|
|
+ So(query.Result, ShouldBeTrue)
|
|
|
+ })
|
|
|
+ })
|
|
|
+
|
|
|
+ Convey("and edit permission is given for user with org role viewer in one dashboard folder", func() {
|
|
|
+ testHelperUpdateDashboardAcl(folder1.Id, m.DashboardAcl{DashboardId: folder1.Id, OrgId: 1, UserId: viewerUser.Id, Permission: m.PERMISSION_EDIT})
|
|
|
+
|
|
|
+ Convey("should have edit permission in folders", func() {
|
|
|
+ query := &m.HasEditPermissionInFoldersQuery{
|
|
|
+ SignedInUser: &m.SignedInUser{UserId: viewerUser.Id, OrgId: 1, OrgRole: m.ROLE_VIEWER},
|
|
|
+ }
|
|
|
+ err := HasEditPermissionInFolders(query)
|
|
|
+ So(err, ShouldBeNil)
|
|
|
+ So(query.Result, ShouldBeTrue)
|
|
|
+ })
|
|
|
+ })
|
|
|
})
|
|
|
})
|
|
|
})
|