|
|
|
@ -154,6 +154,56 @@ func TestAccountDataAccess(t *testing.T) { |
|
|
|
|
So(err, ShouldEqual, m.ErrLastOrgAdmin) |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
Convey("Given an org user with dashboard permissions", func() { |
|
|
|
|
ac3cmd := m.CreateUserCommand{Login: "ac3", Email: "ac3@test.com", Name: "ac3 name", IsAdmin: false} |
|
|
|
|
err := CreateUser(&ac3cmd) |
|
|
|
|
So(err, ShouldBeNil) |
|
|
|
|
ac3 := ac3cmd.Result |
|
|
|
|
|
|
|
|
|
orgUserCmd := m.AddOrgUserCommand{ |
|
|
|
|
OrgId: ac1.OrgId, |
|
|
|
|
UserId: ac3.Id, |
|
|
|
|
Role: m.ROLE_VIEWER, |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
err = AddOrgUser(&orgUserCmd) |
|
|
|
|
So(err, ShouldBeNil) |
|
|
|
|
|
|
|
|
|
query := m.GetOrgUsersQuery{OrgId: orgUserCmd.OrgId} |
|
|
|
|
err = GetOrgUsers(&query) |
|
|
|
|
So(err, ShouldBeNil) |
|
|
|
|
So(len(query.Result), ShouldEqual, 3) |
|
|
|
|
|
|
|
|
|
err = AddOrUpdateDashboardPermission(&m.AddOrUpdateDashboardPermissionCommand{DashboardId: 1, OrgId: ac1.OrgId, UserId: ac3.Id, PermissionType: m.PERMISSION_EDIT}) |
|
|
|
|
So(err, ShouldBeNil) |
|
|
|
|
|
|
|
|
|
err = AddOrUpdateDashboardPermission(&m.AddOrUpdateDashboardPermissionCommand{DashboardId: 2, OrgId: ac3.OrgId, UserId: ac3.Id, PermissionType: m.PERMISSION_EDIT}) |
|
|
|
|
So(err, ShouldBeNil) |
|
|
|
|
|
|
|
|
|
Convey("When org user is deleted", func() { |
|
|
|
|
cmdRemove := m.RemoveOrgUserCommand{OrgId: orgUserCmd.OrgId, UserId: ac3.Id} |
|
|
|
|
err := RemoveOrgUser(&cmdRemove) |
|
|
|
|
So(err, ShouldBeNil) |
|
|
|
|
|
|
|
|
|
Convey("Should remove dependent permissions for deleted org user", func() { |
|
|
|
|
permQuery := &m.GetDashboardPermissionsQuery{DashboardId: 1} |
|
|
|
|
err = GetDashboardPermissions(permQuery) |
|
|
|
|
So(err, ShouldBeNil) |
|
|
|
|
|
|
|
|
|
So(len(permQuery.Result), ShouldEqual, 0) |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
Convey("Should not remove dashboard permissions for same user in another org", func() { |
|
|
|
|
permQuery := &m.GetDashboardPermissionsQuery{DashboardId: 2} |
|
|
|
|
err = GetDashboardPermissions(permQuery) |
|
|
|
|
So(err, ShouldBeNil) |
|
|
|
|
|
|
|
|
|
So(permQuery.Result[0].OrgId, ShouldEqual, ac3.OrgId) |
|
|
|
|
So(permQuery.Result[0].UserId, ShouldEqual, ac3.Id) |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
}) |
|
|
|
|
}) |
|
|
|
|
}) |
|
|
|
|
}) |
|
|
|
|
}) |
|
|
|
|