public void ExportCommand() { // arrange var exportUtility = new ExportUtility(); var exportViewModel = new ExportOptionsViewModel(); exportUtility.TheExportOptionsViewModel = new Lazy<ExportOptionsViewModel>(() => exportViewModel); var systemOptionsInfo = Mock.Create<ISystemOptionsInfo>(Behavior.Loose); Mock.Arrange(() => systemOptionsInfo.RestrictExportTo).Returns(10000); Mock.Arrange(() => SystemOptionsInfo.SystemOptions).Returns(systemOptionsInfo); Mock.Arrange(() => Utils.CurrentUserHasAdministratorRights).Returns(true); var popupFactory = Mock.Create<PopupFactory>(Behavior.Loose); var popupBuilder = new PopupBuilder(); Mock.Arrange(() => popupBuilder.Show(Arg.IsAny<Action>(), Arg.IsAny<Func<bool>>())).DoInstead((Action ok, Action cancel) => ok()); Mock.Arrange(() => popupFactory.Popup()).Returns(popupBuilder); exportUtility.ThePopupFactory = new Lazy<PopupFactory>(() => popupFactory); Mock.Arrange(() => Arg.IsAny<SaveFileDialog>().ShowDialog()).Returns(true); var called = false; Action onAgreedToSaveFile = () => { called = true; }; // act exportUtility.ExportSetup(PageOrientation.Portrait, 1000, onAgreedToSaveFile ); // assert Assert.IsTrue(called); // Important. This method must be called to download the full list of info objects, together with Applied Filter, if this filter exists Assert.AreEqual(PageOrientation.Portrait, exportViewModel.PageOrientation); // act exportUtility.ExportSetup(PageOrientation.Landscape, 1000, onAgreedToSaveFile); // assert Assert.AreEqual(PageOrientation.Landscape, exportViewModel.PageOrientation); // arrange called = false; Mock.Arrange(() => Arg.IsAny<SaveFileDialog>().ShowDialog()).Returns(false); // act exportUtility.ExportSetup(PageOrientation.Landscape, 1000, onAgreedToSaveFile); // assert Assert.IsFalse(called); }
public void ExportCommand() { // arrange var vm = GetNewSearchListVm(); var exportUtility = new ExportUtility(); Mock.Arrange(() => exportUtility.ExportRecordCount).Returns(int.MaxValue); Mock.Arrange(() => exportUtility.ExportSetup(PageOrientation.Landscape, Arg.IsAny<int>(), Arg.IsAny<Action>())) .DoInstead<PageOrientation, int, Action>((orientation, totalRowCount, action) => action()); vm.TheExportUtility = new Lazy<ExportUtility>(() => exportUtility); Mock.Arrange(() => vm.PageSize).Returns(25); Mock.Arrange(() => vm.PageIndex).Returns(10); var called = false; Mock.Arrange(() => vm.RefreshSearchList(Arg.IsAny<IFilterViewModel>())).DoInstead(() => called = true); // act vm.ExportCommand.Execute(PageOrientation.Landscape); // assert Assert.IsTrue(called); var privateAccessor = new PrivateAccessor(vm); Assert.AreEqual(25, privateAccessor.GetField("_tempPageSize")); Assert.AreEqual(10, privateAccessor.GetField("_tempPageIndex")); Assert.AreEqual(int.MaxValue, privateAccessor.GetField("_pageSize")); Assert.AreEqual(0, privateAccessor.GetField("_currentPageNumber")); }
public void ExportDataGrid() { // arrange var vm = new ProcessSearchGridGadgetGridTabViewModel { ExportGridControl = new GridViewDataControl() }; var exportUtility = new ExportUtility(); Mock.Arrange(() => exportUtility.ExportRecordCount).Returns(int.MaxValue); Mock.Arrange(() => exportUtility.ExportSetup(null, Arg.IsAny<int>(), Arg.IsAny<Action>())) .DoInstead<object, int, Action>((orientation, totalRowCount, action) => action()); vm.TheExportUtility = new Lazy<ExportUtility>(() => exportUtility); var privateAccessor = new PrivateAccessor(vm); privateAccessor.SetField("_currentPageNumber", 10); privateAccessor.SetField("_pageSize", 25); var called = false; Mock.Arrange(() => vm.RefreshView()).DoInstead(() => called = true); // act vm.ExportDataGrid(); // assert Assert.IsTrue(called); Assert.AreEqual(10, privateAccessor.GetField("_tempCurrentPageNumber")); Assert.AreEqual(25, privateAccessor.GetField("_tempPageSize")); Assert.AreEqual(0, privateAccessor.GetField("_currentPageNumber")); Assert.AreEqual(int.MaxValue, privateAccessor.GetField("_pageSize")); // arrange called = false; vm.ExportGridControl = null; var popupFactory = new PopupFactory(); var notifyFailureCalled = false; Mock.Arrange(() => popupFactory.NotifyFailure(LanguageService.Translate("Msg_OpenGridViewBeforeExport"), "Popup_Error", 3, false)).DoInstead(() => notifyFailureCalled = true); vm.ThePopupFactory = popupFactory; // act vm.ExportDataGrid(); // assert Assert.IsTrue(notifyFailureCalled); Assert.IsFalse(called); }