public async Task ShouldModifyExistingAndAddPermissions() { // Arrange Guid expectedId = Guid.NewGuid(); string expectedName = "Modified Name"; ICollection <Guid> expectedPermissionIds = new List <Guid> { Guid.NewGuid(), Guid.NewGuid() }; Role entity = Role.Create(expectedId, "Name", "Code"); var repository = new Mock <IRoleRepository>(); repository.Setup(e => e.GetByIdAsync(It.IsAny <Guid>(), It.IsAny <CancellationToken>())).ReturnsAsync(entity); ModifyRoleCommand cmd = new ModifyRoleCommand(expectedId, expectedName, "Code", expectedPermissionIds, 1); RoleCommandHandler actual = new RoleCommandHandler(repository.Object); // Act await actual.HandleAsync(cmd); // Assert Assert.IsTrue(entity.Id == expectedId); Assert.IsTrue(entity.Name == expectedName); Assert.IsTrue(entity.RolePermissions != null); Assert.IsTrue(entity.RolePermissions.Count == expectedPermissionIds.Count); }
public async Task ShouldCreateNewWithPermissions() { // Arrange Guid expectedId = Guid.NewGuid(); ICollection <Guid> expectedPermissionIds = new List <Guid> { Guid.NewGuid(), Guid.NewGuid() }; var repository = new Mock <IRoleRepository>(); CreateRoleCommand cmd = new CreateRoleCommand(expectedId, "Name", "Code", expectedPermissionIds); RoleCommandHandler actual = new RoleCommandHandler(repository.Object); // Act await actual.HandleAsync(cmd); // Assert repository.Verify(e => e.Add(It.Is <Role>(a => a.Id == expectedId && a.RolePermissions != null && a.RolePermissions.Count == expectedPermissionIds.Count) ), Times.Once ); }
public async Task ShouldCreateNew() { // Arrange Guid expectedId = Guid.NewGuid(); var repository = new Mock <IRoleRepository>(); CreateRoleCommand cmd = new CreateRoleCommand(expectedId, "Name", "Code", null); RoleCommandHandler actual = new RoleCommandHandler(repository.Object); // Act await actual.HandleAsync(cmd); // Assert repository.Verify(e => e.Add(It.Is <Role>(a => a.Id == expectedId) ), Times.Once ); }
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 ShouldDeleteExisting() { // Arrange Role entity = Role.Create(Guid.NewGuid(), "Name", "Code"); var repository = new Mock <IRoleRepository>(); repository.Setup(e => e.GetByIdAsync(It.IsAny <Guid>(), It.IsAny <CancellationToken>())).ReturnsAsync(entity); DeleteRoleCommand cmd = new DeleteRoleCommand(entity.Id); RoleCommandHandler actual = new RoleCommandHandler(repository.Object); // Act await actual.HandleAsync(cmd); // Assert repository.Verify(e => e.Delete(It.Is <Role>(a => a.Equals(entity))), Times.Once ); }