public void Should_have_validation_error_when_site_id_is_empty() { var command = new HidePage { SiteId = Guid.Empty }; var siteRulesMock = new Mock <ISiteRules>(); var validator = new HidePageValidator(siteRulesMock.Object); validator.ShouldHaveValidationErrorFor(x => x.SiteId, command); }
public void SetUp() { _page = new Page(); _command = new HidePage(); _validatorMock = new Mock <IValidator <HidePage> >(); _validatorMock.Setup(x => x.Validate(_command)).Returns(new ValidationResult()); _page.Hide(_command, _validatorMock.Object); _event = _page.Events.OfType <PageHidden>().SingleOrDefault(); }
public void Should_have_validation_error_when_site_does_not_exist() { var command = new HidePage { SiteId = Guid.NewGuid() }; var siteRulesMock = new Mock <ISiteRules>(); siteRulesMock.Setup(x => x.DoesSiteExist(command.SiteId)).Returns(false); var validator = new HidePageValidator(siteRulesMock.Object); validator.ShouldHaveValidationErrorFor(x => x.SiteId, command); }
public void Should_throw_exception_when_page_is_not_found() { var command = new HidePage { SiteId = Guid.NewGuid(), Id = Guid.NewGuid() }; var repositoryMock = new Mock <IPageRepository>(); repositoryMock.Setup(x => x.GetById(command.SiteId, command.Id)).Returns((Page)null); var validatorMock = new Mock <IValidator <HidePage> >(); validatorMock.Setup(x => x.Validate(command)).Returns(new ValidationResult()); var hidePageHandler = new HidePageHandler(repositoryMock.Object, validatorMock.Object); Assert.Throws <Exception>(() => hidePageHandler.Handle(command)); }
public void Hide(HidePage cmd, IValidator <HidePage> validator) { validator.ValidateCommand(cmd); if (Status == PageStatus.Hidden) { throw new Exception("Page already hidden."); } if (Status == PageStatus.Deleted) { throw new Exception("Page is deleted."); } AddEvent(new PageHidden { SiteId = SiteId, AggregateRootId = Id }); }
public void Should_update_page() { var command = new HidePage { SiteId = Guid.NewGuid(), Id = Guid.NewGuid() }; var pageMock = new Mock <Page>(); var repositoryMock = new Mock <IPageRepository>(); repositoryMock.Setup(x => x.GetById(command.SiteId, command.Id)).Returns(pageMock.Object); var validatorMock = new Mock <IValidator <HidePage> >(); validatorMock.Setup(x => x.Validate(command)).Returns(new ValidationResult()); var hidePageHandler = new HidePageHandler(repositoryMock.Object, validatorMock.Object); hidePageHandler.Handle(command); repositoryMock.Verify(x => x.Update(It.IsAny <Page>())); }