public async Task WhenRoleNameIsNotSetShouldThrowException() { SchoolManagementContext context = new ContextBuilder().BuildClean(); var query = new Query(); AssignToRoleException assignToRoleException = await Assert.ThrowsAsync <AssignToRoleException>(async() => await new QueryHandler(context).Handle(query, CancellationToken.None)); Assert.Equal(PolishReadableMessage.Assign.RoleNameIsNotSet, assignToRoleException.Message); }
public async Task WhenUserNotFoundShouldThrowException() { //Arrange Mock <UserManager <User> > userManagerMock = UserManagerMoq.Get(); var cmd = new Command() { UserId = Guid.NewGuid().ToString() }; //Act AssignToRoleException exception = await Assert.ThrowsAsync <AssignToRoleException>(async() => await new Handler(userManagerMock.Object).Handle(cmd, CancellationToken.None)); //Assert Assert.Equal(PolishReadableMessage.Assign.UserNotFound, exception.Message); userManagerMock.Verify(x => x.FindByIdAsync(cmd.UserId), Times.Once); userManagerMock.Verify(x => x.IsInRoleAsync(It.IsAny <User>(), It.IsAny <string>()), Times.Never); userManagerMock.Verify(x => x.AddToRoleAsync(It.IsAny <User>(), It.IsAny <string>()), Times.Never); }
public async Task WhenUserIsAssignedToRoleAlreadyShouldThrowException() { //Arrange var context = new ContextBuilder().BuildClean(); Mock <UserManager <User> > userManagerMock = UserManagerMoq.Get(); User user = new UserBuilder(context).WithEmail("*****@*****.**").BuildAndSave(); var cmd = new Command() { UserId = user.Id, RoleName = Roles.Admin }; userManagerMock.Setup(x => x.FindByIdAsync(cmd.UserId)).ReturnsAsync(user); userManagerMock.Setup(x => x.IsInRoleAsync(user, cmd.RoleName)).ReturnsAsync(true); //Act AssignToRoleException exception = await Assert.ThrowsAsync <AssignToRoleException>(async() => await new Handler(userManagerMock.Object).Handle(cmd, CancellationToken.None)); //Assert Assert.Equal(PolishReadableMessage.Assign.UserIsAssignedToRoleAlready, exception.Message); userManagerMock.Verify(x => x.FindByIdAsync(cmd.UserId), Times.Once); userManagerMock.Verify(x => x.IsInRoleAsync(It.IsAny <User>(), It.IsAny <string>()), Times.Once); userManagerMock.Verify(x => x.AddToRoleAsync(It.IsAny <User>(), It.IsAny <string>()), Times.Never); }