Exemplo n.º 1
0
        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();
        }
Exemplo n.º 3
0
        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.
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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());
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 7
0
        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));
        }
Exemplo n.º 8
0
        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));
        }
Exemplo n.º 9
0
        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"));
        }
Exemplo n.º 10
0
        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);
        }
Exemplo n.º 11
0
 public DataRetrievalWindow(DataRetrievalViewModel vm)
 {
     InitializeComponent();
     DataContext = _vm = vm;
 }