mirror of
https://github.com/dfinke/ImportExcel.git
synced 2025-12-06 00:23:20 +00:00
47 lines
1.6 KiB
PowerShell
47 lines
1.6 KiB
PowerShell
#Requires -Modules Pester
|
|
if (-not (Get-command Import-Excel -ErrorAction SilentlyContinue)) {
|
|
Import-Module $PSScriptRoot\..\ImportExcel.psd1
|
|
}
|
|
|
|
$skip = $false
|
|
if ($IsLinux -or $IsMacOS) {
|
|
$skip = $true
|
|
Write-Warning "Invoke-ExcelQuery: Linux and MacOs are not supported. Skipping tests."
|
|
}else{
|
|
try {
|
|
if ((New-Object system.data.oledb.oledbenumerator).GetElements().SOURCES_NAME -notcontains "Microsoft.ACE.OLEDB.12.0") {
|
|
$skip = $true
|
|
Write-Warning "Invoke-ExcelQuery: Microsoft.ACE.OLEDB.12.0 provider not found. Skipping tests."
|
|
}
|
|
}
|
|
catch {
|
|
$skip = $true
|
|
Write-Warning "Invoke-ExcelQuery: Calls to System.Data.OleDb failed. Skipping tests."
|
|
}
|
|
}
|
|
|
|
|
|
Describe "Invoke-ExcelQuery" -Tag "Invoke-ExcelQuery" {
|
|
$PSDefaultParameterValues = @{ 'It:Skip' = $skip }
|
|
BeforeAll {
|
|
$tfp = "$PSScriptRoot\Read-OleDbData.xlsx"
|
|
}
|
|
Context "Basic Checks" {
|
|
It "Should have a valid Test file" {
|
|
Test-Path $tfp | Should -Be $true
|
|
}
|
|
It "Should have the Read-OleDbData command loaded" {
|
|
(Get-Command Read-OleDbData -ErrorAction SilentlyContinue) -ne $null | Should -Be $true
|
|
}
|
|
It "Should have the Invoke-ExcelQuery command loaded" {
|
|
(Get-Command Invoke-ExcelQuery -ErrorAction SilentlyContinue) -ne $null | Should -Be $true
|
|
}
|
|
}
|
|
Context "Sheet1`$A1" {
|
|
It "Should return 1 result with a value of 1" {
|
|
$Results = Invoke-ExcelQuery $tfp "select ROUND(F1) as [A1] from [sheet1`$A1:A1]"
|
|
@($Results).length + $Results.A1 | Should -Be 2
|
|
}
|
|
}
|
|
}
|