mirror of
https://github.com/dfinke/ImportExcel.git
synced 2025-12-06 00:23:20 +00:00
add tests
This commit is contained in:
53
__tests__/Get-ExcelFileSchema.tests.ps1
Normal file
53
__tests__/Get-ExcelFileSchema.tests.ps1
Normal file
@@ -0,0 +1,53 @@
|
||||
if (-not (Get-command Import-Excel -ErrorAction SilentlyContinue)) {
|
||||
Import-Module $PSScriptRoot\..\ImportExcel.psd1
|
||||
}
|
||||
|
||||
Describe "Test getting the schema of an Excel file" -Tag GetExcelFileSchema {
|
||||
|
||||
BeforeAll {
|
||||
$script:excelFile = "TestDrive:\test.xlsx"
|
||||
$data = ConvertFrom-Csv @"
|
||||
Region,State,Units,Price
|
||||
West,Texas,927,923.71
|
||||
North,Tennessee,466,770.67
|
||||
East,Florida,520,458.68
|
||||
East,Maine,828,661.24
|
||||
West,Virginia,465,053.58
|
||||
North,Missouri,436,235.67
|
||||
South,Kansas,214,992.47
|
||||
North,North Dakota,789,640.72
|
||||
South,Delaware,712,508.55
|
||||
"@
|
||||
$data | Export-Excel $excelFile
|
||||
}
|
||||
|
||||
It "Test Get-ExcelFileSchema function exists" {
|
||||
$function = Get-Command Get-ExcelFileSchema -ErrorAction SilentlyContinue
|
||||
$function | Should -Not -Be $null
|
||||
}
|
||||
|
||||
It "Test Get-ExcelFileSchema returns json" {
|
||||
$actual = Get-ExcelFileSchema -Path $excelFile
|
||||
$actual | Should -Not -Be $null
|
||||
$actual | Should -BeOfType [string]
|
||||
}
|
||||
|
||||
It "Test Get-ExcelFileSchema correct json" {
|
||||
$actual = Get-ExcelFileSchema -Path $excelFile
|
||||
|
||||
$actual = $actual | ConvertFrom-Json
|
||||
$actual.ExcelFile | Should -Be "test.xlsx"
|
||||
$actual.WorksheetName | Should -Be "Sheet1"
|
||||
$actual.Visible | Should -Be $true
|
||||
$actual.Rows | Should -Be 10
|
||||
$actual.Columns | Should -Be 4
|
||||
$actual.Address | Should -Be "A1:D10"
|
||||
$actual.Path | Should -Be "TestDrive:\"
|
||||
|
||||
$actual.PropertyNames.Count | Should -Be 4
|
||||
$actual.PropertyNames[0] | Should -Be "Region"
|
||||
$actual.PropertyNames[1] | Should -Be "State"
|
||||
$actual.PropertyNames[2] | Should -Be "Units"
|
||||
$actual.PropertyNames[3] | Should -Be "Price"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user