private TabDefinition GetTabDefinition(Tab tab) { TabDefinition tabDefinition = TabDefinitionRepository.GetTabDefinition(tab.Name); if(tabDefinition == null) tabDefinition = new TabDefinition(); return tabDefinition; }
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 virtual void UpdateTabDefinitions(IEnumerable <Tab> tabs) { foreach (Tab tab in tabs) { TabDefinition tabDefinition = GetTabDefinition(tab); if (TabDefinitionShouldBeUpdated(tabDefinition, tab)) { UpdateTabDefinition(tabDefinition, tab); TabDefinitionRepository.SaveTabDefinition(tabDefinition); } } }
public void GivenExistingTab_UpdateTabDefinitions_DoesNotSaveTab() { MockRepository fakes = new MockRepository(); TabDefinitionUpdater tabDefinitionUpdater = TabDefinitionUpdaterFactory.Create(); List <Tab> tabs = new List <Tab>(); Tab existingTab = new TestTab(); tabs.Add(existingTab); 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.Replay(); tabDefinitionUpdater.UpdateTabDefinitions(tabs); tabDefinitionUpdater.TabDefinitionRepository.AssertWasNotCalled(factory => factory.SaveTabDefinition(Arg <TabDefinition> .Is.Anything)); }
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)); }