tests/functions/public/Get-omsAgent.tests.ps1

if(-not (Get-Module omsAgent))
{
    $here = (Split-Path -Parent $MyInvocation.MyCommand.Path).Replace('tests\functions\public', '')
    Import-Module (Join-Path $here 'omsAgent.psd1') 
}

InModuleScope -moduleName omsAgent {
    Describe 'Get-omsAgent' {
        Context 'Logic' {
            it 'Parameters' {
                Mock Get-omsAgentInternal { $null }
                {Get-omsAgent -ErrorAction Stop} | Should Not Throw
                {Get-omsAgent -compName -ErrorAction Stop} | Should Throw
            }

            it 'Creates\Removes A PsSession' {
                Mock New-PSSession { $true }
                Mock Remove-PSSession {}
                Mock Get-omsAgentInternal { $null }

                Get-omsAgent -ErrorAction SilentlyContinue | Out-Null

                Assert-MockCalled New-PSSession -Exactly 1 -Scope It  
                Assert-MockCalled Remove-PSSession -Exactly 1 -Scope It  
            }
        }
    }
}