public async Task HandleAsync(UnassignRoleCommand message, CancellationToken token = default(CancellationToken)) { var user = await this.GetUserAsync(message.UserId, token); user.UnassignRole(message.RoleId); await _users.SaveChangesAsync(token); }
public async Task ShouldUnassingRole() { // Arrange Guid roleId = Guid.NewGuid(); Guid userId = Guid.NewGuid(); User entity = User.Create(userId, "Name"); entity.AssignRole(roleId); var repository = new Mock <IUserRepository>(); repository.Setup(e => e.GetByIdAsync(It.IsAny <Guid>(), It.IsAny <CancellationToken>())).ReturnsAsync(entity); UnassignRoleCommand cmd = new UnassignRoleCommand(userId, roleId); UserCommandHandler actual = new UserCommandHandler(repository.Object); // Act await actual.HandleAsync(cmd); // Assert Assert.IsTrue(entity.UserRoles == null || entity.UserRoles.Count == 0); }