public async Task HandleAsync(UnassignPermissionCommand message,
                                      CancellationToken token = default(CancellationToken))
        {
            var role = await this.GetRoleAsync(message.RoleId);

            role.UnassignPermission(message.PermissionId);
            await _roles.SaveChangesAsync(token);
        }
Пример #2
0
        public async Task ShouldUnassingPermission()
        {
            // Arrange
            Guid permissionId = Guid.NewGuid();
            Guid roleId       = Guid.NewGuid();
            Role entity       = Role.Create(roleId, "Name", "Code");

            entity.AssignPermission(permissionId);
            var repository = new Mock <IRoleRepository>();

            repository.Setup(e =>
                             e.GetByIdAsync(It.IsAny <Guid>(), It.IsAny <CancellationToken>())).ReturnsAsync(entity);
            UnassignPermissionCommand cmd = new UnassignPermissionCommand(permissionId, roleId);

            RoleCommandHandler actual = new RoleCommandHandler(repository.Object);

            // Act
            await actual.HandleAsync(cmd);

            // Assert
            Assert.IsTrue(entity.RolePermissions == null || entity.RolePermissions.Count == 0);
        }