. $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 "Backup-ORBLogFiles" { $logDirectory = "TestDrive:\orblogs" Mock -CommandName Write-Warning -ModuleName $moduleForMock {} Mock -CommandName Get-OrbLogsPath -ModuleName $moduleForMock { return "TestDrive:\orblogs\" } function Invoke-CallZippy {} Mock -CommandName Get-7ZipPath -ModuleName $moduleForMock { return Invoke-CallZippy } Mock -CommandName invoke-callzippy -ModuleName $moduleForMock {} Mock -CommandName Write-Host -ModuleName $moduleForMock {} Mock -CommandName Write-Verbose -ModuleName $moduleForMock {} Mock -CommandName Test-Path -ModuleName $moduleForMock { return $true } New-item -Path $logDirectory -ItemType Directory Context "Ensure correct log folder is archived" { New-item -Path "$logDirectory\alkami.ms.log" -ItemType File $logfile = Get-item "$logDirectory\alkami.ms.log" It "Writes host of logfile to compress" { Backup-ORBLogFiles Assert-MockCalled -CommandName "Write-Host" -ParameterFilter { $Object -eq $logfile.FullName } -ModuleName $moduleForMock } It "Creates Archive folder in correct place" { Backup-ORBLogFiles Assert-MockCalled -ModuleName $moduleForMock -CommandName "Test-Path" -ParameterFilter { $Path -eq "$logDirectory\Archive" } } Remove-Item -Path $logfile } Context "Does not archive if files don't exist" { It "Does not invoke call zippy" { Backup-ORBLogFiles Assert-MockCalled -CommandName "Write-Host" -ParameterFilter { $Object -eq "Invoking 7zip" } -ModuleName $moduleForMock -Times 0 } } }