public void Should_validate_command_and_save_new_email_account() { var command = new CreateEmailAccount { SiteId = Guid.NewGuid(), Id = Guid.NewGuid(), Address = "*****@*****.**", DisplayName = "My Site", Host = "host", Port = 25, UserName = "******", Password = "******", DefaultCredentials = true, Ssl = false }; var emailAccountRepositoryMock = new Mock <IEmailAccountRepository>(); emailAccountRepositoryMock.Setup(x => x.Create(It.IsAny <EmailAccount>())); var validatorMock = new Mock <IValidator <CreateEmailAccount> >(); validatorMock.Setup(x => x.Validate(command)).Returns(new ValidationResult()); var createEmailAccountHandler = new CreateEmailAccountHandler(emailAccountRepositoryMock.Object, validatorMock.Object); createEmailAccountHandler.Handle(command); validatorMock.Verify(x => x.Validate(command)); emailAccountRepositoryMock.Verify(x => x.Create(It.IsAny <EmailAccount>())); }
public void Should_throw_validation_exception_when_validation_fails() { var command = new CreateEmailAccount { SiteId = Guid.NewGuid(), Id = Guid.NewGuid(), Address = "*****@*****.**", DisplayName = "My Site", Host = "host", Port = 25, UserName = "******", Password = "******", DefaultCredentials = true, Ssl = false }; var emailAccountRepositoryMock = new Mock <IEmailAccountRepository>(); var validatorMock = new Mock <IValidator <CreateEmailAccount> >(); validatorMock.Setup(x => x.Validate(command)).Returns(new ValidationResult(new List <ValidationFailure> { new ValidationFailure("Id", "Id Error") })); var createEmailAccountHandler = new CreateEmailAccountHandler(emailAccountRepositoryMock.Object, validatorMock.Object); Assert.Throws <ValidationException>(() => createEmailAccountHandler.Handle(command)); }