public PageTypeSynchronizer(IPageTypeDefinitionLocator pageTypeDefinitionLocator, PageTypeBuilderConfiguration configuration, PageDefinitionSynchronizationEngine pageDefinitionSynchronizationEngine, PageTypeDefinitionValidator pageTypeDefinitionValidator, PageTypeResolver pageTypeResolver, IPageTypeLocator pageTypeLocator, PageTypeUpdater pageTypeUpdater, TabDefinitionUpdater tabDefinitionUpdater, TabLocator tabLocator, GlobalPropertySettingsSynchronizer globalPropertySettingsSynchronizer, IHooksHandler hooksHandler) { _configuration = configuration; this.pageTypeResolver = pageTypeResolver; TabLocator = tabLocator; TabDefinitionUpdater = tabDefinitionUpdater; using (new TimingsLogger("Getting page type definitions")) { _pageTypeDefinitions = pageTypeDefinitionLocator.GetPageTypeDefinitions(); } PageTypeUpdater = pageTypeUpdater; PageDefinitionSynchronizationEngine = pageDefinitionSynchronizationEngine; PageTypeDefinitionValidator = pageTypeDefinitionValidator; _pageTypeLocator = pageTypeLocator; this.globalPropertySettingsSynchronizer = globalPropertySettingsSynchronizer; this.hooksHandler = hooksHandler; }
public void Constructor_SetsPageDefinitionTypeMapperProperty() { PageDefinitionTypeMapper mapper = new PageDefinitionTypeMapper(null); PageTypeDefinitionValidator pageTypeValidator = new PageTypeDefinitionValidator(mapper); Assert.NotNull(pageTypeValidator.PropertiesValidator.PageDefinitionTypeMapper); }
public void GivenTypesThatInheritFromTypedPageData_ValidatePageTypeDefinitions_DoesNotThrowException() { List <PageTypeDefinition> definitions = new List <PageTypeDefinition>(); PageTypeDefinition validTypeDefinition = new PageTypeDefinition { Type = typeof(TypedPageData), Attribute = new PageTypeAttribute() }; definitions.Add(validTypeDefinition); PageTypeDefinitionValidator definitionValidator = new PageTypeDefinitionValidator(null); definitionValidator.ValidatePageTypeDefinitions(definitions); }
public void GivenDefinition_ValidatePageTypeDefinitions_CallsValidatorsValidatePageTypeDefinitionsMethod() { List <PageTypeDefinition> definitions = new List <PageTypeDefinition>(); PageTypeSynchronizer synchronizer = CreateSynchronizer(); MockRepository fakes = new MockRepository(); PageTypeDefinitionValidator definitionValidator = fakes.Stub <PageTypeDefinitionValidator>((PageDefinitionTypeMapper)null); definitionValidator.Stub(validator => validator.ValidatePageTypeDefinitions(definitions)); definitionValidator.Replay(); synchronizer.PageTypeDefinitionValidator = definitionValidator; synchronizer.ValidatePageTypeDefinitions(definitions); definitionValidator.AssertWasCalled(validator => validator.ValidatePageTypeDefinitions(definitions)); }
public void GivenPageTypeDefinitionWithDuplicatesInAllowedPageTypes_ValidatePageTypeDefinition_ThrowsException() { PageTypeDefinition definition = new PageTypeDefinition { Type = typeof(TypedPageData), Attribute = new PageTypeAttribute { AvailablePageTypes = new [] { typeof(TestPageType), typeof(TestPageType) } } }; PageTypeDefinitionValidator validator = new PageTypeDefinitionValidator(null); Exception exception = Record.Exception(() => validator.ValidatePageTypeDefinition(definition, null)); Assert.NotNull(exception); }
public void GivenTwoPageTypesWithSameNameAndNoGuid_ValidatePageTypeDefinitions_ThrowsException() { List <PageTypeDefinition> definitions = new List <PageTypeDefinition>(); PageTypeDefinition validTypeDefinition = new PageTypeDefinition { Type = typeof(TypedPageData), Attribute = new PageTypeAttribute() }; definitions.Add(validTypeDefinition); definitions.Add(validTypeDefinition); PageTypeDefinitionValidator definitionValidator = new PageTypeDefinitionValidator(null); Exception exception = Record.Exception(() => definitionValidator.ValidatePageTypeDefinitions(definitions)); Assert.NotNull(exception); }
public void ValidatePageTypeDefinition_ValidatesProperties() { PageTypeDefinition pageTypeDefinition = new PageTypeDefinition(); MockRepository fakes = new MockRepository(); PageTypeDefinitionValidator pageTypeValidator = fakes.PartialMock <PageTypeDefinitionValidator>((PageDefinitionTypeMapper)null); pageTypeValidator.Stub(validator => validator.ValidateInheritsFromBasePageType(pageTypeDefinition)); pageTypeValidator.Stub(validator => validator.ValidateAvailablePageTypes(pageTypeDefinition, null)); pageTypeValidator.Stub(validator => validator.ValidateNameLength(pageTypeDefinition)); pageTypeValidator.Replay(); pageTypeValidator.PropertiesValidator = fakes.Stub <PageTypeDefinitionPropertiesValidator>((PageDefinitionTypeMapper)null); pageTypeValidator.PropertiesValidator.Stub(validator => validator.ValidatePageTypeProperties(pageTypeDefinition)); pageTypeValidator.PropertiesValidator.Replay(); pageTypeValidator.ValidatePageTypeDefinition(pageTypeDefinition, null); pageTypeValidator.PropertiesValidator.AssertWasCalled(validator => validator.ValidatePageTypeProperties(pageTypeDefinition)); }
public void GivenListOfPageTypeDefinitions_ValidatePageTypeDefinitions_ValidatesEachPageType() { MockRepository fakes = new MockRepository(); List <PageTypeDefinition> definitions = new List <PageTypeDefinition>(); PageTypeDefinition definition = new PageTypeDefinition { Type = typeof(TypedPageData), Attribute = new PageTypeAttribute() }; definitions.Add(definition); PageTypeDefinitionValidator definitionValidator = fakes.PartialMock <PageTypeDefinitionValidator>((PageDefinitionTypeMapper)null); definitionValidator.Stub(validator => validator.ValidatePageTypeDefinition(definition, definitions)); definitionValidator.Replay(); definitionValidator.ValidatePageTypeDefinitions(definitions); definitionValidator.AssertWasCalled(validator => validator.ValidatePageTypeDefinition(definition, definitions)); }
public PageTypeSynchronizer(IPageTypeDefinitionLocator pageTypeDefinitionLocator, PageTypeBuilderConfiguration configuration, PageTypePropertyUpdater pageTypePropertyUpdater, PageTypeDefinitionValidator pageTypeDefinitionValidator, PageTypeResolver pageTypeResolver, IPageTypeLocator pageTypeLocator, PageTypeUpdater pageTypeUpdater, TabDefinitionUpdater tabDefinitionUpdater, TabLocator tabLocator) { _configuration = configuration; PageTypeResolver = pageTypeResolver; TabLocator = tabLocator; TabDefinitionUpdater = tabDefinitionUpdater; _pageTypeDefinitions = pageTypeDefinitionLocator.GetPageTypeDefinitions(); PageTypeUpdater = pageTypeUpdater; PageTypePropertyUpdater = pageTypePropertyUpdater; PageTypeDefinitionValidator = pageTypeDefinitionValidator; _pageTypeLocator = pageTypeLocator; }
public void GivenDefinitionWithTypeThatDoesNotInheritFromTypedPageData_ValidatePageTypeDefinitions_ThrowsException() { List <PageTypeDefinition> definitions = new List <PageTypeDefinition>(); PageTypeDefinition invalidTypeDefinition = new PageTypeDefinition { Type = typeof(PageData), Attribute = new PageTypeAttribute() }; definitions.Add(invalidTypeDefinition); PageTypeDefinitionValidator definitionValidator = new PageTypeDefinitionValidator(null); Exception exception = Record.Exception( () => definitionValidator.ValidatePageTypeDefinitions(definitions)); Assert.NotNull(exception); Type exceptionType = exception.GetType(); Assert.Equal <Type>(typeof(PageTypeBuilderException), exceptionType); }
public void GivenDefinitionNameLongerThan50Chars_ValidatePageTypeDefinitions_ThrowsException() { List <PageTypeDefinition> definitions = new List <PageTypeDefinition>(); PageTypeDefinition invalidTypeDefinition = new PageTypeDefinition { Type = typeof(TypedPageData), Attribute = new PageTypeAttribute() { Name = "123456789123456789123456789123456789123456789123456" } }; definitions.Add(invalidTypeDefinition); PageTypeDefinitionValidator definitionValidator = new PageTypeDefinitionValidator(null); Exception exception = Record.Exception( () => definitionValidator.ValidatePageTypeDefinitions(definitions)); Assert.NotNull(exception); Type exceptionType = exception.GetType(); Assert.Equal <Type>(typeof(PageTypeBuilderException), exceptionType); }
public PageTypeSynchronizer(IPageTypeDefinitionLocator pageTypeDefinitionLocator, PageTypeBuilderConfiguration configuration, PageDefinitionSynchronizationEngine pageDefinitionSynchronizationEngine, PageTypeDefinitionValidator pageTypeDefinitionValidator, PageTypeResolver pageTypeResolver, IPageTypeLocator pageTypeLocator, PageTypeUpdater pageTypeUpdater, TabDefinitionUpdater tabDefinitionUpdater, TabLocator tabLocator, GlobalPropertySettingsSynchronizer globalPropertySettingsSynchronizer, IHooksHandler hooksHandler) { _configuration = configuration; this.pageTypeResolver = pageTypeResolver; TabLocator = tabLocator; TabDefinitionUpdater = tabDefinitionUpdater; _pageTypeDefinitions = pageTypeDefinitionLocator.GetPageTypeDefinitions(); PageTypeUpdater = pageTypeUpdater; PageDefinitionSynchronizationEngine = pageDefinitionSynchronizationEngine; PageTypeDefinitionValidator = pageTypeDefinitionValidator; _pageTypeLocator = pageTypeLocator; this.globalPropertySettingsSynchronizer = globalPropertySettingsSynchronizer; this.hooksHandler = hooksHandler; }
protected internal virtual void ValidatePageTypeDefinitions(IEnumerable <PageTypeDefinition> pageTypeDefinitions) { PageTypeDefinitionValidator.ValidatePageTypeDefinitions(pageTypeDefinitions); }