예제 #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));
        }
예제 #2
0
        private PageTypePropertyUpdater CreatePageTypePropertyUpdaterWithFakeUpdatePageDefinitionTabMethod()
        {
            MockRepository          fakes = new MockRepository();
            PageTypePropertyUpdater pageTypePropertyUpdater = PageTypePropertyUpdaterFactory.PartialMock(fakes);

            pageTypePropertyUpdater.Stub(
                utility => utility.UpdatePageDefinitionTab(Arg <PageDefinition> .Is.Anything,
                                                           Arg <PageTypePropertyAttribute> .Is.Anything));
            pageTypePropertyUpdater.Replay();
            return(pageTypePropertyUpdater);
        }
예제 #3
0
        public void GivenUpdatedPropertyDefinition_UpdatePageDefinition_CallsPageDefinitionFactorySave()
        {
            PageDefinition          pageDefinitionToUpdate = new PageDefinition();
            MockRepository          fakes = new MockRepository();
            PageTypePropertyUpdater pageTypePropertyUpdater = PageTypePropertyUpdaterFactory.PartialMock(fakes);

            pageTypePropertyUpdater.Stub(
                utility => utility.UpdatePageDefinitionValues(
                    Arg <PageDefinition> .Is.Anything, Arg <PageTypePropertyDefinition> .Is.Anything));
            PageDefinitionFactory fakeFactory = fakes.Stub <PageDefinitionFactory>();

            fakeFactory.Stub(factory => factory.Save(Arg <PageDefinition> .Is.Anything));
            fakeFactory.Replay();
            pageTypePropertyUpdater.PageDefinitionFactory = fakeFactory;
            pageTypePropertyUpdater.Stub(updater => updater.SerializeValues(pageDefinitionToUpdate)).Return(Guid.NewGuid().ToString()).Repeat.Once();
            pageTypePropertyUpdater.Stub(updater => updater.SerializeValues(pageDefinitionToUpdate)).Return(Guid.NewGuid().ToString());
            pageTypePropertyUpdater.Replay();
            PageTypePropertyDefinition propertyDefinition = CreatePageTypePropertyDefinition();

            pageTypePropertyUpdater.UpdatePageDefinition(pageDefinitionToUpdate, propertyDefinition);

            pageTypePropertyUpdater.PageDefinitionFactory.AssertWasCalled(factory => factory.Save(pageDefinitionToUpdate));
        }
예제 #4
0
        public void GivenPageType_UpdatePageTypePropertyDefinitions_CallsGetExistingPageDefinition()
        {
            List <PageTypePropertyDefinition> definitions = new List <PageTypePropertyDefinition>();
            PageTypePropertyDefinition        pageTypePropertyDefinition = PageTypePropertyUpdaterTestsUtility.CreatePageTypePropertyDefinition();

            definitions.Add(pageTypePropertyDefinition);
            PageTypePropertyUpdater pageTypePropertyUpdater = CreatePageTypePropertyUpdater(definitions);
            IPageType          pageType           = new NativePageType();
            PageTypeDefinition pageTypeDefinition = new PageTypeDefinition();

            pageTypePropertyUpdater.Stub(utility => utility.GetExistingPageDefinition(
                                             pageType, pageTypePropertyDefinition)).Return(new PageDefinition());
            pageTypePropertyUpdater.Stub(
                utility => utility.UpdatePageDefinition(
                    Arg <PageDefinition> .Is.Anything, Arg <PageTypePropertyDefinition> .Is.Anything));
            pageTypePropertyUpdater.Replay();

            pageTypePropertyUpdater.UpdatePageTypePropertyDefinitions(pageType, pageTypeDefinition);

            pageTypePropertyUpdater.AssertWasCalled(
                utility => utility.GetExistingPageDefinition(
                    pageType, pageTypePropertyDefinition));
        }
