public void GivenPageTypeWithSpecifiedNameAndNoGuid_GetExistingPageType_ReturnsPageTypeReturnedFromPageTypeFactoryLoad() { MockRepository mockRepository = new MockRepository(); Type pageTypeType = typeof(object); PageTypeDefinition pageTypeDefinition = new PageTypeDefinition { Type = pageTypeType, Attribute = new PageTypeAttribute { Name = Guid.NewGuid().ToString() } }; PageTypeRepository fakePageTypeRepository = mockRepository.Stub <PageTypeRepository>(); IPageType pageTypeFromFactory = new NativePageType(); pageTypeFromFactory.ID = 1; fakePageTypeRepository.Expect(factory => factory.Load(pageTypeDefinition.Attribute.Name)).Return(pageTypeFromFactory); fakePageTypeRepository.Replay(); PageTypeUpdater pageTypeUpdater = PageTypeUpdaterFactory.Create( PageTypeDefinitionLocatorFactory.Stub(), fakePageTypeRepository); IPageType returnedPageType = pageTypeUpdater.GetExistingPageType(pageTypeDefinition); fakePageTypeRepository.AssertWasCalled(factory => factory.Load(pageTypeDefinition.Attribute.Name)); Assert.Equal <int>(pageTypeFromFactory.ID, returnedPageType.ID); }
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)); }
public void GivenPageTypeWithNoGuidOrSpecifiedName_GetExistingPageType_ReturnsPageTypeReturnedFromPageTypeFactoryLoad() { MockRepository mockRepository = new MockRepository(); PageTypeDefinition pageTypeDefinition = PageTypeUpdaterTestsUtility.CreateBasicPageTypeDefinition(); PageTypeRepository fakePageTypeRepository = mockRepository.Stub <PageTypeRepository>(); IPageType pageTypeFromFactory = new NativePageType(); pageTypeFromFactory.ID = 1; fakePageTypeRepository.Expect(factory => factory.Load(pageTypeDefinition.Type.Name)).Return(pageTypeFromFactory); fakePageTypeRepository.Replay(); PageTypeUpdater pageTypeUpdater = PageTypeUpdaterFactory.Create( PageTypeDefinitionLocatorFactory.Stub(), fakePageTypeRepository); IPageType returnedPageType = pageTypeUpdater.GetExistingPageType(pageTypeDefinition); fakePageTypeRepository.AssertWasCalled(factory => factory.Load(pageTypeDefinition.Type.Name)); Assert.Equal <int>(pageTypeFromFactory.ID, returnedPageType.ID); }
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)); }
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)); }
private PageTypeUpdater CreatePageTypeUpdater() { return(PageTypeUpdaterFactory.Create( PageTypeDefinitionLocatorFactory.Stub())); }