Exemple #1
0
        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);
        }
Exemple #2
0
        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();
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        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));
        }
Exemple #5
0
        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
            });
        }
Exemple #6
0
        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>()));
        }