Tests/Toolbox/Set-ToolboxDataLocation.Tests.ps1

BeforeAll {

    Set-StrictMode -Version "Latest"

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

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

}

AfterAll {

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

}

Describe "Set-ToolboxDataLocation" {

    It "Sets the User-scoped ToolboxData variable" {

        Set-ToolboxDataLocation -Path "D:\ToolboxDataTest"

        [Environment]::GetEnvironmentVariable("ToolboxData", "User") | Should -Be "D:\ToolboxDataTest"

    }

    It "Does nothing under -WhatIf" {

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

        Set-ToolboxDataLocation -Path "D:\ToolboxDataTest" -WhatIf

        [Environment]::GetEnvironmentVariable("ToolboxData", "User") | Should -Be "D:\Original"

    }

}