From 033c5cc0f7e4912d5767ac1771a79a735671a178 Mon Sep 17 00:00:00 2001 From: Anoop M D Date: Sun, 7 Sep 2025 03:05:11 +0530 Subject: [PATCH] Refactor tests --- .../001-persistent-env-test.spec.ts | 33 ----------- .../002-env-test-without-persistence.spec.ts | 40 ------------- .../collection/collection.bru | 0 .../collection/environments/Env.bru | 4 -- .../init-user-data/preferences.json | 6 -- package-lock.json | 2 +- .../Environments/EnvironmentSelector/index.js | 2 +- .../EnvironmentVariables/index.js | 2 +- .../EnvironmentSelector/index.js | 2 +- .../components/RequestPane/QueryUrl/index.js | 2 + playwright.config.ts | 2 +- playwright/codegen.ts | 2 +- .../create/create-collection.spec.ts | 21 +++---- .../cookies/cookie-persistence.spec.ts | 0 .../cookies/corrupted-passkey.spec.ts | 0 .../api-setEnvVar-with-persist.spec.ts | 57 +++++++++++++++++++ .../api-setEnvVar-without-persist.spec.ts | 49 ++++++++++++++++ .../collection/api-setEnvVar-with-persist.bru | 4 +- .../api-setEnvVar-without-persist.bru | 4 +- .../api-setEnvVar}/collection/bruno.json | 0 .../collection/environments/Stage.bru | 3 +- .../init-user-data/collection-security.json | 10 ++++ .../init-user-data/preferences.json | 6 ++ .../multiline-variables/collection/bruno.json | 0 .../collection/collection.bru | 0 .../collection/environments/Test.bru | 0 .../collection/multiline-test.bru | 0 .../collection/request.bru | 0 .../init-user-data/collection-security.json | 2 +- .../init-user-data/preferences.json | 2 +- .../read-multiline-environment.spec.ts | 3 +- .../write-multiline-variable.spec.ts | 4 +- .../notifications/notifications.spec.js | 0 .../sidebar-toggle/sidebar-toggle.spec.js | 0 .../bruno/001-import-bruno-testbench.spec.ts | 0 .../002-import-bruno-corrupted-fails.spec.ts | 0 ...port-bruno-missing-required-schema.spec.ts | 0 .../001-file-input-acceptance.spec.ts | 0 .../002-invalid-file-handling.spec.ts | 0 .../insomnia/001-import-insomnia-v4.spec.ts | 0 .../insomnia/002-import-insomnia-v5.spec.ts | 0 .../003-invalid-missing-collection.spec.ts | 0 .../insomnia/004-malformed-structure.spec.ts | 0 .../openapi/001-import-openapi-yaml.spec.ts | 0 .../openapi/002-import-openapi-json.spec.ts | 0 .../import}/openapi/003-missing-info.spec.ts | 0 .../openapi/004-malformed-yaml.spec.ts | 0 .../postman/001-import-postman-v21.spec.ts | 0 .../postman/002-import-postman-v20.spec.ts | 0 .../postman/003-invalid-missing-info.spec.ts | 0 .../postman/004-invalid-schema.spec.ts | 0 .../postman/005-malformed-structure.spec.ts | 0 .../import}/postman/006-invalid-json.spec.ts | 0 .../test-data/bruno-invalid-corrupted.json | 0 .../import}/test-data/bruno-malformed.json | 0 .../bruno-missing-required-fields.json | 0 .../import}/test-data/bruno-testbench.json | 0 .../import}/test-data/empty-file.json | 0 .../import}/test-data/insomnia-malformed.json | 0 .../import}/test-data/insomnia-v4.json | 0 ...nsomnia-v5-invalid-missing-collection.yaml | 0 .../import}/test-data/insomnia-v5.yaml | 0 .../import}/test-data/invalid-json.json | 0 .../import}/test-data/invalid.txt | 0 .../test-data/openapi-comprehensive.yaml | 0 .../test-data/openapi-invalid-version.yaml | 0 .../import}/test-data/openapi-malformed.yaml | 0 .../test-data/openapi-missing-info.yaml | 0 .../import}/test-data/openapi-simple.json | 0 .../postman-invalid-missing-info.json | 0 .../test-data/postman-invalid-schema.json | 0 .../import}/test-data/postman-malformed.json | 0 .../import}/test-data/postman-v20.json | 0 .../import}/test-data/postman-v21.json | 0 .../preferences/support-links.spec.js | 6 +- .../runner/collection-run.ts | 2 +- .../runner}/init-user-data/preferences.json | 0 .../start/app-open.spec.ts | 0 78 files changed, 154 insertions(+), 116 deletions(-) delete mode 100644 e2e-tests/persistent-env-tests/001-persistent-env-test.spec.ts delete mode 100644 e2e-tests/persistent-env-tests/002-env-test-without-persistence.spec.ts delete mode 100644 e2e-tests/persistent-env-tests/collection/collection.bru delete mode 100644 e2e-tests/persistent-env-tests/collection/environments/Env.bru delete mode 100644 e2e-tests/persistent-env-tests/init-user-data/preferences.json rename e2e-tests/001-sanity-tests/002-create-new-collection-and-new-request.spec.ts => tests/collection/create/create-collection.spec.ts (66%) rename e2e-tests/002-cookies-tests/001-cookie-persistence.spec.ts => tests/cookies/cookie-persistence.spec.ts (100%) rename e2e-tests/002-cookies-tests/002-corrupted-passkey.spec.ts => tests/cookies/corrupted-passkey.spec.ts (100%) create mode 100644 tests/environments/api-setEnvVar/api-setEnvVar-with-persist.spec.ts create mode 100644 tests/environments/api-setEnvVar/api-setEnvVar-without-persist.spec.ts rename e2e-tests/persistent-env-tests/collection/request.bru => tests/environments/api-setEnvVar/collection/api-setEnvVar-with-persist.bru (52%) rename e2e-tests/persistent-env-tests/collection/persist-env-request.bru => tests/environments/api-setEnvVar/collection/api-setEnvVar-without-persist.bru (56%) rename {e2e-tests/persistent-env-tests => tests/environments/api-setEnvVar}/collection/bruno.json (100%) rename {e2e-tests/persistent-env-tests => tests/environments/api-setEnvVar}/collection/environments/Stage.bru (74%) create mode 100644 tests/environments/api-setEnvVar/init-user-data/collection-security.json create mode 100644 tests/environments/api-setEnvVar/init-user-data/preferences.json rename {e2e-tests => tests}/environments/multiline-variables/collection/bruno.json (100%) rename {e2e-tests => tests}/environments/multiline-variables/collection/collection.bru (100%) rename {e2e-tests => tests}/environments/multiline-variables/collection/environments/Test.bru (100%) rename {e2e-tests => tests}/environments/multiline-variables/collection/multiline-test.bru (100%) rename {e2e-tests => tests}/environments/multiline-variables/collection/request.bru (100%) rename {e2e-tests => tests}/environments/multiline-variables/init-user-data/collection-security.json (55%) rename {e2e-tests => tests}/environments/multiline-variables/init-user-data/preferences.json (85%) rename {e2e-tests => tests}/environments/multiline-variables/read-multiline-environment.spec.ts (92%) rename {e2e-tests => tests}/environments/multiline-variables/write-multiline-variable.spec.ts (96%) rename {e2e-tests => tests}/footer/notifications/notifications.spec.js (100%) rename {e2e-tests => tests}/footer/sidebar-toggle/sidebar-toggle.spec.js (100%) rename {e2e-tests/import-tests => tests/import}/bruno/001-import-bruno-testbench.spec.ts (100%) rename {e2e-tests/import-tests => tests/import}/bruno/002-import-bruno-corrupted-fails.spec.ts (100%) rename {e2e-tests/import-tests => tests/import}/bruno/003-import-bruno-missing-required-schema.spec.ts (100%) rename {e2e-tests/import-tests => tests/import}/file-types/001-file-input-acceptance.spec.ts (100%) rename {e2e-tests/import-tests => tests/import}/file-types/002-invalid-file-handling.spec.ts (100%) rename {e2e-tests/import-tests => tests/import}/insomnia/001-import-insomnia-v4.spec.ts (100%) rename {e2e-tests/import-tests => tests/import}/insomnia/002-import-insomnia-v5.spec.ts (100%) rename {e2e-tests/import-tests => tests/import}/insomnia/003-invalid-missing-collection.spec.ts (100%) rename {e2e-tests/import-tests => tests/import}/insomnia/004-malformed-structure.spec.ts (100%) rename {e2e-tests/import-tests => tests/import}/openapi/001-import-openapi-yaml.spec.ts (100%) rename {e2e-tests/import-tests => tests/import}/openapi/002-import-openapi-json.spec.ts (100%) rename {e2e-tests/import-tests => tests/import}/openapi/003-missing-info.spec.ts (100%) rename {e2e-tests/import-tests => tests/import}/openapi/004-malformed-yaml.spec.ts (100%) rename {e2e-tests/import-tests => tests/import}/postman/001-import-postman-v21.spec.ts (100%) rename {e2e-tests/import-tests => tests/import}/postman/002-import-postman-v20.spec.ts (100%) rename {e2e-tests/import-tests => tests/import}/postman/003-invalid-missing-info.spec.ts (100%) rename {e2e-tests/import-tests => tests/import}/postman/004-invalid-schema.spec.ts (100%) rename {e2e-tests/import-tests => tests/import}/postman/005-malformed-structure.spec.ts (100%) rename {e2e-tests/import-tests => tests/import}/postman/006-invalid-json.spec.ts (100%) rename {e2e-tests/import-tests => tests/import}/test-data/bruno-invalid-corrupted.json (100%) rename {e2e-tests/import-tests => tests/import}/test-data/bruno-malformed.json (100%) rename {e2e-tests/import-tests => tests/import}/test-data/bruno-missing-required-fields.json (100%) rename {e2e-tests/import-tests => tests/import}/test-data/bruno-testbench.json (100%) rename {e2e-tests/import-tests => tests/import}/test-data/empty-file.json (100%) rename {e2e-tests/import-tests => tests/import}/test-data/insomnia-malformed.json (100%) rename {e2e-tests/import-tests => tests/import}/test-data/insomnia-v4.json (100%) rename {e2e-tests/import-tests => tests/import}/test-data/insomnia-v5-invalid-missing-collection.yaml (100%) rename {e2e-tests/import-tests => tests/import}/test-data/insomnia-v5.yaml (100%) rename {e2e-tests/import-tests => tests/import}/test-data/invalid-json.json (100%) rename {e2e-tests/import-tests => tests/import}/test-data/invalid.txt (100%) rename {e2e-tests/import-tests => tests/import}/test-data/openapi-comprehensive.yaml (100%) rename {e2e-tests/import-tests => tests/import}/test-data/openapi-invalid-version.yaml (100%) rename {e2e-tests/import-tests => tests/import}/test-data/openapi-malformed.yaml (100%) rename {e2e-tests/import-tests => tests/import}/test-data/openapi-missing-info.yaml (100%) rename {e2e-tests/import-tests => tests/import}/test-data/openapi-simple.json (100%) rename {e2e-tests/import-tests => tests/import}/test-data/postman-invalid-missing-info.json (100%) rename {e2e-tests/import-tests => tests/import}/test-data/postman-invalid-schema.json (100%) rename {e2e-tests/import-tests => tests/import}/test-data/postman-malformed.json (100%) rename {e2e-tests/import-tests => tests/import}/test-data/postman-v20.json (100%) rename {e2e-tests/import-tests => tests/import}/test-data/postman-v21.json (100%) rename e2e-tests/preferences/verify-support-links-in-preferences.spec.js => tests/preferences/support-links.spec.js (94%) rename e2e-tests/bruno-testbench/run-testbench-requests.spec.ts => tests/runner/collection-run.ts (97%) rename {e2e-tests/bruno-testbench => tests/runner}/init-user-data/preferences.json (100%) rename e2e-tests/001-sanity-tests/001-home-screen.spec.ts => tests/start/app-open.spec.ts (100%) diff --git a/e2e-tests/persistent-env-tests/001-persistent-env-test.spec.ts b/e2e-tests/persistent-env-tests/001-persistent-env-test.spec.ts deleted file mode 100644 index e319e178f..000000000 --- a/e2e-tests/persistent-env-tests/001-persistent-env-test.spec.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { test, expect } from '../../playwright'; - -test.describe.serial('Persistent Environment Test', () => { - test.setTimeout(2 * 10 * 1000); - - test('add env using script', async ({ pageWithUserData: page, restartApp }) => { - await page.locator('#sidebar-collection-name').click(); - await page.getByRole('button', { name: 'Save' }).click(); - await page.getByText('ping', { exact: true }).click(); - await page.getByText('No Environment').click(); - await page.getByRole('tooltip').locator('div').filter({ hasText: 'Env' }).nth(3).click(); - await page.locator('#send-request').getByRole('img').nth(2).click(); - await page.waitForTimeout(1000); - await page.locator('div').filter({ hasText: /^Env$/ }).nth(3).click(); - await page.getByText('Configure', { exact: true }).click(); - await expect(page.getByRole('row', { name: 'persistent-env-test' }).getByRole('cell').nth(3)).toBeVisible(); - await page.getByText('×').click(); - - const newApp = await restartApp(); - const newPage = await newApp.firstWindow(); - await newPage.locator('#sidebar-collection-name').click(); - await newPage.getByRole('button', { name: 'Save' }).click(); - await newPage.getByText('ping', { exact: true }).click(); - await newPage.getByText('No Environment').click(); - await newPage.getByRole('tooltip').locator('div').filter({ hasText: 'Env' }).nth(3).click(); - await newPage.locator('div').filter({ hasText: /^Env$/ }).nth(3).click(); - await newPage.getByText('Configure', { exact: true }).click(); - await expect(newPage.getByRole('row', { name: 'persistent-env-test' }).getByRole('cell').nth(3)).toBeVisible(); - await newPage.getByText('×').click(); - await newPage.waitForTimeout(1000); - await newPage.close(); - }); -}); diff --git a/e2e-tests/persistent-env-tests/002-env-test-without-persistence.spec.ts b/e2e-tests/persistent-env-tests/002-env-test-without-persistence.spec.ts deleted file mode 100644 index 4be151bb0..000000000 --- a/e2e-tests/persistent-env-tests/002-env-test-without-persistence.spec.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { test, expect } from '../../playwright'; - -test.describe.serial('Persistent Environment Test', () => { - test.setTimeout(2 * 10 * 1000); - - test('add env using script', async ({ pageWithUserData: page, restartApp }) => { - await page.locator('#sidebar-collection-name').click(); - await page.getByText('ping2', { exact: true }).click(); - await page.getByText('Env', { exact: true }).click(); - await page.getByText('Stage', { exact: true }).click(); - await page.locator('#send-request').getByRole('img').nth(2).click(); - await page.waitForTimeout(1000); - await page - .locator('div') - .filter({ hasText: /^Stage$/ }) - .nth(3) - .click(); - await page.getByText('Configure', { exact: true }).click(); - await expect(page.getByRole('row', { name: 'persistent-env-test' }).getByRole('cell').nth(3)).toBeVisible(); - await page.getByText('×').click(); - - const newApp = await restartApp(); - const newPage = await newApp.firstWindow(); - await newPage.locator('#sidebar-collection-name').click(); - await newPage.getByRole('button', { name: 'Save' }).click(); - await newPage.getByText('ping2', { exact: true }).click(); - await newPage.getByText('No Environment').click(); - await newPage.getByText('Stage').click(); - await newPage - .locator('div') - .filter({ hasText: /^Stage$/ }) - .nth(3) - .click(); - await newPage.getByText('Configure', { exact: true }).click(); - await expect(newPage.getByRole('row', { name: 'persistent-env-test' }).getByRole('cell').nth(3)).not.toBeVisible(); - await newPage.getByText('×').click(); - await newPage.waitForTimeout(1000); - await newPage.close(); - }); -}); diff --git a/e2e-tests/persistent-env-tests/collection/collection.bru b/e2e-tests/persistent-env-tests/collection/collection.bru deleted file mode 100644 index e69de29bb..000000000 diff --git a/e2e-tests/persistent-env-tests/collection/environments/Env.bru b/e2e-tests/persistent-env-tests/collection/environments/Env.bru deleted file mode 100644 index 909243fd2..000000000 --- a/e2e-tests/persistent-env-tests/collection/environments/Env.bru +++ /dev/null @@ -1,4 +0,0 @@ -vars { - host: https://testbench-sanity.usebruno.com - persistent-env-test: persistent-env-test-value -} diff --git a/e2e-tests/persistent-env-tests/init-user-data/preferences.json b/e2e-tests/persistent-env-tests/init-user-data/preferences.json deleted file mode 100644 index f9c1fdc7e..000000000 --- a/e2e-tests/persistent-env-tests/init-user-data/preferences.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "maximized": true, - "lastOpenedCollections": [ - "{{projectRoot}}/e2e-tests/persistent-env-tests/collection" - ] -} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 72f396afd..3cc97d6bc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -32156,4 +32156,4 @@ } } } -} +} \ No newline at end of file diff --git a/packages/bruno-app/src/components/Environments/EnvironmentSelector/index.js b/packages/bruno-app/src/components/Environments/EnvironmentSelector/index.js index a8246237c..52053179f 100644 --- a/packages/bruno-app/src/components/Environments/EnvironmentSelector/index.js +++ b/packages/bruno-app/src/components/Environments/EnvironmentSelector/index.js @@ -18,7 +18,7 @@ const EnvironmentSelector = ({ collection }) => { const Icon = forwardRef((props, ref) => { return ( -
+

{activeEnvironment ? activeEnvironment.name : 'No Environment'}

diff --git a/packages/bruno-app/src/components/Environments/EnvironmentSettings/EnvironmentList/EnvironmentDetails/EnvironmentVariables/index.js b/packages/bruno-app/src/components/Environments/EnvironmentSettings/EnvironmentList/EnvironmentDetails/EnvironmentVariables/index.js index d02cc494a..1050d68b6 100644 --- a/packages/bruno-app/src/components/Environments/EnvironmentSettings/EnvironmentList/EnvironmentDetails/EnvironmentVariables/index.js +++ b/packages/bruno-app/src/components/Environments/EnvironmentSettings/EnvironmentList/EnvironmentDetails/EnvironmentVariables/index.js @@ -173,7 +173,7 @@ const EnvironmentVariables = ({ environment, collection, setIsModified, original return (
- +
diff --git a/packages/bruno-app/src/components/GlobalEnvironments/EnvironmentSelector/index.js b/packages/bruno-app/src/components/GlobalEnvironments/EnvironmentSelector/index.js index b0042bcbf..77094e0d4 100644 --- a/packages/bruno-app/src/components/GlobalEnvironments/EnvironmentSelector/index.js +++ b/packages/bruno-app/src/components/GlobalEnvironments/EnvironmentSelector/index.js @@ -19,7 +19,7 @@ const EnvironmentSelector = () => { const Icon = forwardRef((props, ref) => { return ( -
+
{ diff --git a/packages/bruno-app/src/components/RequestPane/QueryUrl/index.js b/packages/bruno-app/src/components/RequestPane/QueryUrl/index.js index 2eb6dc375..30c4036f1 100644 --- a/packages/bruno-app/src/components/RequestPane/QueryUrl/index.js +++ b/packages/bruno-app/src/components/RequestPane/QueryUrl/index.js @@ -112,6 +112,7 @@ const QueryUrl = ({ item, collection, handleRun }) => { />
{ handleGenerateCode(e); @@ -128,6 +129,7 @@ const QueryUrl = ({ item, collection, handleRun }) => {
{ e.stopPropagation(); diff --git a/playwright.config.ts b/playwright.config.ts index df01a2ec8..b47ff84f0 100644 --- a/playwright.config.ts +++ b/playwright.config.ts @@ -7,7 +7,7 @@ if (process.env.CI) { } export default defineConfig({ - testDir: './e2e-tests', + testDir: './tests', fullyParallel: false, forbidOnly: !!process.env.CI, retries: process.env.CI ? 1 : 0, diff --git a/playwright/codegen.ts b/playwright/codegen.ts index da2bfcb1f..ea637ade3 100644 --- a/playwright/codegen.ts +++ b/playwright/codegen.ts @@ -5,7 +5,7 @@ async function main() { const { app, context } = await startApp(); let outputFile = process.argv[2]?.trim(); if (outputFile && !/\.(ts|js)$/.test(outputFile)) { - outputFile = path.join(__dirname, '../e2e-tests/', outputFile + '.spec.ts'); + outputFile = path.join(__dirname, '../tests/', outputFile + '.spec.ts'); } await context._enableRecorder({ language: 'playwright-test', mode: 'recording', outputFile }); } diff --git a/e2e-tests/001-sanity-tests/002-create-new-collection-and-new-request.spec.ts b/tests/collection/create/create-collection.spec.ts similarity index 66% rename from e2e-tests/001-sanity-tests/002-create-new-collection-and-new-request.spec.ts rename to tests/collection/create/create-collection.spec.ts index 705a2bc3b..eec604ea1 100644 --- a/e2e-tests/001-sanity-tests/002-create-new-collection-and-new-request.spec.ts +++ b/tests/collection/create/create-collection.spec.ts @@ -1,6 +1,7 @@ -import { test, expect } from '../../playwright'; +import { test, expect } from '../../../playwright'; -test('Create new collection and add a simple HTTP request', async ({ page, createTmpDir }) => { +test('Create collection and add a simple HTTP request', async ({ page, createTmpDir }) => { + // Create a new collection await page.getByLabel('Create Collection').click(); await page.getByLabel('Name').click(); await page.getByLabel('Name').fill('test-collection'); @@ -8,24 +9,24 @@ test('Create new collection and add a simple HTTP request', async ({ page, creat await page.getByLabel('Location').fill(await createTmpDir('test-collection')); await page.getByRole('button', { name: 'Create', exact: true }).click(); await page.getByText('test-collection').click(); + + // Select safe mode await page.getByLabel('Safe Mode').check(); await page.getByRole('button', { name: 'Save' }).click(); + + // Create a new request await page.locator('#create-new-tab').getByRole('img').click(); await page.getByPlaceholder('Request Name').fill('r1'); await page.locator('#new-request-url .CodeMirror').click(); await page.locator('textarea').fill('http://localhost:8081'); await page.getByRole('button', { name: 'Create' }).click(); + + // Send a request await page.locator('#request-url .CodeMirror').click(); await page.locator('textarea').fill('/ping'); + await page.locator('#send-request').getByTitle('Save Request').click(); await page.locator('#send-request').getByRole('img').nth(2).click(); - await expect(page.getByRole('main')).toContainText('200 OK'); - - await page.getByRole('tab', { name: 'GET r1' }).locator('circle').click(); - await page.getByRole('button', { name: 'Save', exact: true }).click(); - await page.getByText('GETr1').click(); - await page.getByRole('button', { name: 'Clear response' }).click(); - await page.locator('body').press('ControlOrMeta+Enter'); - + // Verify the response await expect(page.getByRole('main')).toContainText('200 OK'); }); \ No newline at end of file diff --git a/e2e-tests/002-cookies-tests/001-cookie-persistence.spec.ts b/tests/cookies/cookie-persistence.spec.ts similarity index 100% rename from e2e-tests/002-cookies-tests/001-cookie-persistence.spec.ts rename to tests/cookies/cookie-persistence.spec.ts diff --git a/e2e-tests/002-cookies-tests/002-corrupted-passkey.spec.ts b/tests/cookies/corrupted-passkey.spec.ts similarity index 100% rename from e2e-tests/002-cookies-tests/002-corrupted-passkey.spec.ts rename to tests/cookies/corrupted-passkey.spec.ts diff --git a/tests/environments/api-setEnvVar/api-setEnvVar-with-persist.spec.ts b/tests/environments/api-setEnvVar/api-setEnvVar-with-persist.spec.ts new file mode 100644 index 000000000..6a4a14e7e --- /dev/null +++ b/tests/environments/api-setEnvVar/api-setEnvVar-with-persist.spec.ts @@ -0,0 +1,57 @@ +import { test, expect } from '../../../playwright'; +import fs from 'fs'; +import path from 'path'; + +test.describe.serial('bru.setEnvVar(name, value, { persist: true })', () => { + test.setTimeout(2 * 10 * 1000); + + test('set env var with persist using script', async ({ pageWithUserData: page, restartApp }) => { + // Keep a copy of the original Stage.bru file + const originalStageBruPath = path.join(__dirname, 'collection/environments/Stage.bru'); + const originalStageBruContent = fs.readFileSync(originalStageBruPath, 'utf8'); + + // Select the collection and request + await page.locator('#sidebar-collection-name').click(); + await page.getByText('api-setEnvVar-with-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 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-with-persist', { exact: true }).click(); + + // open environment dropdown + await newPage.locator('div.current-environment.collection-environment').click(); + await newPage.getByText('Configure', { exact: true }).click(); + await expect(newPage.getByRole('row', { name: 'token' }).getByRole('cell').nth(1)).toBeVisible(); + await expect(newPage.getByRole('row', { name: 'secret' }).getByRole('cell').nth(2)).toBeVisible(); + + // close the environment modal + await newPage.getByText('×').click(); + + // Restore the original Stage.bru file + fs.writeFileSync(originalStageBruPath, originalStageBruContent); + await newPage.close(); + }); +}); diff --git a/tests/environments/api-setEnvVar/api-setEnvVar-without-persist.spec.ts b/tests/environments/api-setEnvVar/api-setEnvVar-without-persist.spec.ts new file mode 100644 index 000000000..b01530c60 --- /dev/null +++ b/tests/environments/api-setEnvVar/api-setEnvVar-without-persist.spec.ts @@ -0,0 +1,49 @@ +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(); + }); +}); diff --git a/e2e-tests/persistent-env-tests/collection/request.bru b/tests/environments/api-setEnvVar/collection/api-setEnvVar-with-persist.bru similarity index 52% rename from e2e-tests/persistent-env-tests/collection/request.bru rename to tests/environments/api-setEnvVar/collection/api-setEnvVar-with-persist.bru index 9ae6899c5..f56119ae9 100644 --- a/e2e-tests/persistent-env-tests/collection/request.bru +++ b/tests/environments/api-setEnvVar/collection/api-setEnvVar-with-persist.bru @@ -1,5 +1,5 @@ meta { - name: ping + name: api-setEnvVar-with-persist type: http seq: 1 } @@ -11,5 +11,5 @@ get { } script:pre-request { - bru.setEnvVar("persistent-env-test", "persistent-env-test-value", { persist: true }); + bru.setEnvVar("token", "secret", { persist: true }); } \ No newline at end of file diff --git a/e2e-tests/persistent-env-tests/collection/persist-env-request.bru b/tests/environments/api-setEnvVar/collection/api-setEnvVar-without-persist.bru similarity index 56% rename from e2e-tests/persistent-env-tests/collection/persist-env-request.bru rename to tests/environments/api-setEnvVar/collection/api-setEnvVar-without-persist.bru index eefb4e827..791788bc3 100644 --- a/e2e-tests/persistent-env-tests/collection/persist-env-request.bru +++ b/tests/environments/api-setEnvVar/collection/api-setEnvVar-without-persist.bru @@ -1,5 +1,5 @@ meta { - name: ping2 + name: api-setEnvVar-without-persist type: http seq: 1 } @@ -11,5 +11,5 @@ get { } script:pre-request { - bru.setEnvVar("persistent-env-test", "persistent-env-test-value"); + bru.setEnvVar("token", "secret"); } \ No newline at end of file diff --git a/e2e-tests/persistent-env-tests/collection/bruno.json b/tests/environments/api-setEnvVar/collection/bruno.json similarity index 100% rename from e2e-tests/persistent-env-tests/collection/bruno.json rename to tests/environments/api-setEnvVar/collection/bruno.json diff --git a/e2e-tests/persistent-env-tests/collection/environments/Stage.bru b/tests/environments/api-setEnvVar/collection/environments/Stage.bru similarity index 74% rename from e2e-tests/persistent-env-tests/collection/environments/Stage.bru rename to tests/environments/api-setEnvVar/collection/environments/Stage.bru index 0b756aa68..ae0638c82 100644 --- a/e2e-tests/persistent-env-tests/collection/environments/Stage.bru +++ b/tests/environments/api-setEnvVar/collection/environments/Stage.bru @@ -1,3 +1,4 @@ vars { host: https://testbench-sanity.usebruno.com -} \ No newline at end of file + token: secret +} diff --git a/tests/environments/api-setEnvVar/init-user-data/collection-security.json b/tests/environments/api-setEnvVar/init-user-data/collection-security.json new file mode 100644 index 000000000..3f0f629ab --- /dev/null +++ b/tests/environments/api-setEnvVar/init-user-data/collection-security.json @@ -0,0 +1,10 @@ +{ + "collections": [ + { + "path": "{{projectRoot}}/tests/environments/api-setEnvVar/collection", + "securityConfig": { + "jsSandboxMode": "safe" + } + } + ] +} \ No newline at end of file diff --git a/tests/environments/api-setEnvVar/init-user-data/preferences.json b/tests/environments/api-setEnvVar/init-user-data/preferences.json new file mode 100644 index 000000000..f0cadbbaf --- /dev/null +++ b/tests/environments/api-setEnvVar/init-user-data/preferences.json @@ -0,0 +1,6 @@ +{ + "maximized": true, + "lastOpenedCollections": [ + "{{projectRoot}}/tests/environments/api-setEnvVar/collection" + ] +} \ No newline at end of file diff --git a/e2e-tests/environments/multiline-variables/collection/bruno.json b/tests/environments/multiline-variables/collection/bruno.json similarity index 100% rename from e2e-tests/environments/multiline-variables/collection/bruno.json rename to tests/environments/multiline-variables/collection/bruno.json diff --git a/e2e-tests/environments/multiline-variables/collection/collection.bru b/tests/environments/multiline-variables/collection/collection.bru similarity index 100% rename from e2e-tests/environments/multiline-variables/collection/collection.bru rename to tests/environments/multiline-variables/collection/collection.bru diff --git a/e2e-tests/environments/multiline-variables/collection/environments/Test.bru b/tests/environments/multiline-variables/collection/environments/Test.bru similarity index 100% rename from e2e-tests/environments/multiline-variables/collection/environments/Test.bru rename to tests/environments/multiline-variables/collection/environments/Test.bru diff --git a/e2e-tests/environments/multiline-variables/collection/multiline-test.bru b/tests/environments/multiline-variables/collection/multiline-test.bru similarity index 100% rename from e2e-tests/environments/multiline-variables/collection/multiline-test.bru rename to tests/environments/multiline-variables/collection/multiline-test.bru diff --git a/e2e-tests/environments/multiline-variables/collection/request.bru b/tests/environments/multiline-variables/collection/request.bru similarity index 100% rename from e2e-tests/environments/multiline-variables/collection/request.bru rename to tests/environments/multiline-variables/collection/request.bru diff --git a/e2e-tests/environments/multiline-variables/init-user-data/collection-security.json b/tests/environments/multiline-variables/init-user-data/collection-security.json similarity index 55% rename from e2e-tests/environments/multiline-variables/init-user-data/collection-security.json rename to tests/environments/multiline-variables/init-user-data/collection-security.json index 5f51bd286..efd06298b 100644 --- a/e2e-tests/environments/multiline-variables/init-user-data/collection-security.json +++ b/tests/environments/multiline-variables/init-user-data/collection-security.json @@ -1,7 +1,7 @@ { "collections": [ { - "path": "{{projectRoot}}/e2e-tests/environments/multiline-variables/collection", + "path": "{{projectRoot}}/tests/environments/multiline-variables/collection", "securityConfig": { "jsSandboxMode": "developer" } diff --git a/e2e-tests/environments/multiline-variables/init-user-data/preferences.json b/tests/environments/multiline-variables/init-user-data/preferences.json similarity index 85% rename from e2e-tests/environments/multiline-variables/init-user-data/preferences.json rename to tests/environments/multiline-variables/init-user-data/preferences.json index 9374c16fd..3b162fb3e 100644 --- a/e2e-tests/environments/multiline-variables/init-user-data/preferences.json +++ b/tests/environments/multiline-variables/init-user-data/preferences.json @@ -1,7 +1,7 @@ { "maximized": true, "lastOpenedCollections": [ - "{{projectRoot}}/e2e-tests/environments/multiline-variables/collection" + "{{projectRoot}}/tests/environments/multiline-variables/collection" ], "request": { "sslVerification": false, diff --git a/e2e-tests/environments/multiline-variables/read-multiline-environment.spec.ts b/tests/environments/multiline-variables/read-multiline-environment.spec.ts similarity index 92% rename from e2e-tests/environments/multiline-variables/read-multiline-environment.spec.ts rename to tests/environments/multiline-variables/read-multiline-environment.spec.ts index 0e0856816..9deb5bcfa 100644 --- a/e2e-tests/environments/multiline-variables/read-multiline-environment.spec.ts +++ b/tests/environments/multiline-variables/read-multiline-environment.spec.ts @@ -13,8 +13,7 @@ test.describe('Multiline Variables - Read Environment Test', () => { await page.getByTitle('request', { exact: true }).click(); // open environment dropdown - await expect(page.getByTitle('No Environment')).toBeVisible(); - await page.getByTitle('No Environment').click(); + await page.locator('div.current-environment.collection-environment').click(); // select test environment await expect(page.locator('.dropdown-item').filter({ hasText: 'Test' })).toBeVisible(); diff --git a/e2e-tests/environments/multiline-variables/write-multiline-variable.spec.ts b/tests/environments/multiline-variables/write-multiline-variable.spec.ts similarity index 96% rename from e2e-tests/environments/multiline-variables/write-multiline-variable.spec.ts rename to tests/environments/multiline-variables/write-multiline-variable.spec.ts index f2aff96fe..280eda40d 100644 --- a/e2e-tests/environments/multiline-variables/write-multiline-variable.spec.ts +++ b/tests/environments/multiline-variables/write-multiline-variable.spec.ts @@ -13,8 +13,7 @@ test.describe('Multiline Variables - Write Test', () => { await page.getByTitle('multiline-test', { exact: true }).click(); // open environment dropdown - await expect(page.getByTitle('No Environment')).toBeVisible(); - await page.getByTitle('No Environment').click(); + await page.locator('div.current-environment.collection-environment').click(); // select test environment await expect(page.locator('.dropdown-item').filter({ hasText: 'Test' })).toBeVisible(); @@ -34,7 +33,6 @@ test.describe('Multiline Variables - Write Test', () => { const valueTextarea = page.locator('.bruno-modal-card textarea').last(); await expect(valueTextarea).toBeVisible(); - const jsonValue = `{ "user": { "name": "John Doe", diff --git a/e2e-tests/footer/notifications/notifications.spec.js b/tests/footer/notifications/notifications.spec.js similarity index 100% rename from e2e-tests/footer/notifications/notifications.spec.js rename to tests/footer/notifications/notifications.spec.js diff --git a/e2e-tests/footer/sidebar-toggle/sidebar-toggle.spec.js b/tests/footer/sidebar-toggle/sidebar-toggle.spec.js similarity index 100% rename from e2e-tests/footer/sidebar-toggle/sidebar-toggle.spec.js rename to tests/footer/sidebar-toggle/sidebar-toggle.spec.js diff --git a/e2e-tests/import-tests/bruno/001-import-bruno-testbench.spec.ts b/tests/import/bruno/001-import-bruno-testbench.spec.ts similarity index 100% rename from e2e-tests/import-tests/bruno/001-import-bruno-testbench.spec.ts rename to tests/import/bruno/001-import-bruno-testbench.spec.ts diff --git a/e2e-tests/import-tests/bruno/002-import-bruno-corrupted-fails.spec.ts b/tests/import/bruno/002-import-bruno-corrupted-fails.spec.ts similarity index 100% rename from e2e-tests/import-tests/bruno/002-import-bruno-corrupted-fails.spec.ts rename to tests/import/bruno/002-import-bruno-corrupted-fails.spec.ts diff --git a/e2e-tests/import-tests/bruno/003-import-bruno-missing-required-schema.spec.ts b/tests/import/bruno/003-import-bruno-missing-required-schema.spec.ts similarity index 100% rename from e2e-tests/import-tests/bruno/003-import-bruno-missing-required-schema.spec.ts rename to tests/import/bruno/003-import-bruno-missing-required-schema.spec.ts diff --git a/e2e-tests/import-tests/file-types/001-file-input-acceptance.spec.ts b/tests/import/file-types/001-file-input-acceptance.spec.ts similarity index 100% rename from e2e-tests/import-tests/file-types/001-file-input-acceptance.spec.ts rename to tests/import/file-types/001-file-input-acceptance.spec.ts diff --git a/e2e-tests/import-tests/file-types/002-invalid-file-handling.spec.ts b/tests/import/file-types/002-invalid-file-handling.spec.ts similarity index 100% rename from e2e-tests/import-tests/file-types/002-invalid-file-handling.spec.ts rename to tests/import/file-types/002-invalid-file-handling.spec.ts diff --git a/e2e-tests/import-tests/insomnia/001-import-insomnia-v4.spec.ts b/tests/import/insomnia/001-import-insomnia-v4.spec.ts similarity index 100% rename from e2e-tests/import-tests/insomnia/001-import-insomnia-v4.spec.ts rename to tests/import/insomnia/001-import-insomnia-v4.spec.ts diff --git a/e2e-tests/import-tests/insomnia/002-import-insomnia-v5.spec.ts b/tests/import/insomnia/002-import-insomnia-v5.spec.ts similarity index 100% rename from e2e-tests/import-tests/insomnia/002-import-insomnia-v5.spec.ts rename to tests/import/insomnia/002-import-insomnia-v5.spec.ts diff --git a/e2e-tests/import-tests/insomnia/003-invalid-missing-collection.spec.ts b/tests/import/insomnia/003-invalid-missing-collection.spec.ts similarity index 100% rename from e2e-tests/import-tests/insomnia/003-invalid-missing-collection.spec.ts rename to tests/import/insomnia/003-invalid-missing-collection.spec.ts diff --git a/e2e-tests/import-tests/insomnia/004-malformed-structure.spec.ts b/tests/import/insomnia/004-malformed-structure.spec.ts similarity index 100% rename from e2e-tests/import-tests/insomnia/004-malformed-structure.spec.ts rename to tests/import/insomnia/004-malformed-structure.spec.ts diff --git a/e2e-tests/import-tests/openapi/001-import-openapi-yaml.spec.ts b/tests/import/openapi/001-import-openapi-yaml.spec.ts similarity index 100% rename from e2e-tests/import-tests/openapi/001-import-openapi-yaml.spec.ts rename to tests/import/openapi/001-import-openapi-yaml.spec.ts diff --git a/e2e-tests/import-tests/openapi/002-import-openapi-json.spec.ts b/tests/import/openapi/002-import-openapi-json.spec.ts similarity index 100% rename from e2e-tests/import-tests/openapi/002-import-openapi-json.spec.ts rename to tests/import/openapi/002-import-openapi-json.spec.ts diff --git a/e2e-tests/import-tests/openapi/003-missing-info.spec.ts b/tests/import/openapi/003-missing-info.spec.ts similarity index 100% rename from e2e-tests/import-tests/openapi/003-missing-info.spec.ts rename to tests/import/openapi/003-missing-info.spec.ts diff --git a/e2e-tests/import-tests/openapi/004-malformed-yaml.spec.ts b/tests/import/openapi/004-malformed-yaml.spec.ts similarity index 100% rename from e2e-tests/import-tests/openapi/004-malformed-yaml.spec.ts rename to tests/import/openapi/004-malformed-yaml.spec.ts diff --git a/e2e-tests/import-tests/postman/001-import-postman-v21.spec.ts b/tests/import/postman/001-import-postman-v21.spec.ts similarity index 100% rename from e2e-tests/import-tests/postman/001-import-postman-v21.spec.ts rename to tests/import/postman/001-import-postman-v21.spec.ts diff --git a/e2e-tests/import-tests/postman/002-import-postman-v20.spec.ts b/tests/import/postman/002-import-postman-v20.spec.ts similarity index 100% rename from e2e-tests/import-tests/postman/002-import-postman-v20.spec.ts rename to tests/import/postman/002-import-postman-v20.spec.ts diff --git a/e2e-tests/import-tests/postman/003-invalid-missing-info.spec.ts b/tests/import/postman/003-invalid-missing-info.spec.ts similarity index 100% rename from e2e-tests/import-tests/postman/003-invalid-missing-info.spec.ts rename to tests/import/postman/003-invalid-missing-info.spec.ts diff --git a/e2e-tests/import-tests/postman/004-invalid-schema.spec.ts b/tests/import/postman/004-invalid-schema.spec.ts similarity index 100% rename from e2e-tests/import-tests/postman/004-invalid-schema.spec.ts rename to tests/import/postman/004-invalid-schema.spec.ts diff --git a/e2e-tests/import-tests/postman/005-malformed-structure.spec.ts b/tests/import/postman/005-malformed-structure.spec.ts similarity index 100% rename from e2e-tests/import-tests/postman/005-malformed-structure.spec.ts rename to tests/import/postman/005-malformed-structure.spec.ts diff --git a/e2e-tests/import-tests/postman/006-invalid-json.spec.ts b/tests/import/postman/006-invalid-json.spec.ts similarity index 100% rename from e2e-tests/import-tests/postman/006-invalid-json.spec.ts rename to tests/import/postman/006-invalid-json.spec.ts diff --git a/e2e-tests/import-tests/test-data/bruno-invalid-corrupted.json b/tests/import/test-data/bruno-invalid-corrupted.json similarity index 100% rename from e2e-tests/import-tests/test-data/bruno-invalid-corrupted.json rename to tests/import/test-data/bruno-invalid-corrupted.json diff --git a/e2e-tests/import-tests/test-data/bruno-malformed.json b/tests/import/test-data/bruno-malformed.json similarity index 100% rename from e2e-tests/import-tests/test-data/bruno-malformed.json rename to tests/import/test-data/bruno-malformed.json diff --git a/e2e-tests/import-tests/test-data/bruno-missing-required-fields.json b/tests/import/test-data/bruno-missing-required-fields.json similarity index 100% rename from e2e-tests/import-tests/test-data/bruno-missing-required-fields.json rename to tests/import/test-data/bruno-missing-required-fields.json diff --git a/e2e-tests/import-tests/test-data/bruno-testbench.json b/tests/import/test-data/bruno-testbench.json similarity index 100% rename from e2e-tests/import-tests/test-data/bruno-testbench.json rename to tests/import/test-data/bruno-testbench.json diff --git a/e2e-tests/import-tests/test-data/empty-file.json b/tests/import/test-data/empty-file.json similarity index 100% rename from e2e-tests/import-tests/test-data/empty-file.json rename to tests/import/test-data/empty-file.json diff --git a/e2e-tests/import-tests/test-data/insomnia-malformed.json b/tests/import/test-data/insomnia-malformed.json similarity index 100% rename from e2e-tests/import-tests/test-data/insomnia-malformed.json rename to tests/import/test-data/insomnia-malformed.json diff --git a/e2e-tests/import-tests/test-data/insomnia-v4.json b/tests/import/test-data/insomnia-v4.json similarity index 100% rename from e2e-tests/import-tests/test-data/insomnia-v4.json rename to tests/import/test-data/insomnia-v4.json diff --git a/e2e-tests/import-tests/test-data/insomnia-v5-invalid-missing-collection.yaml b/tests/import/test-data/insomnia-v5-invalid-missing-collection.yaml similarity index 100% rename from e2e-tests/import-tests/test-data/insomnia-v5-invalid-missing-collection.yaml rename to tests/import/test-data/insomnia-v5-invalid-missing-collection.yaml diff --git a/e2e-tests/import-tests/test-data/insomnia-v5.yaml b/tests/import/test-data/insomnia-v5.yaml similarity index 100% rename from e2e-tests/import-tests/test-data/insomnia-v5.yaml rename to tests/import/test-data/insomnia-v5.yaml diff --git a/e2e-tests/import-tests/test-data/invalid-json.json b/tests/import/test-data/invalid-json.json similarity index 100% rename from e2e-tests/import-tests/test-data/invalid-json.json rename to tests/import/test-data/invalid-json.json diff --git a/e2e-tests/import-tests/test-data/invalid.txt b/tests/import/test-data/invalid.txt similarity index 100% rename from e2e-tests/import-tests/test-data/invalid.txt rename to tests/import/test-data/invalid.txt diff --git a/e2e-tests/import-tests/test-data/openapi-comprehensive.yaml b/tests/import/test-data/openapi-comprehensive.yaml similarity index 100% rename from e2e-tests/import-tests/test-data/openapi-comprehensive.yaml rename to tests/import/test-data/openapi-comprehensive.yaml diff --git a/e2e-tests/import-tests/test-data/openapi-invalid-version.yaml b/tests/import/test-data/openapi-invalid-version.yaml similarity index 100% rename from e2e-tests/import-tests/test-data/openapi-invalid-version.yaml rename to tests/import/test-data/openapi-invalid-version.yaml diff --git a/e2e-tests/import-tests/test-data/openapi-malformed.yaml b/tests/import/test-data/openapi-malformed.yaml similarity index 100% rename from e2e-tests/import-tests/test-data/openapi-malformed.yaml rename to tests/import/test-data/openapi-malformed.yaml diff --git a/e2e-tests/import-tests/test-data/openapi-missing-info.yaml b/tests/import/test-data/openapi-missing-info.yaml similarity index 100% rename from e2e-tests/import-tests/test-data/openapi-missing-info.yaml rename to tests/import/test-data/openapi-missing-info.yaml diff --git a/e2e-tests/import-tests/test-data/openapi-simple.json b/tests/import/test-data/openapi-simple.json similarity index 100% rename from e2e-tests/import-tests/test-data/openapi-simple.json rename to tests/import/test-data/openapi-simple.json diff --git a/e2e-tests/import-tests/test-data/postman-invalid-missing-info.json b/tests/import/test-data/postman-invalid-missing-info.json similarity index 100% rename from e2e-tests/import-tests/test-data/postman-invalid-missing-info.json rename to tests/import/test-data/postman-invalid-missing-info.json diff --git a/e2e-tests/import-tests/test-data/postman-invalid-schema.json b/tests/import/test-data/postman-invalid-schema.json similarity index 100% rename from e2e-tests/import-tests/test-data/postman-invalid-schema.json rename to tests/import/test-data/postman-invalid-schema.json diff --git a/e2e-tests/import-tests/test-data/postman-malformed.json b/tests/import/test-data/postman-malformed.json similarity index 100% rename from e2e-tests/import-tests/test-data/postman-malformed.json rename to tests/import/test-data/postman-malformed.json diff --git a/e2e-tests/import-tests/test-data/postman-v20.json b/tests/import/test-data/postman-v20.json similarity index 100% rename from e2e-tests/import-tests/test-data/postman-v20.json rename to tests/import/test-data/postman-v20.json diff --git a/e2e-tests/import-tests/test-data/postman-v21.json b/tests/import/test-data/postman-v21.json similarity index 100% rename from e2e-tests/import-tests/test-data/postman-v21.json rename to tests/import/test-data/postman-v21.json diff --git a/e2e-tests/preferences/verify-support-links-in-preferences.spec.js b/tests/preferences/support-links.spec.js similarity index 94% rename from e2e-tests/preferences/verify-support-links-in-preferences.spec.js rename to tests/preferences/support-links.spec.js index 5f12a866c..623bc1c61 100644 --- a/e2e-tests/preferences/verify-support-links-in-preferences.spec.js +++ b/tests/preferences/support-links.spec.js @@ -1,13 +1,13 @@ import { test, expect } from '../../playwright'; test('Should verify all support links with correct URL in preference > Support tab', async ({ page }) => { - // Open Preferences await page.getByLabel('Open Preferences').click(); - // Verify Support tab + // Go to Support tab await page.getByRole('tab', { name: 'Support' }).click(); + // Verify all support links with correct URL const locator_twitter = page.getByRole('link', { name: 'Twitter' }); expect(await locator_twitter.getAttribute('href')).toEqual('https://twitter.com/use_bruno'); @@ -22,6 +22,4 @@ test('Should verify all support links with correct URL in preference > Support t const locator_documentation = page.getByRole('link', { name: 'Documentation', exact: true }); expect(await locator_documentation.getAttribute('href')).toEqual('https://docs.usebruno.com'); - - }); \ No newline at end of file diff --git a/e2e-tests/bruno-testbench/run-testbench-requests.spec.ts b/tests/runner/collection-run.ts similarity index 97% rename from e2e-tests/bruno-testbench/run-testbench-requests.spec.ts rename to tests/runner/collection-run.ts index 874c9f276..d683712de 100644 --- a/e2e-tests/bruno-testbench/run-testbench-requests.spec.ts +++ b/tests/runner/collection-run.ts @@ -1,6 +1,6 @@ import { test, expect } from '../../playwright'; -test.describe.parallel('Run Testbench Requests', () => { +test.describe.parallel('Collection Run', () => { test('Run bruno-testbench in Developer Mode', async ({ pageWithUserData: page }) => { test.setTimeout(2 * 60 * 1000); diff --git a/e2e-tests/bruno-testbench/init-user-data/preferences.json b/tests/runner/init-user-data/preferences.json similarity index 100% rename from e2e-tests/bruno-testbench/init-user-data/preferences.json rename to tests/runner/init-user-data/preferences.json diff --git a/e2e-tests/001-sanity-tests/001-home-screen.spec.ts b/tests/start/app-open.spec.ts similarity index 100% rename from e2e-tests/001-sanity-tests/001-home-screen.spec.ts rename to tests/start/app-open.spec.ts
Enabled