Skip to content

Commit 5cbdc52

Browse files
test(openai): cover both temperature branches behind supportsTemperature gate (#215)
Add two tests so the temperature expression's branches are fully exercised: - explicit modelTemperature (left side of the `??`) - deepseek-reasoner default of DEEP_SEEK_DEFAULT_TEMPERATURE (truthy ternary) Closes the partial-branch gap codecov/patch flagged on line 162. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1 parent 6b87fd5 commit 5cbdc52

1 file changed

Lines changed: 21 additions & 1 deletion

File tree

src/api/providers/__tests__/openai.spec.ts

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { OpenAiHandler, getOpenAiModels } from "../openai"
44
import { ApiHandlerOptions } from "../../../shared/api"
55
import { Anthropic } from "@anthropic-ai/sdk"
66
import OpenAI from "openai"
7-
import { openAiModelInfoSaneDefaults } from "@roo-code/types"
7+
import { openAiModelInfoSaneDefaults, DEEP_SEEK_DEFAULT_TEMPERATURE } from "@roo-code/types"
88
import { Package } from "../../../shared/package"
99
import axios from "axios"
1010

@@ -418,6 +418,26 @@ describe("OpenAiHandler", () => {
418418
expect(callArgs).toHaveProperty("temperature")
419419
})
420420

421+
it("should use the configured modelTemperature when supportsTemperature is not false", async () => {
422+
const customTempHandler = new OpenAiHandler({ ...mockOptions, modelTemperature: 0.5 })
423+
const stream = customTempHandler.createMessage(systemPrompt, messages)
424+
for await (const _chunk of stream) {
425+
}
426+
expect(mockCreate).toHaveBeenCalled()
427+
const callArgs = mockCreate.mock.calls[0][0]
428+
expect(callArgs.temperature).toBe(0.5)
429+
})
430+
431+
it("should default to DEEP_SEEK_DEFAULT_TEMPERATURE for deepseek-reasoner models", async () => {
432+
const deepseekHandler = new OpenAiHandler({ ...mockOptions, openAiModelId: "deepseek-reasoner" })
433+
const stream = deepseekHandler.createMessage(systemPrompt, messages)
434+
for await (const _chunk of stream) {
435+
}
436+
expect(mockCreate).toHaveBeenCalled()
437+
const callArgs = mockCreate.mock.calls[0][0]
438+
expect(callArgs.temperature).toBe(DEEP_SEEK_DEFAULT_TEMPERATURE)
439+
})
440+
421441
it("should include max_tokens when includeMaxTokens is true", async () => {
422442
const optionsWithMaxTokens: ApiHandlerOptions = {
423443
...mockOptions,

0 commit comments

Comments
 (0)