public List <PermissionModel> GetAllPermissions([FromBody] FindPermissionsRequestModel requestModel) { var permissions = new List <PermissionModel>(); var existingArtifact = Context.Artifacts.Include(r => r.Permissions).FirstOrDefault(r => r.ArtifactId == requestModel.ArtifactId); if (existingArtifact == null) { return(permissions); } foreach (var permission in existingArtifact.Permissions) { var role = Context.Roles.FirstOrDefault(r => r.RoleId == permission.RoleId); if (role == null) { continue; } permissions.Add(new PermissionModel { ArtifactId = existingArtifact.ArtifactId, PermissionId = permission.PermissionId, RoleName = role.RoleName }); } return(permissions); }
public void GetAll_PermissionsList() { var resources = new Resources(); using (resources.DbContext.Database.BeginTransaction()) { // Given TestHelper.RemoveRoles(resources.DbContext); var roleOne = TestHelper.CreateRole(resources.DbContext); var roleTwo = TestHelper.CreateRole(resources.DbContext); var artifact = TestHelper.CreateArtifact(resources.DbContext); var permissionOne = TestHelper.CreatePermission(resources.DbContext, artifact, roleOne.RoleId); var permissionTwo = TestHelper.CreatePermission(resources.DbContext, artifact, roleTwo.RoleId); var requestModel = new FindPermissionsRequestModel { ArtifactId = artifact.ArtifactId }; // When var result = resources.GuiController.GetAllPermissions(requestModel); // Then Assert.IsNotNull(result); Assert.AreEqual(2, result.Count); // validate Role Names of the resultset Assert.IsTrue(result.Any(r => r.RoleName == roleOne.RoleName)); Assert.IsTrue(result.Any(r => r.RoleName == roleTwo.RoleName)); // validate permissionId Assert.IsTrue(result.Any(r => r.PermissionId == permissionOne.PermissionId)); Assert.IsTrue(result.Any(r => r.PermissionId == permissionTwo.PermissionId)); Assert.IsTrue(result.Any(r => r.ArtifactId == permissionOne.ArtifactId)); Assert.IsTrue(result.Any(r => r.ArtifactId == permissionTwo.ArtifactId)); } }
public void GetPermissions() { // Given var resources = new Resources(); var requestModel = new FindPermissionsRequestModel { ArtifactId = 1 }; var members = new List <PermissionModel>(); members.Add(new PermissionModel { PermissionId = 1, ArtifactId = 1, RoleName = "Administrator" }); members.Add(new PermissionModel { PermissionId = 2, ArtifactId = 1, RoleName = "Operations" }); members.Add(new PermissionModel { PermissionId = 3, ArtifactId = 1, RoleName = "Programmer" }); members.Add(new PermissionModel { PermissionId = 4, ArtifactId = 1, RoleName = "Vetting Clerk" }); resources.MockApiCaller.AddMockResponse("WebApi:Permissions:Find", requestModel, members); // When var result = resources.Controller.GetPermissions(requestModel) as JsonResult; // Then Assert.IsNotNull(result); var resultModel = result.Value as List <PermissionModel>; Assert.IsNotNull(resultModel); Assert.AreEqual(4, resultModel.Count); Assert.IsTrue(resultModel.All(m => m.ArtifactId == requestModel.ArtifactId)); }
public JsonResult GetPermissions(FindPermissionsRequestModel requestModel) { return(Json(WebApiCaller.PostAsync <List <PermissionModel> >("WebApi:Permissions:Find", requestModel))); }