public void TestInvalidStateSaving() { var unitOfWorkFactoryMock = new Mock <IUnitOfWorkFactory>(); IFilesPanelStateService filesPanelStateService = new FilesPanelStateService( unitOfWorkFactoryMock.Object, PanelKey); Assert.Throws <ArgumentNullException>(() => filesPanelStateService.SavePanelState(null)); }
public void TestSettingsPersistence() { var collection = new List <TabModel>(); var repositoryMock = new Mock <IRepository <PanelModel> >(); repositoryMock .Setup(m => m.GetById(PanelKey)) .Returns(new PanelModel { Tabs = collection }); repositoryMock .Setup(m => m.Upsert(PanelKey, It.IsAny <PanelModel>())) .Callback <string, PanelModel>((key, panelState) => { collection.Clear(); collection.AddRange(panelState.Tabs); }); var unitOfWorkFactory = GetUnitOfWorkFactory(repositoryMock); IFilesPanelStateService filesPanelStateService = new FilesPanelStateService( unitOfWorkFactory, PanelKey); var tabs = Enumerable .Range(0, 10) .Select(_ => new TabStateModel { SortingSettings = new SortingSettingsStateModel() }) .ToList(); var state = new PanelStateModel { Tabs = tabs }; filesPanelStateService.SavePanelState(state); var savedState = filesPanelStateService.GetPanelState(); Assert.NotNull(savedState); Assert.NotNull(savedState.Tabs); Assert.Equal(tabs.Count, savedState.Tabs.Count); }
public void TestSettingsPersistence() { var collection = new List <string>(); var repositoryMock = new Mock <IRepository <PanelState> >(); repositoryMock .Setup(m => m.GetById(PanelKey)) .Returns(new PanelState { Tabs = collection }); repositoryMock .Setup(m => m.Upsert(PanelKey, It.IsAny <PanelState>())) .Callback <string, PanelState>((key, panelState) => { collection.Clear(); collection.AddRange(panelState.Tabs); }); var unitOfWorkFactory = GetUnitOfWorkFactory(repositoryMock); IFilesPanelStateService filesPanelStateService = new FilesPanelStateService( unitOfWorkFactory, PanelKey); var tabs = Enumerable.Range(0, 10).Select(n => n.ToString()).ToArray(); var state = new PanelState { Tabs = tabs.ToList() }; filesPanelStateService.SavePanelState(state); var savedState = filesPanelStateService.GetPanelState(); Assert.NotNull(savedState); Assert.NotNull(savedState.Tabs); Assert.True(savedState.Tabs.Count == tabs.Length); Assert.Equal(tabs, savedState.Tabs); }