public async Task HandleAsync(AssignPermissionCommand message, CancellationToken token = default(CancellationToken)) { var role = await this.GetRoleAsync(message.RoleId); role.AssignPermission(message.PermissionId); await _roles.SaveChangesAsync(token); }
public async Task ShouldAssingPermission() { // Arrange Guid expectedPermissionId = Guid.NewGuid(); Guid roleId = Guid.NewGuid(); Role entity = Role.Create(roleId, "Name", "Code"); var repository = new Mock <IRoleRepository>(); repository.Setup(e => e.GetByIdAsync(It.IsAny <Guid>(), It.IsAny <CancellationToken>())).ReturnsAsync(entity); AssignPermissionCommand cmd = new AssignPermissionCommand(expectedPermissionId, roleId); RoleCommandHandler actual = new RoleCommandHandler(repository.Object); // Act await actual.HandleAsync(cmd); // Assert Assert.IsTrue(entity.RolePermissions != null); Assert.IsTrue(entity.RolePermissions.Any(e => e.PermissionId == expectedPermissionId)); }
public async Task <IActionResult> Assign([FromBody] AssignPermissionCommand command) { var result = await Mediator.Send(command); return(Ok(result)); }