Example #1
0
        public void Setup()
        {
            var siteId = Guid.NewGuid();

            _command = new UpdateSiteDetails
            {
                SiteId            = Guid.NewGuid(),
                Url               = "url",
                Title             = "Title",
                MetaDescription   = "Meta Description",
                MetaKeywords      = "Meta Keywords",
                SiteLocalisations = new List <UpdateSiteDetails.SiteLocalisation>
                {
                    new UpdateSiteDetails.SiteLocalisation
                    {
                        LanguageId      = Guid.NewGuid(),
                        Title           = "Title",
                        MetaDescription = "Meta Description",
                        MetaKeywords    = "Meta Keywords"
                    }
                }
            };
            _validatorMock = new Mock <IValidator <UpdateSiteDetails> >();
            _validatorMock.Setup(x => x.Validate(_command)).Returns(new ValidationResult());
            _site = new Site();
            _site.UpdateDetails(_command, _validatorMock.Object);
            _event = _site.Events.OfType <SiteDetailsUpdated>().SingleOrDefault();
        }
        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));
        }
        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>()));
        }
Example #4
0
        private void SetSiteDetails(UpdateSiteDetails cmd)
        {
            Url             = cmd.Url;
            Title           = cmd.Title;
            MetaDescription = cmd.MetaDescription;
            MetaKeywords    = cmd.MetaKeywords;
            HomePageId      = cmd.HomePageId;

            SetLOcalisations(cmd.SiteLocalisations);
        }
Example #5
0
        private void SetSiteDetails(UpdateSiteDetails cmd)
        {
            Url             = cmd.Url;
            Title           = cmd.Title;
            MetaDescription = cmd.MetaDescription;
            MetaKeywords    = cmd.MetaKeywords;
            HomePageId      = cmd.HomePageId;
            ThemeId         = cmd.ThemeId;
            AddLanguageSlug = cmd.AddLanguageSlug;

            SetLocalisations(cmd.SiteLocalisations);
        }
Example #6
0
        public void UpdateDetails(UpdateSiteDetails cmd, IValidator <UpdateSiteDetails> validator)
        {
            validator.ValidateCommand(cmd);

            SetSiteDetails(cmd);

            AddEvent(new SiteDetailsUpdated
            {
                AggregateRootId   = Id,
                Url               = Url,
                Title             = Title,
                MetaDescription   = MetaDescription,
                MetaKeywords      = MetaKeywords,
                SiteLocalisations = SiteLocalisations
            });
        }
Example #7
0
        public static Site Update(this Site site, Guid homePageId)
        {
            var command = new UpdateSiteDetails
            {
                SiteId     = site.Id,
                HomePageId = homePageId
            };

            var validatorMock = new Mock <IValidator <UpdateSiteDetails> >();

            validatorMock.Setup(x => x.Validate(command)).Returns(new ValidationResult());

            site.UpdateDetails(command, validatorMock.Object);

            return(site);
        }
Example #8
0
        public void UpdateDetails(UpdateSiteDetails cmd, IValidator <UpdateSiteDetails> validator)
        {
            validator.ValidateCommand(cmd);

            AddEvent(new SiteDetailsUpdated
            {
                AggregateRootId   = Id,
                Name              = Name,
                Url               = cmd.Url,
                Title             = cmd.Title,
                MetaDescription   = cmd.MetaDescription,
                MetaKeywords      = cmd.MetaKeywords,
                SiteLocalisations = cmd.SiteLocalisations,
                AddLanguageSlug   = cmd.AddLanguageSlug,
                HomePageId        = cmd.HomePageId,
                ThemeId           = cmd.ThemeId
            });
        }
Example #9
0
        private void SetSiteDetails(UpdateSiteDetails cmd)
        {
            Url             = cmd.Url;
            Title           = cmd.Title;
            MetaDescription = cmd.MetaDescription;
            MetaKeywords    = cmd.MetaKeywords;

            SiteLocalisations.Clear();

            foreach (var localisation in cmd.SiteLocalisations)
            {
                AddLocalisation(new SiteLocalisation
                {
                    SiteId          = Id,
                    LanguageId      = localisation.LanguageId,
                    Title           = localisation.Title,
                    MetaDescription = localisation.MetaDescription,
                    MetaKeywords    = localisation.MetaKeywords
                });
            }
        }
Example #10
0
        public async Task <IActionResult> UpdateDetails([FromBody] UpdateSiteDetails model)
        {
            await Task.Run(() => _commandSender.Send <UpdateSiteDetails, Site>(model));

            return(new NoContentResult());
        }
Example #11
0
 public IActionResult UpdateDetails([FromBody] UpdateSiteDetails model)
 {
     _commandSender.Send <UpdateSiteDetails, Site>(model);
     return(new NoContentResult());
 }
Example #12
0
 public Task <IActionResult> Update([FromBody] UpdateSiteDetails command) => PublishCommand(command, Services.Common.Names.Services.Sites);
Example #13
0
 public IActionResult UpdateDetails([FromBody] UpdateSiteDetails model)
 {
     _dispatcher.SendAndPublish <UpdateSiteDetails, Site>(model);
     return(new NoContentResult());
 }