public void Setup() { _moduleId = Guid.NewGuid(); var addPageModuleCommand = new AddPageModule { SiteId = Guid.NewGuid(), PageId = Guid.NewGuid(), ModuleId = _moduleId, Id = Guid.NewGuid(), Title = "Title", Zone = "Zone" }; var addPageModuleValidatorMock = new Mock <IValidator <AddPageModule> >(); addPageModuleValidatorMock.Setup(x => x.Validate(addPageModuleCommand)).Returns(new ValidationResult()); _page = new Page(); _page.AddModule(addPageModuleCommand, addPageModuleValidatorMock.Object); _pageModule = _page.PageModules.FirstOrDefault(x => x.ModuleId == _moduleId); _command = new RemovePageModule { SiteId = addPageModuleCommand.SiteId, PageId = addPageModuleCommand.PageId, ModuleId = _moduleId, }; _validatorMock = new Mock <IValidator <RemovePageModule> >(); _validatorMock.Setup(x => x.Validate(_command)).Returns(new ValidationResult()); _page.RemoveModule(_command, _validatorMock.Object); _event = _page.Events.OfType <PageModuleRemoved>().SingleOrDefault(); }
public void Should_have_validation_error_when_site_id_is_empty() { var command = new RemovePageModule { SiteId = Guid.Empty }; var siteRulesMock = new Mock <ISiteRules>(); var validator = new RemovePageModuleValidator(siteRulesMock.Object); validator.ShouldHaveValidationErrorFor(x => x.SiteId, command); }
public void Should_have_validation_error_when_site_does_not_exist() { var command = new RemovePageModule { SiteId = Guid.NewGuid() }; var siteRulesMock = new Mock <ISiteRules>(); siteRulesMock.Setup(x => x.DoesSiteExist(command.SiteId)).Returns(false); var validator = new RemovePageModuleValidator(siteRulesMock.Object); validator.ShouldHaveValidationErrorFor(x => x.SiteId, command); }
public void RemoveModule(RemovePageModule cmd, IValidator <RemovePageModule> validator) { validator.ValidateCommand(cmd); var pageModule = PageModules.FirstOrDefault(x => x.ModuleId == cmd.ModuleId); if (pageModule == null || pageModule.Status == PageModuleStatus.Deleted) { throw new Exception("Page module not found."); } AddEvent(new PageModuleRemoved { SiteId = SiteId, AggregateRootId = Id, ModuleId = cmd.ModuleId, PageModuleId = pageModule.Id }); }
public void Should_update_page() { var command = new RemoveModule { SiteId = Guid.NewGuid(), PageId = Guid.NewGuid(), ModuleId = Guid.NewGuid() }; var removePageModuleCommand = new RemovePageModule { SiteId = command.SiteId, PageId = command.PageId, ModuleId = command.ModuleId, }; var removePageModuleValidatorMock = new Mock <IValidator <RemovePageModule> >(); removePageModuleValidatorMock.Setup(x => x.Validate(removePageModuleValidatorMock)).Returns(new ValidationResult()); var pageMock = new Mock <Page>(); pageMock.Setup(x => x.RemoveModule(removePageModuleCommand, removePageModuleValidatorMock.Object)); var moduleRepositoryMock = new Mock <IModuleRepository>(); var pageRepositoryMock = new Mock <IPageRepository>(); pageRepositoryMock.Setup(x => x.GetById(command.SiteId, command.PageId)).Returns(pageMock.Object); pageRepositoryMock.Setup(x => x.Update(It.IsAny <Page>())); var deleteModuleValidatorMock = new Mock <IValidator <DeleteModule> >(); deleteModuleValidatorMock.Setup(x => x.Validate(It.IsAny <DeleteModule>())).Returns(new ValidationResult()); var removeModuleHandler = new RemoveModuleHandler(moduleRepositoryMock.Object, pageRepositoryMock.Object, deleteModuleValidatorMock.Object, removePageModuleValidatorMock.Object); removeModuleHandler.Handle(command); pageRepositoryMock.Verify(x => x.Update(It.IsAny <Page>())); }