mirror of
https://github.com/usebruno/bruno.git
synced 2026-06-11 09:51:30 +00:00
57 lines
2.6 KiB
TypeScript
57 lines
2.6 KiB
TypeScript
import { test, expect, closeElectronApp } from '../../../playwright';
|
|
import { sendRequest, waitForReadyPage } from '../../utils/page';
|
|
|
|
test.describe.serial('bru.setEnvVar(name, value)', () => {
|
|
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.getByTestId('environment-selector-trigger').click();
|
|
|
|
// select stage environment
|
|
await expect(page.locator('.environment-list .dropdown-item', { hasText: 'Stage' })).toBeVisible();
|
|
await page.locator('.environment-list .dropdown-item', { hasText: 'Stage' }).click();
|
|
await expect(page.locator('.current-environment', { hasText: 'Stage' })).toBeVisible();
|
|
|
|
// Send the request
|
|
await sendRequest(page, 200);
|
|
|
|
// confirm that the environment variable is set
|
|
await page.getByTestId('environment-selector-trigger').click();
|
|
await page.locator('#configure-env').waitFor({ state: 'visible' });
|
|
await page.locator('#configure-env').dispatchEvent('click');
|
|
|
|
const envTab = page.locator('.request-tab').filter({ hasText: 'Environments' });
|
|
await expect(envTab).toBeVisible();
|
|
|
|
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 envTab.hover();
|
|
await envTab.getByTestId('request-tab-close-icon').click({ force: true });
|
|
|
|
// we restart the app to confirm that the environment variable is not persisted
|
|
const newApp = await restartApp();
|
|
const newPage = await waitForReadyPage(newApp);
|
|
|
|
// 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.getByTestId('environment-selector-trigger').click();
|
|
await newPage.locator('#configure-env').waitFor({ state: 'visible' });
|
|
await newPage.locator('#configure-env').dispatchEvent('click');
|
|
|
|
const newEnvTab = newPage.locator('.request-tab').filter({ hasText: 'Environments' });
|
|
await expect(newEnvTab).toBeVisible();
|
|
|
|
await expect(newPage.locator('.table-container tbody')).not.toContainText('token');
|
|
|
|
await newEnvTab.hover();
|
|
await newEnvTab.getByTestId('request-tab-close-icon').click({ force: true });
|
|
await closeElectronApp(newApp);
|
|
});
|
|
});
|