public async Task Then_The_Command_Is_Handled_And_Endpoint_Called( ActivateUserCommand command, [Frozen] Mock <IApimDeveloperApiClient <ApimDeveloperApiConfiguration> > apimDeveloperApiClient, ActivateUserCommandHandler handler) { await handler.Handle(command, CancellationToken.None); apimDeveloperApiClient.Verify(x => x.Put(It.Is <PutUpdateUserRequest>(c => c.PutUrl.Contains(command.Id.ToString()) && ((UserRequestData)c.Data).State.Equals(1) )), Times.Once); }
public void ActivateUserCommandHandler_Succeeds() { var handler = new ActivateUserCommandHandler(_repository); var command = new ActivateUserCommand("*****@*****.**", "999999"); var user = Substitute.For <User>(); user.Email.Returns("*****@*****.**"); user.ActivationCode.Returns(999999); user.Status.Returns(UserStatus.New); _context.Users.Add(user); var result = handler.Execute(command); result.Errors.Should().BeEmpty(); user.Received().Activate(); user.DidNotReceive().ActivationFailed(); }
public void ActivateUserCommandHandler_Fails_For_Inactive_User() { var handler = new ActivateUserCommandHandler(_repository); var command = new ActivateUserCommand("*****@*****.**", "999999"); var user = Substitute.For <User>(); user.Email.Returns("*****@*****.**"); user.ActivationCode.Returns(999999); user.Status.Returns(UserStatus.Inactive); _context.Users.Add(user); var result = handler.Execute(command); result.Errors.Should().HaveCount(1); result.Errors[0].Expression.ToString().Should().Be("p => p.ActivationCode"); result.Errors[0].Message.Should().Be("This activation code is invalid"); user.DidNotReceive().Activate(); user.Received().ActivationFailed(); }
public void Arrange() { _activateUserCommandValidator = new Mock <IValidator <ActivateUserCommand> >(); _activateUserCommandValidator.Setup(x => x.ValidateAsync(It.IsAny <ActivateUserCommand>())) .ReturnsAsync(new ValidationResult { ValidationDictionary = new Dictionary <string, string>() }); _user = new User { SecurityCodes = new[] { new SecurityCode { Code = AccessCode, CodeType = SecurityCodeType.AccessCode, ReturnUrl = ReturnUrl } } }; _userRepository = new Mock <IUserRepository>(); _userRepository.Setup(x => x.GetById(It.IsAny <string>())).ReturnsAsync(_user); _userRepository.Setup(x => x.GetByEmailAddress(It.IsAny <string>())).ReturnsAsync(_user); _auditService = new Mock <IAuditService>(); _logger = new Mock <ILogger>(); _handler = new ActivateUserCommandHandler(_activateUserCommandValidator.Object, _userRepository.Object, _auditService.Object, _logger.Object); _command = new ActivateUserCommand { AccessCode = AccessCode, UserId = UserId }; }