Пример #1
0
        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>()));
        }
Пример #2
0
        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));
        }