__tests__/Get-ChatPayload.tests.ps1
Import-Module "$PSScriptRoot\..\PowerShellAI.psd1" -Force Describe "Get-ChatPayload" -Tag ChatPayload { BeforeEach { Clear-ChatMessages } It 'Tests Get-ChatPayload function exists' { $actual = Get-Command Get-ChatPayload -ErrorAction SilentlyContinue $actual | Should -Not -BeNullOrEmpty } It 'Tests Get-ChatPayload has initial correct data' { $actual = Get-ChatPayload $actual | Should -Not -BeNullOrEmpty $actual.keys.count | Should -Be 8 $actual.model | Should -Be 'gpt-4' $actual.temperature | Should -Be 0.0 $actual.max_tokens | Should -Be 256 $actual.top_p | Should -Be 1.0 $actual.frequency_penalty | Should -Be 0 $actual.presence_penalty | Should -Be 0 $actual.stop | Should -BeNullOrEmpty $actual.messages | Should -BeNullOrEmpty } It 'Tests Get-ChatPayload has correct data after New-ChatUserMessage' { New-ChatUserMessage -Content "Hello" $actual = Get-ChatPayload $actual.messages.count | Should -Be 1 $actual.messages[0].role | Should -Be 'user' $actual.messages[0].content | Should -Be 'Hello' } It 'Tests Get-ChatPayload has correct data after New-ChatMessage' { New-ChatMessage -Role 'user' -Content "Hello" $actual = Get-ChatPayload $actual.messages.count | Should -Be 1 $actual.messages[0].role | Should -Be 'user' $actual.messages[0].content | Should -Be 'Hello' } It 'Tests Get-ChatPayload has correct data after New-ChatMessage and New-ChatUserMessage' { New-ChatMessage -Role 'user' -Content "Hello" New-ChatUserMessage -Content "Hello message 2" $actual = Get-ChatPayload $actual.messages.count | Should -Be 2 $actual.messages[0].role | Should -Be 'user' $actual.messages[0].content | Should -Be 'Hello' $actual.messages[1].role | Should -Be 'user' $actual.messages[1].content | Should -Be 'Hello message 2' } It 'Tests Get-ChatPayload has correct data after New-ChatMessage and New-ChatUserMessage and Clear-ChatMessages' { New-ChatMessage -Role 'user' -Content "Hello" New-ChatUserMessage -Content "Hello message 2" Clear-ChatMessages $actual = Get-ChatPayload $actual.messages.count | Should -Be 0 } It 'Tests Get-ChatPayload has correct data after New-ChatMessage and New-ChatUserMessage and Clear-ChatMessages and New-ChatMessage' { New-ChatMessage -Role 'user' -Content "Hello" New-ChatUserMessage -Content "Hello message 2" Clear-ChatMessages New-ChatMessage -Role 'user' -Content "Hello" $actual = Get-ChatPayload $actual.messages.count | Should -Be 1 $actual.messages[0].role | Should -Be 'user' $actual.messages[0].content | Should -Be 'Hello' } It 'Tests Get-ChatPayload after Get-GPT4Completion' -Skip { Get-GPT4Completion -Content "Hello World" $actual = Get-ChatPayload $actual.messages.count | Should -Be 1 $actual.messages[0].role | Should -Be 'user' $actual.messages[0].content | Should -Be 'Hello World' } It 'Tests Get-ChatPayload as Json' -Skip { Get-GPT4Completion -Content "Hello World" $actual = Get-ChatPayload -AsJson $actual | Should -Not -BeNullOrEmpty $obj = ConvertFrom-Json $actual $obj.messages.count | Should -Be 1 $obj.messages[0].role | Should -Be 'user' $obj.messages[0].content | Should -Be 'Hello World' } } |