Tests/Toolbox/Initialize-ToolboxDataLocation.Tests.ps1
|
BeforeAll { Set-StrictMode -Version "Latest" . "$PSScriptRoot\..\..\Source\Environment\Get-EnvironmentVariable.ps1" . "$PSScriptRoot\..\..\Source\Toolbox\Get-ToolboxDataLocation.ps1" . "$PSScriptRoot\..\..\Source\Toolbox\Initialize-ToolboxDataLocation.ps1" [Diagnostics.CodeAnalysis.SuppressMessageAttribute("PSUseDeclaredVarsMoreThanAssignments", "")] $originalValue = [Environment]::GetEnvironmentVariable("ToolboxData", "User") [Diagnostics.CodeAnalysis.SuppressMessageAttribute("PSUseDeclaredVarsMoreThanAssignments", "")] $testPath = Join-Path -Path $env:Temp -ChildPath "ToolboxDataTest_$(New-Guid)" } AfterAll { [Environment]::SetEnvironmentVariable("ToolboxData", $originalValue, "User") if (Test-Path -Path $testPath) { Remove-Item -Path $testPath -Recurse -Force } } Describe "Initialize-ToolboxDataLocation" { It "Creates the resolved location when it doesn't exist" { [Environment]::SetEnvironmentVariable("ToolboxData", $testPath, "User") Initialize-ToolboxDataLocation Test-Path -Path $testPath | Should -BeTrue } It "Returns the resolved location" { [Environment]::SetEnvironmentVariable("ToolboxData", $testPath, "User") $result = Initialize-ToolboxDataLocation $result | Should -Be $testPath } It "Does nothing under -WhatIf" { Remove-Item -Path $testPath -Recurse -Force -ErrorAction "SilentlyContinue" [Environment]::SetEnvironmentVariable("ToolboxData", $testPath, "User") Initialize-ToolboxDataLocation -WhatIf Test-Path -Path $testPath | Should -BeFalse } } |