ps/Modules/Alkami.PowerShell.Choco/Public/Test-ServiceManifestHasMigrations.tests.ps1
2023-05-30 22:51:22 -07:00

69 lines
1.9 KiB
PowerShell

. $PSScriptRoot\..\..\Load-PesterModules.ps1
$here = Split-Path -Parent $MyInvocation.MyCommand.Path
$sut = (Split-Path -Leaf $MyInvocation.MyCommand.Path) -replace '\.tests\.', '.'
$functionPath = Join-Path -Path $here -ChildPath $sut
Write-Host "Overriding SUT: $functionPath"
Import-Module $functionPath -Force
$moduleForMock = ""
Describe "Test-ServiceManifestHasMigrations" {
Mock -ModuleName $moduleForMock -CommandName Get-LogLeadName -MockWith { }
Mock -ModuleName $moduleForMock -CommandName Write-Host -MockWith { }
Context "When Service Manifest Is Null" {
$serviceManifest = $null
It "Returns False"{
$results = Test-ServiceManifestHasMigrations $serviceManifest
$results | Should -BeFalse
}
}
Context "When Service Manifest Has Assemblies But No Packages" {
$serviceManifest = @{
Runtime = "Core"
Migrations = @{
Assembly = @{
role = ""
}
}
}
It "Returns True"{
$results = Test-ServiceManifestHasMigrations $serviceManifest
$results | Should -BeTrue
}
}
Context "When Service Manifest Has Packages But No Assemblies" {
$serviceManifest = @{
Runtime = "Core"
Migrations = @{
Package = @{
}
}
}
It "Returns True"{
$results = Test-ServiceManifestHasMigrations $serviceManifest
$results | Should -BeTrue
}
}
Context "When Service Manifest Has Neither Packages Nor Assemblies" {
$serviceManifest = @{
Runtime = "Core"
Migrations = @{
}
}
It "Returns False"{
$results = Test-ServiceManifestHasMigrations $serviceManifest
$results | Should -BeFalse
}
}
}