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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }