mirror of
https://github.com/usebruno/bruno.git
synced 2026-06-25 13:45:52 +00:00
50 lines
2.2 KiB
TypeScript
50 lines
2.2 KiB
TypeScript
import { test, expect } from '../../../playwright';
|
||
|
||
test.describe.serial('bru.setEnvVar(name, value)', () => {
|
||
test.setTimeout(2 * 10 * 1000);
|
||
|
||
test('set env var using script', async ({ pageWithUserData: page, restartApp }) => {
|
||
// Select the collection and request
|
||
await page.locator('#sidebar-collection-name').click();
|
||
await page.getByText('api-setEnvVar-without-persist', { exact: true }).click();
|
||
|
||
// open environment dropdown
|
||
await page.locator('div.current-environment.collection-environment').click();
|
||
|
||
// select stage environment
|
||
await expect(page.locator('.dropdown-item').filter({ hasText: 'Stage' })).toBeVisible();
|
||
await page.locator('.dropdown-item').filter({ hasText: 'Stage' }).click();
|
||
await expect(page.locator('.current-environment').filter({ hasText: /Stage/ })).toBeVisible();
|
||
|
||
// Send the request
|
||
await page.locator('#send-request').getByRole('img').nth(2).click();
|
||
await page.waitForTimeout(1000);
|
||
|
||
// confirm that the environment variable is set
|
||
await page.getByTitle('Stage', { exact: true }).click();
|
||
await page.getByText('Configure', { exact: true }).click();
|
||
await expect(page.getByRole('row', { name: 'token' }).getByRole('cell').nth(1)).toBeVisible();
|
||
await expect(page.getByRole('row', { name: 'secret' }).getByRole('cell').nth(2)).toBeVisible();
|
||
await page.getByText('×').click();
|
||
|
||
// we restart the app to confirm that the environment variable is not persisted
|
||
const newApp = await restartApp();
|
||
const newPage = await newApp.firstWindow();
|
||
|
||
// select the collection and request
|
||
await newPage.locator('#sidebar-collection-name').click();
|
||
await newPage.getByText('api-setEnvVar-without-persist', { exact: true }).click();
|
||
|
||
// open environment dropdown
|
||
await newPage.locator('div.current-environment.collection-environment').click();
|
||
await newPage.getByText('Configure', { exact: true }).click();
|
||
|
||
// ensure that the environment variable is not persisted
|
||
await expect(newPage.locator('table.environment-variables tbody')).not.toContainText('token');
|
||
|
||
// close the environment variable modal
|
||
await newPage.getByText('×').click();
|
||
await newPage.close();
|
||
});
|
||
});
|