public void Should_validate_command_and_update_site() { var command = new UpdateSiteDetails { SiteId = Guid.NewGuid(), Url = "url", Title = "Title", MetaDescription = "Meta Description", MetaKeywords = "Meta Keywords" }; var repositoryMock = new Mock <ISiteRepository>(); repositoryMock.Setup(x => x.GetById(command.SiteId)).Returns(new Site()); var validatorMock = new Mock <IValidator <UpdateSiteDetails> >(); validatorMock.Setup(x => x.Validate(command)).Returns(new ValidationResult()); var createSiteHandler = new UpdateSiteDetailsHandler(repositoryMock.Object, validatorMock.Object); createSiteHandler.Handle(command); validatorMock.Verify(x => x.Validate(command)); repositoryMock.Verify(x => x.Update(It.IsAny <Site>())); }
public void Should_throw_validation_exception_when_validation_fails() { var command = new UpdateSiteDetails { SiteId = Guid.NewGuid(), Url = string.Empty, Title = "Title", MetaDescription = "Meta Description", MetaKeywords = "Meta Keywords" }; var repositoryMock = new Mock <ISiteRepository>(); repositoryMock.Setup(x => x.GetById(command.SiteId)).Returns(new Site()); var validatorMock = new Mock <IValidator <UpdateSiteDetails> >(); validatorMock.Setup(x => x.Validate(command)).Returns(new ValidationResult(new List <ValidationFailure> { new ValidationFailure("Url", "Url Error") })); var createSiteHandler = new UpdateSiteDetailsHandler(repositoryMock.Object, validatorMock.Object); Assert.Throws <ValidationException>(() => createSiteHandler.Handle(command)); }