Esempio n. 1
0
        public void GivenPageType_UpdatePageTypePropertyDefinitions_CallsPageTypePropertyUpdaterUpdatePageTypePropertyDefinitions()
        {
            PageTypeDefinition definition = new PageTypeDefinition();

            MockRepository          fakes                   = new MockRepository();
            PageTypeUpdater         pageTypeUpdater         = PageTypeUpdaterFactory.Stub(fakes);
            IPageType               pageType                = new NativePageType();
            PageTypePropertyUpdater pageTypePropertyUpdater = PageTypePropertyUpdaterFactory.Stub(fakes);

            pageTypePropertyUpdater.Stub(updater => updater.UpdatePageTypePropertyDefinitions(pageType, definition));
            pageTypePropertyUpdater.Replay();
            IPageTypeLocator pageTypeLocator = fakes.Stub <IPageTypeLocator>();

            pageTypeLocator.Stub(locator => locator.GetExistingPageType(definition)).Return(pageType);
            pageTypeLocator.Replay();
            List <PageTypeDefinition> definitions = new List <PageTypeDefinition> {
                definition
            };
            PageTypeSynchronizer synchronizer =
                PageTypeSynchronizerFactory.Create(pageTypePropertyUpdater, pageTypeLocator);

            synchronizer.PageTypeUpdater = pageTypeUpdater;
            synchronizer.UpdatePageTypePropertyDefinitions(definitions);

            pageTypePropertyUpdater.AssertWasCalled(updater => updater.UpdatePageTypePropertyDefinitions(pageType, definition));
        }
Esempio n. 2
0
        public void GivenPageTypeDefinition_AddPageTypesToResolver_AddsToResolver()
        {
            List <PageTypeDefinition> definitions = new List <PageTypeDefinition>();
            PageTypeDefinition        definition  = new PageTypeDefinition
            {
                Type      = typeof(string),
                Attribute = new PageTypeAttribute()
            };

            definitions.Add(definition);
            IPageType pageType = new NativePageType();

            pageType.ID = 1;
            MockRepository   fakes           = new MockRepository();
            IPageTypeLocator pageTypeLocator = fakes.Stub <IPageTypeLocator>();

            pageTypeLocator.Stub(locator => locator.GetExistingPageType(definition)).Return(pageType);
            pageTypeLocator.Replay();
            PageTypeResolver     resolver     = new PageTypeResolver();
            PageTypeSynchronizer synchronizer = PageTypeSynchronizerFactory.Create(resolver, pageTypeLocator);

            synchronizer.AddPageTypesToResolver(definitions);

            Assert.Equal <Type>(definition.Type, resolver.GetPageTypeType(pageType.ID));
        }
Esempio n. 3
0
        public void GivenExistingPageTypeFound_CreateNonExistingPageTypes_PageTypeUpdaterCreateNewPageTypeNotCalled()
        {
            MockRepository            fakes           = new MockRepository();
            PageTypeUpdater           pageTypeUpdater = PageTypeUpdaterFactory.Stub(fakes);
            PageTypeDefinition        definition      = new PageTypeDefinition();
            List <PageTypeDefinition> definitions     = new List <PageTypeDefinition>();

            definitions.Add(definition);
            pageTypeUpdater.Replay();
            IPageTypeLocator pageTypeLocator = fakes.Stub <IPageTypeLocator>();

            pageTypeLocator.Stub(locator => locator.GetExistingPageType(definition)).Return(new NativePageType());
            pageTypeLocator.Replay();
            PageTypeSynchronizer synchronizer = CreateSynchronizer(pageTypeLocator);

            synchronizer.CreateNonExistingPageTypes(definitions);

            pageTypeUpdater.AssertWasNotCalled(updater => updater.CreateNewPageType(Arg <PageTypeDefinition> .Is.Anything));
        }