public async Task ExtractDataTaskDataTableTest() { DataRetrievalViewModel sut = new DataRetrievalViewModel(ioServiceMock.Object, xlIOServiceMock.Object, uiControlsServiceMock.Object); sut.ExtractionDirectory = Path.Combine(debugDirectory, "XLSXFiles"); sut.DirectoryForXLSXExtractionFiles = Path.Combine(debugDirectory, "XLSXFiles"); sut.DataRetrievalRequests = new ObservableCollection <DataRetrievalRequest>(); sut.DataRetrievalRequests.Add(new DataRetrievalRequest { FieldName = "Test", ColumnName = 1.ToString(), Row = 1 }); sut.DataRetrievalRequests.Add(new DataRetrievalRequest { FieldName = "Test2", ColumnName = 2.ToString(), Row = 2 }); sut.DataRetrievalRequests.Add(new DataRetrievalRequest { FieldName = "Test3", ColumnName = 3.ToString(), Row = 3 }); sut.DataRetrievalRequests.Add(new DataRetrievalRequest { FieldName = "Test4", ColumnName = 4.ToString(), Row = 4 }); xlIOServiceMock.Setup(x => x.SaveWorkbook(It.IsAny <string>(), It.IsAny <ClosedXML.Excel.XLWorkbook>())) .Returns(new Common.ReturnMessage(true, "workbook generated")); Assert.That(sut.ExtractedDataTable, Is.Null); await sut.BeginExtractionCommand.ExecuteAsync(); Assert.That(sut.ExtractedDataTable, Is.Not.Null); }
protected override void OnStartup(StartupEventArgs e) { var vm = new DataRetrievalViewModel(new IOService(), new XLIOService(), new UIControlsService(NotificationSingleton.NotifierInstance)); MainWindow = new DataRetrievalWindow(vm); MainWindow.Show(); }
public async Task ExtractDataTaskProgressTest() { double timesExtractionProgressEventFired = 0; DataRetrievalViewModel sut = new DataRetrievalViewModel(ioServiceMock.Object, xlIOServiceMock.Object, uiControlsServiceMock.Object); sut.ExtractionProgressEvent.ProgressChanged += (sender, e) => { timesExtractionProgressEventFired += 1; }; sut.ExtractionDirectory = Path.Combine(debugDirectory, "XLSXFiles"); sut.DirectoryForXLSXExtractionFiles = Path.Combine(debugDirectory, "XLSXFiles"); sut.DataRetrievalRequests = new ObservableCollection <DataRetrievalRequest>(); sut.DataRetrievalRequests.Add(new DataRetrievalRequest { FieldName = "Test", ColumnName = 1.ToString(), Row = 1 }); sut.DataRetrievalRequests.Add(new DataRetrievalRequest { FieldName = "Test2", ColumnName = 2.ToString(), Row = 2 }); sut.DataRetrievalRequests.Add(new DataRetrievalRequest { FieldName = "Test3", ColumnName = 3.ToString(), Row = 3 }); sut.DataRetrievalRequests.Add(new DataRetrievalRequest { FieldName = "Test4", ColumnName = 4.ToString(), Row = 4 }); xlIOServiceMock.Setup(x => x.SaveWorkbook(It.IsAny <string>(), It.IsAny <ClosedXML.Excel.XLWorkbook>())) .Returns(new Common.ReturnMessage(true, "workbook generated")); await sut.BeginExtractionCommand.ExecuteAsync(); Assert.That(timesExtractionProgressEventFired, Is.EqualTo(5D)); Assert.That(sut.TotalExtractionCount, Is.EqualTo(5D)); Assert.That(sut.ExtractionProgress, Is.EqualTo(0D)); //check that extraction progress reset when complete. }
public async Task ExtractDataNoOutputDirectory() { ClosedXML.Excel.XLWorkbook generatedWorkbook = null; DataRetrievalViewModel sut = new DataRetrievalViewModel(ioServiceMock.Object, xlIOServiceMock.Object, uiControlsServiceMock.Object); sut.DirectoryForXLSXExtractionFiles = Path.Combine(debugDirectory, "XLSXFiles"); sut.DataRetrievalRequests = new ObservableCollection <DataRetrievalRequest>(); sut.DataRetrievalRequests.Add(new DataRetrievalRequest { FieldName = "Test", ColumnName = 1.ToString(), Row = 1 }); sut.DataRetrievalRequests.Add(new DataRetrievalRequest { FieldName = "Test2", ColumnName = 2.ToString(), Row = 2 }); sut.DataRetrievalRequests.Add(new DataRetrievalRequest { FieldName = "Test3", ColumnName = 3.ToString(), Row = 3 }); sut.DataRetrievalRequests.Add(new DataRetrievalRequest { FieldName = "Test4", ColumnName = 4.ToString(), Row = 4 }); xlIOServiceMock.Setup(x => x.SaveWorkbook(It.IsAny <string>(), It.IsAny <ClosedXML.Excel.XLWorkbook>())) .Callback <string, ClosedXML.Excel.XLWorkbook>((path, workbook) => generatedWorkbook = workbook) .Returns(new Common.ReturnMessage(true, "workbook generated")); await sut.BeginExtractionCommand.ExecuteAsync(); uiControlsServiceMock.Verify(x => x.DisplayAlert("No output directory set", MessageType.Error), Times.Once); }
public void DeleteExtractionRequestNoRequestsInCollection() { DataRetrievalViewModel sut = new DataRetrievalViewModel(ioServiceMock.Object, xlIOServiceMock.Object, uiControlsServiceMock.Object); sut.DeleteExtractionRequestCommand.Execute(null); uiControlsServiceMock.Verify(x => x.DisplayAlert("No data retrieval requests have been added", MessageType.Error), Times.Once()); }
public void SetOutDirectoryEmptyStringReturned() { DataRetrievalViewModel sut = new DataRetrievalViewModel(ioServiceMock.Object, xlIOServiceMock.Object, uiControlsServiceMock.Object); ioServiceMock.Setup(x => x.ChooseFolderDialog()).Returns(""); sut.SetDirectoryCommand.Execute(null); Assert.That(sut.ExtractionDirectory, Is.Null); }
public void DeleteExtractionRequestNoRequestSelected() { DataRetrievalViewModel sut = new DataRetrievalViewModel(ioServiceMock.Object, xlIOServiceMock.Object, uiControlsServiceMock.Object); sut.DataRetrievalRequests = new ObservableCollection <DataRetrievalRequest>(WPFLogicTestsHelper.GenerateMockRequests()); sut.DeleteExtractionRequestCommand.Execute(null); uiControlsServiceMock.Verify(x => x.DisplayAlert("No data retrieval request selected", MessageType.Error), Times.Once()); Assert.That(sut.DataRetrievalRequests.Count, Is.EqualTo(3)); }
public void AddExtractionRequestTest() { DataRetrievalViewModel sut = new DataRetrievalViewModel(ioServiceMock.Object, xlIOServiceMock.Object, uiControlsServiceMock.Object); sut.AddExtractionRequestCommand.Execute(null); Assert.That(sut.DataRetrievalRequests.Count, Is.EqualTo(1)); Assert.That(sut.DataRetrievalRequests[0].ColumnNumber, Is.EqualTo(1)); Assert.That(sut.DataRetrievalRequests[0].ColumnNumber, Is.EqualTo(1)); Assert.That(sut.DataRetrievalRequests[0].FieldName, Is.EqualTo(null)); }
public void DeleteExtractionRequestValidTest() { DataRetrievalViewModel sut = new DataRetrievalViewModel(ioServiceMock.Object, xlIOServiceMock.Object, uiControlsServiceMock.Object); sut.DataRetrievalRequests = new ObservableCollection <DataRetrievalRequest>(WPFLogicTestsHelper.GenerateMockRequests()); sut.SelectedDataRetrievalRequest = sut.DataRetrievalRequests[1]; sut.DeleteExtractionRequestCommand.Execute(null); Assert.That(sut.DataRetrievalRequests.Count, Is.EqualTo(2)); Assert.That(sut.DataRetrievalRequests[0].FieldName, Is.EqualTo("MockFieldName0")); Assert.That(sut.DataRetrievalRequests[1].FieldName, Is.EqualTo("MockFieldName2")); }
public async Task ExtractDataValid() { ClosedXML.Excel.XLWorkbook generatedWorkbook = null; DataRetrievalViewModel sut = new DataRetrievalViewModel(ioServiceMock.Object, xlIOServiceMock.Object, uiControlsServiceMock.Object); sut.ExtractionDirectory = Path.Combine(debugDirectory, "XLSXFiles"); sut.DirectoryForXLSXExtractionFiles = Path.Combine(debugDirectory, "XLSXFiles"); sut.DataRetrievalRequests = new ObservableCollection <DataRetrievalRequest>(); sut.DataRetrievalRequests.Add(new DataRetrievalRequest { FieldName = "Test", ColumnName = 1.ToString(), Row = 1 }); sut.DataRetrievalRequests.Add(new DataRetrievalRequest { FieldName = "Test2", ColumnName = 2.ToString(), Row = 2 }); xlIOServiceMock.Setup(x => x.SaveWorkbook(It.IsAny <string>(), It.IsAny <ClosedXML.Excel.XLWorkbook>())) .Callback <string, ClosedXML.Excel.XLWorkbook>((path, workbook) => generatedWorkbook = workbook) .Returns(new Common.ReturnMessage(true, "workbook generated")); await sut.BeginExtractionCommand.ExecuteAsync(); AssertCellValueForWorksheet(2, 1, "Postcode", generatedWorkbook); AssertCellValueForWorksheet(2, 2, "456", generatedWorkbook); }
public DataRetrievalWindow(DataRetrievalViewModel vm) { InitializeComponent(); DataContext = _vm = vm; }