Tests/Toolbox/Get-ToolboxDataLocation.Tests.ps1

BeforeAll {

    Set-StrictMode -Version "Latest"

    . "$PSScriptRoot\..\..\Source\Environment\Get-EnvironmentVariable.ps1"
    . "$PSScriptRoot\..\..\Source\Toolbox\Get-ToolboxDataLocation.ps1"

    [Diagnostics.CodeAnalysis.SuppressMessageAttribute("PSUseDeclaredVarsMoreThanAssignments", "")]
    $originalValue = [Environment]::GetEnvironmentVariable("ToolboxData", "User")

}

AfterAll {

    [Environment]::SetEnvironmentVariable("ToolboxData", $originalValue, "User")

}

Describe "Get-ToolboxDataLocation" {

    It "Returns the User-scoped ToolboxData variable when set" {

        [Environment]::SetEnvironmentVariable("ToolboxData", "D:\ToolboxDataTest", "User")

        $result = Get-ToolboxDataLocation

        $result | Should -Be "D:\ToolboxDataTest"

    }

    It "Falls back to the default location when unset" {

        [Environment]::SetEnvironmentVariable("ToolboxData", $null, "User")

        $result = Get-ToolboxDataLocation

        $result | Should -Be "$Home\.toolbox"

    }

}