public void GivenTypeArray_WhenUpdateAvailablePageTypesCalled_SetsPageTypeAllowedPageTypes()
        {
            PageTypeDefinition definition = PageTypeUpdaterTestsUtility.CreateBasicPageTypeDefinition();

            definition.Attribute.AvailablePageTypes = new[] { typeof(object) };
            IPageType                 existingPageType   = new NativePageType();
            MockRepository            mocks              = new MockRepository();
            List <PageTypeDefinition> definitions        = new List <PageTypeDefinition>();
            PageTypeDefinition        definitionToReturn = new PageTypeDefinition
            {
                Type      = typeof(object),
                Attribute = new PageTypeAttribute()
            };

            definitions.Add(definitionToReturn);
            var pageTypeDefinitionLocator = PageTypeDefinitionLocatorFactory.Mock();

            pageTypeDefinitionLocator.Setup(locator => locator.GetPageTypeDefinitions()).Returns(definitions);
            PageTypeUpdater pageTypeUpdater = mocks.PartialMock <PageTypeUpdater>(
                pageTypeDefinitionLocator.Object,
                new PageTypeFactory(),
                new PageTypeValueExtractor(),
                new PageTypeLocator(new PageTypeFactory()));
            IPageType allowedPageType = new NativePageType();

            allowedPageType.ID = 1;
            pageTypeUpdater.Stub(updater => updater.GetExistingPageType(definitionToReturn)).Return(allowedPageType);
            pageTypeUpdater.Replay();

            pageTypeUpdater.UpdateAvailablePageTypes(existingPageType, definition.Attribute.AvailablePageTypes);

            Assert.Equal <int[]>(new[] { 1 }, existingPageType.AllowedPageTypes);
        }
Beispiel #2
0
        public void GivenPageType_UpdatePageTypes_CallsPageTypeUpdaterUpdatePageType()
        {
            PageTypeSynchronizer synchronizer    = PageTypeSynchronizerFactory.Create();
            MockRepository       fakes           = new MockRepository();
            PageTypeUpdater      pageTypeUpdater = PageTypeUpdaterFactory.Stub(fakes);
            PageTypeDefinition   definition      = new PageTypeDefinition();

            pageTypeUpdater.Stub(updater => updater.UpdatePageType(definition));
            pageTypeUpdater.Replay();
            synchronizer.PageTypeUpdater = pageTypeUpdater;
            List <PageTypeDefinition> definitions = new List <PageTypeDefinition> {
                definition
            };

            synchronizer.UpdatePageTypes(definitions);

            pageTypeUpdater.AssertWasCalled(updater => updater.UpdatePageType(definition));
        }
Beispiel #3
0
        public void GivenExistingPageTypeNotFound_CreateNonExistingPageTypes_PageTypeUpdaterCreateNewPageTypeCalled()
        {
            MockRepository            fakes           = new MockRepository();
            PageTypeUpdater           pageTypeUpdater = PageTypeUpdaterFactory.Stub(fakes);
            PageTypeDefinition        definition      = new PageTypeDefinition();
            List <PageTypeDefinition> definitions     = new List <PageTypeDefinition>();

            definitions.Add(definition);
            pageTypeUpdater.Stub(updater => updater.CreateNewPageType(definition)).Return(new NativePageType());
            pageTypeUpdater.Replay();
            IPageTypeLocator pageTypeLocator = fakes.Stub <IPageTypeLocator>();

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

            synchronizer.PageTypeUpdater = pageTypeUpdater;

            synchronizer.CreateNonExistingPageTypes(definitions);

            pageTypeUpdater.AssertWasCalled(updater => updater.CreateNewPageType(definition));
        }
Beispiel #4
0
        private PageTypeUpdater CreateFakePageTypeUpdaterWithUpdatePageTypeMethodHelperStubs()
        {
            MockRepository  mocks           = new MockRepository();
            PageTypeUpdater pageTypeUpdater = mocks.PartialMock <PageTypeUpdater>(
                PageTypeDefinitionLocatorFactory.Stub(),
                new PageTypeRepository(),
                new PageTypeValueExtractor(),
                new PageTypeLocator(new PageTypeRepository()));
            PageTypeRepository pageTypeRepository = mocks.Stub <PageTypeRepository>();

            pageTypeRepository.Stub(factory => factory.Save(Arg <IPageType> .Is.Anything));
            pageTypeRepository.Replay();
            pageTypeUpdater.PageTypeRepository = pageTypeRepository;
            pageTypeUpdater.Stub(updater => updater.GetExistingPageType(Arg <PageTypeDefinition> .Is.Anything)).Return(new NativePageType());
            pageTypeUpdater.Stub(updater => updater.UpdateName(Arg <IPageType> .Is.Anything, Arg <PageTypeDefinition> .Is.Anything));
            pageTypeUpdater.Stub(updater => updater.UpdateFilename(Arg <IPageType> .Is.Anything, Arg <PageTypeAttribute> .Is.Anything));
            pageTypeUpdater.Stub(updater => updater.UpdateSortOrder(Arg <IPageType> .Is.Anything, Arg <PageTypeAttribute> .Is.Anything));
            pageTypeUpdater.Stub(updater => updater.UpdateDescription(Arg <IPageType> .Is.Anything, Arg <PageTypeAttribute> .Is.Anything));
            pageTypeUpdater.Stub(updater => updater.UpdateIsAvailable(Arg <IPageType> .Is.Anything, Arg <PageTypeAttribute> .Is.Anything));
            pageTypeUpdater.Stub(updater => updater.UpdateDefaultArchivePageLink(Arg <IPageType> .Is.Anything, Arg <PageTypeAttribute> .Is.Anything));
            pageTypeUpdater.Stub(updater => updater.UpdateDefaultChildOrderRule(Arg <IPageType> .Is.Anything, Arg <PageTypeAttribute> .Is.Anything));
            pageTypeUpdater.Stub(updater => updater.UpdateDefaultPageName(Arg <IPageType> .Is.Anything, Arg <PageTypeAttribute> .Is.Anything));
            pageTypeUpdater.Stub(updater => updater.UpdateDefaultPeerOrder(Arg <IPageType> .Is.Anything, Arg <PageTypeAttribute> .Is.Anything));
            pageTypeUpdater.Stub(updater => updater.UpdateDefaultStartPublishOffset(Arg <IPageType> .Is.Anything, Arg <PageTypeAttribute> .Is.Anything));
            pageTypeUpdater.Stub(updater => updater.UpdateDefaultStopPublishOffset(Arg <IPageType> .Is.Anything, Arg <PageTypeAttribute> .Is.Anything));
            pageTypeUpdater.Stub(updater => updater.UpdateDefaultVisibleInMenu(Arg <IPageType> .Is.Anything, Arg <PageTypeAttribute> .Is.Anything));
            pageTypeUpdater.Stub(updater => updater.UpdateFrame(Arg <IPageType> .Is.Anything, Arg <PageTypeAttribute> .Is.Anything));
            pageTypeUpdater.Stub(updater => updater.UpdateAvailablePageTypes(Arg <IPageType> .Is.Anything, Arg <Type[]> .Is.Anything));
            pageTypeUpdater.Stub(updater => updater.SerializeValues(Arg <IPageType> .Is.Anything)).Repeat.Once().Return(string.Empty);
            pageTypeUpdater.Stub(updater => updater.SerializeValues(Arg <IPageType> .Is.Anything)).Repeat.Once().Return("test");
            pageTypeUpdater.Replay();
            return(pageTypeUpdater);
        }