test(app): test for toggling model variant (#11221)
This commit is contained in:
25
packages/app/e2e/thinking-level.spec.ts
Normal file
25
packages/app/e2e/thinking-level.spec.ts
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
import { test, expect } from "./fixtures"
|
||||||
|
import { modelVariantCycleSelector } from "./utils"
|
||||||
|
|
||||||
|
test("smoke model variant cycle updates label", async ({ page, gotoSession }) => {
|
||||||
|
await gotoSession()
|
||||||
|
|
||||||
|
await page.addStyleTag({
|
||||||
|
content: `${modelVariantCycleSelector} { display: inline-block !important; }`,
|
||||||
|
})
|
||||||
|
|
||||||
|
const button = page.locator(modelVariantCycleSelector)
|
||||||
|
const exists = (await button.count()) > 0
|
||||||
|
test.skip(!exists, "current model has no variants")
|
||||||
|
if (!exists) return
|
||||||
|
|
||||||
|
await expect(button).toBeVisible()
|
||||||
|
|
||||||
|
const before = (await button.innerText()).trim()
|
||||||
|
await button.click()
|
||||||
|
await expect(button).not.toHaveText(before)
|
||||||
|
|
||||||
|
const after = (await button.innerText()).trim()
|
||||||
|
await button.click()
|
||||||
|
await expect(button).not.toHaveText(after)
|
||||||
|
})
|
||||||
@@ -12,6 +12,7 @@ export const terminalToggleKey = "Control+Backquote"
|
|||||||
|
|
||||||
export const promptSelector = '[data-component="prompt-input"]'
|
export const promptSelector = '[data-component="prompt-input"]'
|
||||||
export const terminalSelector = '[data-component="terminal"]'
|
export const terminalSelector = '[data-component="terminal"]'
|
||||||
|
export const modelVariantCycleSelector = '[data-action="model-variant-cycle"]'
|
||||||
|
|
||||||
export function createSdk(directory?: string) {
|
export function createSdk(directory?: string) {
|
||||||
return createOpencodeClient({ baseUrl: serverUrl, directory, throwOnError: true })
|
return createOpencodeClient({ baseUrl: serverUrl, directory, throwOnError: true })
|
||||||
|
|||||||
@@ -1953,6 +1953,7 @@ export const PromptInput: Component<PromptInputProps> = (props) => {
|
|||||||
keybind={command.keybind("model.variant.cycle")}
|
keybind={command.keybind("model.variant.cycle")}
|
||||||
>
|
>
|
||||||
<Button
|
<Button
|
||||||
|
data-action="model-variant-cycle"
|
||||||
variant="ghost"
|
variant="ghost"
|
||||||
class="text-text-base _hidden group-hover/prompt-input:inline-block capitalize text-12-regular"
|
class="text-text-base _hidden group-hover/prompt-input:inline-block capitalize text-12-regular"
|
||||||
onClick={() => local.model.variant.cycle()}
|
onClick={() => local.model.variant.cycle()}
|
||||||
|
|||||||
Reference in New Issue
Block a user