Index: Core/Common/src/Core.Common.Gui/Commands/GuiExportHandler.cs =================================================================== diff -u -r8211d3c08096ce8eec50680e011296d082e13358 -rc7a95384b7c921de2ea281456f6d56b048754b12 --- Core/Common/src/Core.Common.Gui/Commands/GuiExportHandler.cs (.../GuiExportHandler.cs) (revision 8211d3c08096ce8eec50680e011296d082e13358) +++ Core/Common/src/Core.Common.Gui/Commands/GuiExportHandler.cs (.../GuiExportHandler.cs) (revision c7a95384b7c921de2ea281456f6d56b048754b12) @@ -71,7 +71,7 @@ return; } - ExportItemUsingDialog(exportInfo, source); + ExportItem(exportInfo, source); } private IEnumerable GetSupportedExportInfos(object source) @@ -132,7 +132,7 @@ : exportInfo.Name; } - private void ExportItemUsingDialog(ExportInfo exportInfo, object source) + private void ExportItem(ExportInfo exportInfo, object source) { string exportFilePath = exportInfo.GetExportPath(); Index: Core/Common/test/Core.Common.Gui.Test/Commands/GuiExportHandlerTest.cs =================================================================== diff -u -r8211d3c08096ce8eec50680e011296d082e13358 -rc7a95384b7c921de2ea281456f6d56b048754b12 --- Core/Common/test/Core.Common.Gui.Test/Commands/GuiExportHandlerTest.cs (.../GuiExportHandlerTest.cs) (revision 8211d3c08096ce8eec50680e011296d082e13358) +++ Core/Common/test/Core.Common.Gui.Test/Commands/GuiExportHandlerTest.cs (.../GuiExportHandlerTest.cs) (revision c7a95384b7c921de2ea281456f6d56b048754b12) @@ -119,25 +119,20 @@ [Test] [Apartment(ApartmentState.STA)] - public void ExportFrom_SupportedExporterAvailableCancelClicked_AbortsExport() + public void ExportFrom_SupportedExporterAvailableNoFilePathGiven_AbortsExport() { // Setup var mockRepository = new MockRepository(); var mainWindow = mockRepository.Stub(); var exporter = mockRepository.StrictMock(); mockRepository.ReplayAll(); - ModalFormHandler = (name, wnd, form) => - { - var messageBox = new SaveFileDialogTester(wnd); - messageBox.ClickCancel(); - }; - var exportHandler = new GuiExportHandler(mainWindow, new List { new ExportInfo { - CreateFileExporter = (o, s) => exporter + CreateFileExporter = (o, s) => exporter, + GetExportPath = () => null } }); @@ -150,26 +145,18 @@ [Test] [Apartment(ApartmentState.STA)] - public void ExportFrom_SupportedExporterAvailableWhichRunsSuccessfulSaveClicked_CallsExportAndLogsMessages() + public void ExportFrom_SupportedExporterAvailableAndFilePathGivenAndExporterRunsSuccessful_CallsExportAndLogsMessages() { // Setup var mockRepository = new MockRepository(); var mainWindow = mockRepository.Stub(); var exporter = mockRepository.StrictMock(); - exporter.Stub(e => e.Export()).Return(true); - mockRepository.ReplayAll(); const int expectedData = 1234; string targetExportFileName = Path.GetFullPath("exportFile.txt"); - ModalFormHandler = (name, wnd, form) => - { - var messageBox = new SaveFileDialogTester(wnd); - messageBox.SaveFile(targetExportFileName); - }; - const string exportInfoName = "Random data"; var exportHandler = new GuiExportHandler(mainWindow, new List { @@ -181,7 +168,8 @@ Assert.AreEqual(expectedData, data); Assert.AreEqual(targetExportFileName, filePath); return exporter; - } + }, + GetExportPath = () => targetExportFileName } }); @@ -200,31 +188,25 @@ [Test] [Apartment(ApartmentState.STA)] - public void ExportFrom_SupportedExporterAvailableWhichFailsSaveClicked_CallsExportAndLogsMessages() + public void ExportFrom_SupportedExporterAvailableAndFilePathGivenAndExporterFails_CallsExportAndLogsMessages() { // Setup var mockRepository = new MockRepository(); var mainWindow = mockRepository.Stub(); var exporter = mockRepository.StrictMock(); - exporter.Stub(e => e.Export()).Return(false); - mockRepository.ReplayAll(); string targetExportFileName = Path.GetFullPath("exportFile.txt"); - ModalFormHandler = (name, wnd, form) => - { - var messageBox = new SaveFileDialogTester(wnd); - messageBox.SaveFile(targetExportFileName); - }; const string exportInfoName = "Random data"; var exportHandler = new GuiExportHandler(mainWindow, new List { new ExportInfo { Name = exportInfoName, - CreateFileExporter = (data, filePath) => exporter + CreateFileExporter = (data, filePath) => exporter, + GetExportPath = () => targetExportFileName } });