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 GivenPageTypeUpdationDisabled_SynchronizePageTypes_OnlyAddsExistingPageTypesToResolver() { MockRepository fakes = new MockRepository(); List <PageTypeDefinition> allPageTypeDefinitions = new List <PageTypeDefinition> { new PageTypeDefinition(), new PageTypeDefinition() }; List <PageTypeDefinition> nonExistingPageTypesDefinitions = new List <PageTypeDefinition> { allPageTypeDefinitions[0] }; PageTypeBuilderConfiguration configuration = fakes.Stub <PageTypeBuilderConfiguration>(); configuration.Stub(config => config.DisablePageTypeUpdation).Return(true); configuration.Replay(); IPageTypeDefinitionLocator pageTypeDefinitionLocator = CreatePageTypeDefinitionLocatorStub(allPageTypeDefinitions); PageTypeSynchronizer pageTypeSynchronizer = GetPageTypePartiallyMockedSynchronizer(pageTypeDefinitionLocator, configuration); pageTypeSynchronizer.Stub(synchronizer => synchronizer.GetNonExistingPageTypes(allPageTypeDefinitions)).Return(nonExistingPageTypesDefinitions); pageTypeSynchronizer.Replay(); pageTypeSynchronizer.SynchronizePageTypes(); pageTypeSynchronizer.AssertWasCalled(synchronizer => synchronizer.AddPageTypesToResolver(Arg <List <PageTypeDefinition> > .Matches(list => list.Count == 1))); }
public static PageTypeSynchronizer PartialMock( MockRepository fakesRepository, IPageTypeDefinitionLocator definitionLocator, PageTypeBuilderConfiguration configuration) { return(fakesRepository.PartialMock <PageTypeSynchronizer>( definitionLocator, configuration, PageTypePropertyUpdaterFactory.Create(), new PageTypeDefinitionValidator(new PageDefinitionTypeMapper(new PageDefinitionTypeFactory())), new PageTypeResolver(), new PageTypeLocator(new PageTypeFactory()), PageTypeUpdaterFactory.Create(), TabDefinitionUpdaterFactory.Create(), TabLocatorFactory.Create())); }
public void GivenPageTypeUpdationDisabled_SynchronizePageTypes_DoesNotUpdatePageTypePropertyDefinitions() { MockRepository fakes = new MockRepository(); PageTypeBuilderConfiguration configuration = fakes.Stub <PageTypeBuilderConfiguration>(); configuration.Stub(config => config.DisablePageTypeUpdation).Return(true); configuration.Replay(); IPageTypeDefinitionLocator pageTypeDefinitionLocator = CreatePageTypeDefinitionLocatorStub(new List <PageTypeDefinition>()); PageTypeSynchronizer pageTypeSynchronizer = GetPageTypePartiallyMockedSynchronizer(pageTypeDefinitionLocator, configuration); pageTypeSynchronizer.Stub(synchronizer => synchronizer.GetNonExistingPageTypes(Arg <List <PageTypeDefinition> > .Is.Anything)).Return(new List <PageTypeDefinition>()); pageTypeSynchronizer.SynchronizePageTypes(); pageTypeSynchronizer.AssertWasNotCalled(synchronizer => synchronizer.UpdatePageTypePropertyDefinitions(Arg <List <PageTypeDefinition> > .Is.Anything)); }
public static PageTypeSynchronizer PartialMock( MockRepository fakesRepository, IPageTypeDefinitionLocator definitionLocator, PageTypeBuilderConfiguration configuration) { return fakesRepository.PartialMock<PageTypeSynchronizer>( definitionLocator, configuration, PageDefinitionSynchronizationEngineFactory.Create(), new PageTypeDefinitionValidator(new PageDefinitionTypeMapper(new PageDefinitionTypeRepository(), new NativePageDefinitionsMap())), new PageTypeResolver(), new PageTypeLocator(new PageTypeRepository()), PageTypeUpdaterFactory.Create(), TabDefinitionUpdaterFactory.Create(), TabLocatorFactory.Create(), new GlobalPropertySettingsSynchronizer(() => new PropertySettingsRepository(), new GlobalPropertySettingsLocator(new AppDomainAssemblyLocator())), new HooksHandler(new AppDomainAssemblyLocator())); }
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 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; }
public void DisablePageTypeUpdation_DefaultsToFalse() { PageTypeBuilderConfiguration configuration = new PageTypeBuilderConfiguration(); Assert.Equal <bool>(false, configuration.DisablePageTypeUpdation); }
public void GivenPageTypeUpdationDisabledInAppConfig_DisablePageTypeUpdation_ReturnsTrue() { PageTypeBuilderConfiguration configuration = PageTypeBuilderConfiguration.GetConfiguration(); Assert.Equal <bool>(true, configuration.DisablePageTypeUpdation); }
public void Configure(ContainerBuilder containerBuilder) { containerBuilder .RegisterType <AppDomainAssemblyLocator>() .As <IAssemblyLocator>(); containerBuilder .RegisterType <PageTypeRepository>() .As <IPageTypeRepository>(); containerBuilder .RegisterType <PageDefinitionRepository>() .As <IPageDefinitionRepository>(); containerBuilder .RegisterType <PageDefinitionTypeRepository>() .As <IPageDefinitionTypeRepository>(); containerBuilder .RegisterType <PageTypeLocator>() .As <IPageTypeLocator>(); containerBuilder .RegisterType <PageDefinitionTypeRepository>() .As <IPageDefinitionTypeRepository>(); containerBuilder .RegisterType <PageTypeDefinitionLocator>() .As <IPageTypeDefinitionLocator>(); containerBuilder .RegisterType <PageDefinitionTypeMapper>() .As <PageDefinitionTypeMapper>(); containerBuilder .RegisterType <PageTypeValueExtractor>() .As <IPageTypeValueExtractor>(); containerBuilder .RegisterType <GlobalPropertySettingsLocator>() .As <IGlobalPropertySettingsLocator>(); containerBuilder .RegisterType <GlobalPropertySettingsSynchronizer>() .As <GlobalPropertySettingsSynchronizer>(); containerBuilder .RegisterType <PropertySettingsRepository>() .As <IPropertySettingsRepository>(); containerBuilder .RegisterType <PageTypeUpdater>() .As <PageTypeUpdater>(); containerBuilder .RegisterType <TabDefinitionUpdater>() .As <TabDefinitionUpdater>(); containerBuilder .RegisterType <TabLocator>() .As <TabLocator>(); containerBuilder .RegisterType <PageDefinitionSynchronizationEngine>() .As <PageDefinitionSynchronizationEngine>(); containerBuilder .RegisterType <TabDefinitionRepository>() .As <ITabDefinitionRepository>(); containerBuilder .RegisterType <PageTypeSynchronizer>() .As <PageTypeSynchronizer>(); containerBuilder .RegisterType <PageTypeDefinitionValidator>() .As <PageTypeDefinitionValidator>(); containerBuilder .Register(context => PageTypeBuilderConfiguration.GetConfiguration()) .As <PageTypeBuilderConfiguration>(); containerBuilder .RegisterInstance(PageTypeResolver.Instance) .As <PageTypeResolver>(); containerBuilder .RegisterType <PageDefinitionUpdater>() .As <IPageDefinitionUpdater>(); containerBuilder .RegisterType <PageTypePropertyDefinitionLocator>() .As <PageTypePropertyDefinitionLocator>(); containerBuilder .RegisterType <NativePageDefinitionsMap>() .As <INativePageDefinitionsMap>(); containerBuilder .RegisterType <PageDefinitionSpecificPropertySettingsUpdater>() .As <PageDefinitionSpecificPropertySettingsUpdater>(); containerBuilder .RegisterType <HooksHandler>() .As <IHooksHandler>(); }
private PageTypeSynchronizer GetPageTypePartiallyMockedSynchronizer(IPageTypeDefinitionLocator definitionLocator, PageTypeBuilderConfiguration configuration) { MockRepository fakes = new MockRepository(); PageTypeSynchronizer pageTypeSynchronizer = PageTypeSynchronizerFactory.PartialMock(fakes, definitionLocator, configuration); pageTypeSynchronizer.Stub(synchronizer => synchronizer.UpdateTabDefinitions()); pageTypeSynchronizer.Stub(synchronizer => synchronizer.ValidatePageTypeDefinitions(Arg <List <PageTypeDefinition> > .Is.Anything)); pageTypeSynchronizer.Stub(synchronizer => synchronizer.CreateNonExistingPageTypes(Arg <List <PageTypeDefinition> > .Is.Anything)); pageTypeSynchronizer.Stub(synchronizer => synchronizer.UpdatePageTypes(Arg <List <PageTypeDefinition> > .Is.Anything)); pageTypeSynchronizer.Stub(synchronizer => synchronizer.UpdatePageTypePropertyDefinitions(Arg <List <PageTypeDefinition> > .Is.Anything)); pageTypeSynchronizer.Stub(synchronizer => synchronizer.AddPageTypesToResolver(Arg <List <PageTypeDefinition> > .Is.Anything)); pageTypeSynchronizer.Replay(); return(pageTypeSynchronizer); }