Example #1
0
        public async Task RegisterUser_AddNewUser_CreateCustomer_ShouldFail(AutoMoqDataValidFixtures fixtures, IdentityUser identityUser)
        {
            //Arrange
            var expectedResult = new ValidationResult();

            expectedResult.Errors.Add(CreateValidationFailure("0", "Error to create a new customer, same identity Number defined"));

            identityUser.Id = Guid.NewGuid().ToString();

            var responseMessage = new ResponseMessage(expectedResult);

            _messageBusMock.Setup(s => s.RequestAsync <UserSaveIntegrationEvent, ResponseMessage>(It.IsAny <UserSaveIntegrationEvent>())).ReturnsAsync(responseMessage);

            _userRegisterProviderMock.Setup(s => s.CreateUserAsync(It.IsAny <IdentityUser>(), It.IsAny <string>())).ReturnsAsync(IdentityResult.Success).Verifiable();
            _userRegisterProviderMock.Setup(s => s.FindByEmailAsync(It.IsAny <string>())).ReturnsAsync(identityUser);

            _mediatorHandlerMock.Setup(s => s.PublishEvent(It.IsAny <UserCanceledEvent>()))
            .Verifiable("Notification was not sent");

            var command = new CreateNewUserCommand("123", "Alexandre", "*****@*****.**", "*****@*****.**", "A3£fksk@sf324");

            _sut = new UserRegisterCommandHandler(_userRegisterProviderMock.Object, _mediatorHandlerMock.Object, _messageBusMock.Object);

            //Act
            var response = await _sut.Handle(command, CancellationToken.None);

            //Assert
            _mediatorHandlerMock.Verify(m => m.PublishEvent(It.IsAny <UserCanceledEvent>()), Times.Once());
            response.ValidationResult.Errors.Should().HaveCount(1);
            response.ValidationResult.Errors.Select(s => s.ErrorMessage).Should().Contain(expectedResult.Errors.FirstOrDefault().ErrorMessage);
        }
Example #2
0
        public async Task RegisterUser_AddNewUser_UserAlreadyExists(AutoMoqDataValidFixtures fixtures)
        {
            //Arrange
            var identityError = new IdentityError
            {
                Code        = "1",
                Description = "Username already exists"
            };

            _userRegisterProviderMock.Setup(s => s.CreateUserAsync(It.IsAny <IdentityUser>(), It.IsAny <string>())).ReturnsAsync(IdentityResult.Failed(identityError)).Verifiable();

            var command = new CreateNewUserCommand("123", "Alexandre", "*****@*****.**", "*****@*****.**", "A3£fksk@sf324");

            _sut = new UserRegisterCommandHandler(_userRegisterProviderMock.Object, _mediatorHandlerMock.Object, _messageBusMock.Object);

            //Act
            var response = await _sut.Handle(command, CancellationToken.None);

            //Assert
            response.ValidationResult.Errors.Should().HaveCount(1);
            response.ValidationResult.Errors.Select(s => s.ErrorMessage).Should().Contain(identityError.Description);
        }
Example #3
0
        public async Task RegisterUser_AddNewUser_InvalidCommand(AutoMoqDataValidFixtures fixtures)
        {
            //Arrange
            var expectedResult = new ValidationResult();

            expectedResult.Errors.Add(CreateValidationFailure("-1000", "Identity Number is required"));
            expectedResult.Errors.Add(CreateValidationFailure("-1001", "Name is required"));
            expectedResult.Errors.Add(CreateValidationFailure("-1002", "Username is required"));
            expectedResult.Errors.Add(CreateValidationFailure("-1005", "Invalid format of the email"));
            expectedResult.Errors.Add(CreateValidationFailure("-1003", "Email is required"));
            expectedResult.Errors.Add(CreateValidationFailure("-1004", "Password is required"));

            var command = new CreateNewUserCommand(string.Empty, string.Empty, string.Empty, string.Empty, string.Empty);

            _sut = new UserRegisterCommandHandler(_userRegisterProviderMock.Object, _mediatorHandlerMock.Object, _messageBusMock.Object);

            //Act
            var response = await _sut.Handle(command, CancellationToken.None);

            //Assert
            response.ValidationResult.Errors.Should().HaveCount(7);
            response.ValidationResult.Errors.Select(s => s.ErrorCode).Should().Contain(expectedResult.Errors.Select(s => s.ErrorCode));
            response.ValidationResult.Errors.Select(s => s.ErrorMessage).Should().Contain(expectedResult.Errors.Select(s => s.ErrorMessage));
        }
Example #4
0
        public async Task RegisterUser_AddNewUser_CreateCustomer_ShouldCreateCustomer(AutoMoqDataValidFixtures fixtures, IdentityUser identityUser)
        {
            //Arrange
            identityUser.Id = Guid.NewGuid().ToString();
            var expectedResult = new ValidationResult();


            var responseMessage = new ResponseMessage(expectedResult);

            _messageBusMock.Setup(s => s.RequestAsync <UserSaveIntegrationEvent, ResponseMessage>(It.IsAny <UserSaveIntegrationEvent>())).ReturnsAsync(responseMessage);

            _userRegisterProviderMock.Setup(s => s.CreateUserAsync(It.IsAny <IdentityUser>(), It.IsAny <string>())).ReturnsAsync(IdentityResult.Success).Verifiable();
            _userRegisterProviderMock.Setup(s => s.FindByEmailAsync(It.IsAny <string>())).ReturnsAsync(identityUser);



            var command = new CreateNewUserCommand("123", "Alexandre", "*****@*****.**", "*****@*****.**", "A3£fksk@sf324");

            _sut = new UserRegisterCommandHandler(_userRegisterProviderMock.Object, _mediatorHandlerMock.Object, _messageBusMock.Object);

            //Act
            var response = await _sut.Handle(command, CancellationToken.None);

            //Assert
            response.ValidationResult.IsValid.Should().Be(true);
        }