예제 #5
0
        private PageTypePropertyUpdater CreatePageTypePropertyUpdaterWithFakePageDefinitionFactoryAndFakeUpdatePageDefinitionValuesMethod()
        {
            MockRepository          fakes = new MockRepository();
            PageTypePropertyUpdater pageTypePropertyUpdater = PageTypePropertyUpdaterFactory.PartialMock(fakes);

            pageTypePropertyUpdater.Stub(
                utility => utility.UpdatePageDefinitionValues(
                    Arg <PageDefinition> .Is.Anything, Arg <PageTypePropertyDefinition> .Is.Anything));
            pageTypePropertyUpdater.Replay();
            PageDefinitionFactory fakeFactory = fakes.Stub <PageDefinitionFactory>();

            fakeFactory.Stub(factory => factory.Save(Arg <PageDefinition> .Is.Anything));
            fakeFactory.Replay();
            pageTypePropertyUpdater.PageDefinitionFactory = fakeFactory;
            return(pageTypePropertyUpdater);
        }
예제 #6
0
        private PageTypePropertyUpdater CreatePageTypePropertyUpdaterWithFakePageDefinitionFactoryAndFakedSetPageDefinitionTypeMethod()
        {
            MockRepository        fakes = new MockRepository();
            PageDefinitionFactory fakePageDefinitionFactory = fakes.Stub <PageDefinitionFactory>();

            fakePageDefinitionFactory.Stub(factory => factory.Save(Arg <PageDefinition> .Is.Anything));
            fakePageDefinitionFactory.Replay();
            PageTypePropertyUpdater partiallyMockedUtility = PageTypePropertyUpdaterFactory.PartialMock(fakes);

            partiallyMockedUtility.Stub(
                utility => utility.SetPageDefinitionType(
                    Arg <PageDefinition> .Is.Anything, Arg <PageTypePropertyDefinition> .Is.Anything));
            partiallyMockedUtility.PageDefinitionFactory = fakePageDefinitionFactory;
            partiallyMockedUtility.Replay();

            return(partiallyMockedUtility);
        }
예제 #7
0
        public void GivenPageTypePropertyDefinition_CreateNewPageDefinition_ReturnsPageDefinitionWithCorrectType2()
        {
            PageDefinitionType expectedPageDefintionType = new PageDefinitionType(
                1, PropertyDataType.String, TestValueUtility.CreateRandomString());

            PageTypePropertyDefinition pageTypePropertyDefinition = PageTypePropertyUpdaterTestsUtility.CreatePageTypePropertyDefinition();
            PageDefinition             pageDefinition             = new PageDefinition();
            MockRepository             fakes = new MockRepository();
            PageTypePropertyUpdater    pageTypePropertyUpdater = PageTypePropertyUpdaterFactory.PartialMock(fakes);

            pageTypePropertyUpdater.Stub(
                utility => utility.GetPageDefinitionType(pageTypePropertyDefinition)
                ).Return(expectedPageDefintionType);
            pageTypePropertyUpdater.Replay();

            pageTypePropertyUpdater.SetPageDefinitionType(pageDefinition, pageTypePropertyDefinition);

            Assert.Equal <PageDefinitionType>(expectedPageDefintionType, pageDefinition.Type);
        }
예제 #8
0
        private PageTypePropertyUpdater CreatePageTypePropertyUpdater(
            List <PageTypePropertyDefinition> definitionsToReturnFromGetPageTypePropertyDefinitions)
        {
            MockRepository          fakes = new MockRepository();
            PageTypePropertyUpdater pageTypePropertyUpdater = PageTypePropertyUpdaterFactory.PartialMock(fakes);

            pageTypePropertyUpdater.Stub(
                u =>
                u.UpdatePropertySettings(Arg <PageTypeDefinition> .Is.Anything,
                                         Arg <PageTypePropertyDefinition> .Is.Anything, Arg <PageDefinition> .Is.Anything));

            PageTypePropertyDefinitionLocator definitionLocator = fakes.Stub <PageTypePropertyDefinitionLocator>();

            definitionLocator.Stub(
                locator => locator.GetPageTypePropertyDefinitions(
                    Arg <IPageType> .Is.Anything, Arg <Type> .Is.Anything))
            .Return(definitionsToReturnFromGetPageTypePropertyDefinitions);
            definitionLocator.Replay();
            pageTypePropertyUpdater.Replay();
            pageTypePropertyUpdater.PageTypePropertyDefinitionLocator = definitionLocator;

            return(pageTypePropertyUpdater);
        }