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