public UserController(AddUserCommand addUserCommand , EditUserCommand editUserCommand , DeleteUserCommand deleteUserCommand , GetAdminAppUserByIdQuery getAdminAppUserByIdQuery , EditOdsInstanceRegistrationForUserCommand editOdsInstanceRegistrationForUserCommand , EditUserRoleCommand editUserRoleCommand , GetRoleForUserQuery getRoleForUserQuery , IGetOdsInstanceRegistrationsByUserIdQuery getOdsInstanceRegistrationsByUserIdQuery , IGetOdsInstanceRegistrationsQuery getOdsInstanceRegistrationsQuery , ITabDisplayService tabDisplayService , SignInManager <AdminAppUser> signInManager , UserManager <AdminAppUser> userManager ) { _addUserCommand = addUserCommand; _editUserCommand = editUserCommand; _deleteUserCommand = deleteUserCommand; _getAdminAppUserByIdQuery = getAdminAppUserByIdQuery; _editOdsInstanceRegistrationForUserCommand = editOdsInstanceRegistrationForUserCommand; _editUserRoleCommand = editUserRoleCommand; _getRoleForUserQuery = getRoleForUserQuery; _getOdsInstanceRegistrationsByUserIdQuery = getOdsInstanceRegistrationsByUserIdQuery; _getOdsInstanceRegistrationsQuery = getOdsInstanceRegistrationsQuery; _tabDisplayService = tabDisplayService; SignInManager = signInManager; UserManager = userManager; }
public void ShouldEditUserRole() { var existingUsers = SetupUsers(2, Role.Admin).ToList(); var userToBeSuperAdmin = existingUsers[0]; var userToRemainAdmin = existingUsers[1]; var guidString = Guid.NewGuid().ToString("N"); var updateModel = new EditUserRoleModel { UserId = userToBeSuperAdmin.Id, RoleId = Role.SuperAdmin.Value.ToString() }; Scoped <AdminAppIdentityDbContext>(identity => { var command = new EditUserRoleCommand(identity); command.Execute(updateModel); }); Scoped <AdminAppIdentityDbContext>(identity => { var query = new GetRoleForUserQuery(identity); var editedUserRole = query.Execute(userToBeSuperAdmin.Id); editedUserRole.ShouldBe(Role.SuperAdmin); var notEditedUserRole = query.Execute(userToRemainAdmin.Id); notEditedUserRole.ShouldBe(Role.Admin); }); }
public void ShouldDeleteUser() { var existingUsers = SetupUsers(2, Role.Admin).ToList(); var userToBeDeleted = existingUsers[0]; var userNotToBeDeleted = existingUsers[1]; var testInstances = SetupOdsInstanceRegistrations(6).OrderBy(x => x.Name).ToList(); var testInstancesAssignedToDeletedUser = testInstances.Take(3).ToList(); var testInstancesAssignedToNotDeletedUser = testInstances.Skip(3).Take(3).ToList(); SetupUserWithOdsInstanceRegistrations(userToBeDeleted.Id, testInstancesAssignedToDeletedUser); SetupUserWithOdsInstanceRegistrations(userNotToBeDeleted.Id, testInstancesAssignedToNotDeletedUser); Scoped <IGetOdsInstanceRegistrationsByUserIdQuery>(queryInstances => { queryInstances.Execute(userToBeDeleted.Id).Count().ShouldBe(3); queryInstances.Execute(userNotToBeDeleted.Id).Count().ShouldBe(3); }); var deleteModel = new DeleteUserModel { Email = userToBeDeleted.Email, UserId = userToBeDeleted.Id }; Scoped <AdminAppIdentityDbContext>(identity => { var command = new DeleteUserCommand(identity); command.Execute(deleteModel); }); Scoped <IGetOdsInstanceRegistrationsByUserIdQuery>(queryInstances => { queryInstances.Execute(userToBeDeleted.Id).Count().ShouldBe(0); queryInstances.Execute(userNotToBeDeleted.Id).Count().ShouldBe(3); }); Scoped <AdminAppIdentityDbContext>(identity => { var queryRoles = new GetRoleForUserQuery(identity); var deletedUser = Query(userToBeDeleted.Id); deletedUser.ShouldBeNull(); queryRoles.Execute(userToBeDeleted.Id).ShouldBeNull(); var notDeletedUser = Query(userNotToBeDeleted.Id); notDeletedUser.UserName.ShouldBe(userNotToBeDeleted.UserName); notDeletedUser.Email.ShouldBe(userNotToBeDeleted.Email); queryRoles.Execute(userNotToBeDeleted.Id).ShouldBe(Role.Admin); }); }
public void ShouldGetRoleForUserById() { EnsureDefaultRoles(); var testSuperAdminUser = SetupUsers(1, Role.SuperAdmin).Single(); var testAdminUser = SetupUsers(1, Role.Admin).Single(); var command = new GetRoleForUserQuery(); var result = command.Execute(testSuperAdminUser.Id); result.ShouldBe(Role.SuperAdmin); result = command.Execute(testAdminUser.Id); result.ShouldBe(Role.Admin); }
public void ShouldGetRoleForUserById() { EnsureDefaultRoles(); var testSuperAdminUser = SetupUsers(1, Role.SuperAdmin).Single(); var testAdminUser = SetupUsers(1, Role.Admin).Single(); Scoped <AdminAppIdentityDbContext>(identity => { var command = new GetRoleForUserQuery(identity); var result = command.Execute(testSuperAdminUser.Id); result.ShouldBe(Role.SuperAdmin); result = command.Execute(testAdminUser.Id); result.ShouldBe(Role.Admin); }); }