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>())); }
private void SetSiteDetails(UpdateSiteDetails cmd) { Url = cmd.Url; Title = cmd.Title; MetaDescription = cmd.MetaDescription; MetaKeywords = cmd.MetaKeywords; HomePageId = cmd.HomePageId; SetLOcalisations(cmd.SiteLocalisations); }
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); }
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 }); }
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); }
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 }); }
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 }); } }
public async Task <IActionResult> UpdateDetails([FromBody] UpdateSiteDetails model) { await Task.Run(() => _commandSender.Send <UpdateSiteDetails, Site>(model)); return(new NoContentResult()); }
public IActionResult UpdateDetails([FromBody] UpdateSiteDetails model) { _commandSender.Send <UpdateSiteDetails, Site>(model); return(new NoContentResult()); }
public Task <IActionResult> Update([FromBody] UpdateSiteDetails command) => PublishCommand(command, Services.Common.Names.Services.Sites);
public IActionResult UpdateDetails([FromBody] UpdateSiteDetails model) { _dispatcher.SendAndPublish <UpdateSiteDetails, Site>(model); return(new NoContentResult()); }