From afe7e545f609d26913d235bc0c0c0af06d08d7f8 Mon Sep 17 00:00:00 2001 From: dfinke Date: Tue, 6 Apr 2021 19:32:37 -0400 Subject: [PATCH] Add unit tests for Get-ExcelFileSummary #1014 --- __tests__/Get-ExcelFileSummary.Tests.ps1 | 43 ++++++++++++++++++ .../ImportExcelTests/MultipleSheets.xlsx | Bin 0 -> 9247 bytes 2 files changed, 43 insertions(+) create mode 100644 __tests__/Get-ExcelFileSummary.Tests.ps1 create mode 100644 __tests__/ImportExcelTests/MultipleSheets.xlsx diff --git a/__tests__/Get-ExcelFileSummary.Tests.ps1 b/__tests__/Get-ExcelFileSummary.Tests.ps1 new file mode 100644 index 0000000..feb500e --- /dev/null +++ b/__tests__/Get-ExcelFileSummary.Tests.ps1 @@ -0,0 +1,43 @@ +#Requires -Modules Pester +[Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseDeclaredVarsMoreThanAssignments', '', Justification = 'False Positives')] +[Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSAvoidAssignmentToAutomaticVariable', '', Justification = 'Only executes on versions without the automatic variable')] +param() + +if (-not (Get-command Import-Excel -ErrorAction SilentlyContinue)) { + Import-Module $PSScriptRoot\..\ImportExcel.psd1 +} + +Describe 'All tests for Get-ExcelFileSummary' -Tag "Get-ExcelFileSummary" { + Context "Test Get-ExcelFileSummary" { + It "Tests summary on TestData2.xlsx" { + $actual = Get-ExcelFileSummary "$PSScriptRoot\ImportExcelTests\TestData1.xlsx" + + $actual.ExcelFile | Should -BeExactly 'TestData1.xlsx' + $actual.WorksheetName | Should -BeExactly 'Sheet1' + $actual.Rows | Should -Be 3 + $actual.Columns | Should -Be 2 + $actual.Address | Should -BeExactly 'A1:B3' + $actual.Path | Should -BeExactly "$PSScriptRoot\ImportExcelTests" + } + + It "Tests summary on xlsx with multiple sheets" { + + $actual = Get-ExcelFileSummary "$PSScriptRoot\ImportExcelTests\MultipleSheets.xlsx" + + $actual[0].ExcelFile | Should -BeExactly 'MultipleSheets.xlsx' + $actual[0].WorksheetName | Should -BeExactly 'Sheet1' + $actual[0].Rows | Should -Be 1 + $actual[0].Columns | Should -Be 4 + $actual[0].Address | Should -BeExactly 'A1:D1' + $actual[0].Path | Should -BeExactly "$PSScriptRoot\ImportExcelTests" + + $actual[1].ExcelFile | Should -BeExactly 'MultipleSheets.xlsx' + $actual[1].WorksheetName | Should -BeExactly 'Sheet2' + $actual[1].Rows | Should -Be 2 + $actual[1].Columns | Should -Be 2 + $actual[1].Address | Should -BeExactly 'A1:B2' + $actual[1].Path | Should -BeExactly "$PSScriptRoot\ImportExcelTests" + } + + } +} diff --git a/__tests__/ImportExcelTests/MultipleSheets.xlsx b/__tests__/ImportExcelTests/MultipleSheets.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..7b8d43b8fee724947664d3bff77bfad0fcb9ef94 GIT binary patch literal 9247 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