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);
        }
Пример #2
0
        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));
        }
Пример #3
0
        public async Task <IActionResult> Assign([FromBody] AssignPermissionCommand command)
        {
            var result = await Mediator.Send(command);

            return(Ok(result));
        }