public void GivenExistingTabThatShouldBeUpdated_UpdateTabDefinitions_UpdatesTab() { MockRepository fakes = new MockRepository(); TabDefinitionUpdater tabDefinitionUpdater = TabDefinitionUpdaterFactory.PartialMock(fakes); List <Tab> tabs = new List <Tab>(); Tab existingTab = new TestTab(); tabs.Add(existingTab); tabDefinitionUpdater.Stub(updater => updater.UpdateTabDefinition(Arg <TabDefinition> .Is.Anything, Arg <Tab> .Is.Anything)); TabDefinitionRepository fakeTabDefinitionRepository = fakes.Stub <TabDefinitionRepository>(); tabDefinitionUpdater.TabDefinitionRepository = fakeTabDefinitionRepository; TabDefinition existingTabDefinition = TabDefinitionUpdaterTestsUtility.CreateTabDefinition(existingTab); tabDefinitionUpdater.TabDefinitionRepository.Stub(factory => factory.GetTabDefinition(existingTab.Name)).Return(existingTabDefinition); tabDefinitionUpdater.TabDefinitionRepository.Stub(factory => factory.SaveTabDefinition(Arg <TabDefinition> .Is.Anything)); tabDefinitionUpdater.TabDefinitionRepository.Replay(); tabDefinitionUpdater.Stub(updater => updater.TabDefinitionShouldBeUpdated(existingTabDefinition, existingTab)).Return(true); tabDefinitionUpdater.Replay(); tabDefinitionUpdater.UpdateTabDefinitions(tabs); tabDefinitionUpdater.AssertWasCalled(updater => updater.UpdateTabDefinition(existingTabDefinition, existingTab)); tabDefinitionUpdater.TabDefinitionRepository.AssertWasCalled(factory => factory.SaveTabDefinition(existingTabDefinition)); }
public void GivenNewTab_UpdateTabDefinitions_SavesNewTabDefinition() { MockRepository fakes = new MockRepository(); TabDefinitionUpdater tabDefinitionUpdater = TabDefinitionUpdaterFactory.PartialMock(fakes); List <Tab> tabs = new List <Tab>(); Tab newTab = new TestTab(); tabs.Add(newTab); tabDefinitionUpdater.Stub(updater => updater.UpdateTabDefinition(Arg <TabDefinition> .Is.Anything, Arg <Tab> .Is.Anything)); tabDefinitionUpdater.Replay(); TabDefinitionRepository fakeTabDefinitionRepository = fakes.Stub <TabDefinitionRepository>(); tabDefinitionUpdater.TabDefinitionRepository = fakeTabDefinitionRepository; tabDefinitionUpdater.TabDefinitionRepository.Stub(factory => factory.GetTabDefinition(newTab.Name)).Return(null); tabDefinitionUpdater.TabDefinitionRepository.Stub(factory => factory.SaveTabDefinition(Arg <TabDefinition> .Is.Anything)); tabDefinitionUpdater.TabDefinitionRepository.Replay(); tabDefinitionUpdater.UpdateTabDefinitions(tabs); tabDefinitionUpdater.AssertWasCalled(updater => updater.UpdateTabDefinition(Arg <TabDefinition> .Is.NotNull, Arg <Tab> .Matches(tab => tab == newTab))); tabDefinitionUpdater.TabDefinitionRepository.AssertWasCalled(factory => factory.SaveTabDefinition(Arg <TabDefinition> .Is.NotNull)); }
public void UpdateTabDefinitions_CallsTabDefinitionUpdaterWithDefinedTabs() { PageTypeSynchronizer pageTypeSynchronizer = PageTypeSynchronizerFactory.Create(); MockRepository fakes = new MockRepository(); TabLocator fakeTabLocator = TabLocatorFactory.Stub(fakes); List <Tab> tabs = new List <Tab> { new TestTab() }; fakeTabLocator.Stub(locator => locator.GetDefinedTabs()).Return(tabs); fakeTabLocator.Replay(); pageTypeSynchronizer.TabLocator = fakeTabLocator; TabDefinitionUpdater fakeTabDefinitionUpdater = TabDefinitionUpdaterFactory.Stub(fakes); fakeTabDefinitionUpdater.Stub(updater => updater.UpdateTabDefinitions(Arg <List <Tab> > .Is.Anything)); fakeTabDefinitionUpdater.Replay(); pageTypeSynchronizer.TabDefinitionUpdater = fakeTabDefinitionUpdater; pageTypeSynchronizer.UpdateTabDefinitions(); pageTypeSynchronizer.TabLocator.AssertWasCalled(updater => updater.GetDefinedTabs()); pageTypeSynchronizer.TabDefinitionUpdater.AssertWasCalled(updater => updater.UpdateTabDefinitions(tabs)); }