mirror of
https://github.com/danny-avila/LibreChat.git
synced 2026-01-16 15:35:31 +01:00
50 lines
1.8 KiB
JavaScript
50 lines
1.8 KiB
JavaScript
|
|
import { expect, test } from '@playwright/test';
|
||
|
|
|
||
|
|
test.describe('Settings suite', () => {
|
||
|
|
test('Last Bing settings', async ({ page }) => {
|
||
|
|
await page.goto('http://localhost:3080/');
|
||
|
|
const newTopicButton = await page.getByRole('button', { name: 'New Topic' });
|
||
|
|
await newTopicButton.click();
|
||
|
|
|
||
|
|
// includes the icon + endpoint names in obj property
|
||
|
|
const endpointItem = await page.getByRole('menuitemradio', { name: 'BingAI Bing' })
|
||
|
|
await endpointItem.click();
|
||
|
|
|
||
|
|
await page.getByTestId('text-input').click();
|
||
|
|
const button1 = await page.getByRole('button', { name: 'Mode: BingAI' });
|
||
|
|
const button2 = await page.getByRole('button', { name: 'Mode: Sydney' });
|
||
|
|
|
||
|
|
try {
|
||
|
|
await button1.click({ timeout: 100});
|
||
|
|
} catch (e) {
|
||
|
|
// console.log('Bing button', e);
|
||
|
|
}
|
||
|
|
|
||
|
|
try {
|
||
|
|
await button2.click({ timeout: 100});
|
||
|
|
} catch (e) {
|
||
|
|
// console.log('Sydney button', e);
|
||
|
|
}
|
||
|
|
await page.getByRole('option', { name: 'Sydney' }).click();
|
||
|
|
await page.getByRole('tab', { name: 'Balanced' }).click();
|
||
|
|
|
||
|
|
// Change Endpoint to see if settings will persist
|
||
|
|
await newTopicButton.click();
|
||
|
|
await page.getByRole('menuitemradio', { name: 'ChatGPT OpenAI' }).click();
|
||
|
|
|
||
|
|
// Close endpoint menu & re-select BingAI
|
||
|
|
await page.getByTestId('text-input').click();
|
||
|
|
await newTopicButton.click();
|
||
|
|
await endpointItem.click();
|
||
|
|
|
||
|
|
// Check if the settings persisted
|
||
|
|
const localStorage = await page.evaluate(() => window.localStorage);
|
||
|
|
const lastBingSettings = JSON.parse(localStorage.lastBingSettings);
|
||
|
|
const { jailbreak, toneStyle } = lastBingSettings;
|
||
|
|
expect(jailbreak).toBeTruthy();
|
||
|
|
expect(toneStyle).toEqual('balanced');
|
||
|
|
const button = await page.getByRole('button', { name: 'Mode: Sydney' });
|
||
|
|
expect((button).count()).toBeTruthy();
|
||
|
|
});
|
||
|
|
});
|