mirror of
https://github.com/usebruno/bruno.git
synced 2026-06-23 20:55:41 +00:00
chore: test fixes
This commit is contained in:
@@ -963,8 +963,9 @@ const clickResponseAction = async (page: Page, actionTestId: string) => {
|
||||
if (await actionButton.isVisible()) {
|
||||
await actionButton.click();
|
||||
} else {
|
||||
// Open the menu dropdown
|
||||
// Open the menu dropdown (wait for response pane to fully render)
|
||||
const menu = page.getByTestId('response-actions-menu');
|
||||
await menu.waitFor({ state: 'visible', timeout: 15000 });
|
||||
await menu.click();
|
||||
|
||||
// Click the corresponding menu item
|
||||
|
||||
@@ -2,6 +2,7 @@ import path from 'path';
|
||||
import fs from 'fs';
|
||||
import yaml from 'js-yaml';
|
||||
import { test, expect, closeElectronApp } from '../../../playwright';
|
||||
import { waitForReadyPage } from '../../utils/page';
|
||||
|
||||
type WorkspaceConfig = {
|
||||
opencollection?: string;
|
||||
@@ -28,8 +29,7 @@ test.describe('Create Workspace', () => {
|
||||
const wsLocation = await createTmpDir('ws-location-enter');
|
||||
|
||||
const app = await launchElectronApp({ initUserDataPath, templateVars: { wsLocation } });
|
||||
const page = await app.firstWindow();
|
||||
await page.locator('[data-app-state="loaded"]').waitFor({ timeout: 30000 });
|
||||
const page = await waitForReadyPage(app);
|
||||
|
||||
await test.step('Click "Create workspace" from title bar dropdown', async () => {
|
||||
await page.locator('.workspace-name-container').click();
|
||||
@@ -75,8 +75,7 @@ test.describe('Create Workspace', () => {
|
||||
const wsLocation = await createTmpDir('ws-location-check');
|
||||
|
||||
const app = await launchElectronApp({ initUserDataPath, templateVars: { wsLocation } });
|
||||
const page = await app.firstWindow();
|
||||
await page.locator('[data-app-state="loaded"]').waitFor({ timeout: 30000 });
|
||||
const page = await waitForReadyPage(app);
|
||||
|
||||
await test.step('Click "Create workspace" and fill name', async () => {
|
||||
await page.locator('.workspace-name-container').click();
|
||||
@@ -109,8 +108,7 @@ test.describe('Create Workspace', () => {
|
||||
const wsLocation = await createTmpDir('ws-location-outside');
|
||||
|
||||
const app = await launchElectronApp({ initUserDataPath, templateVars: { wsLocation } });
|
||||
const page = await app.firstWindow();
|
||||
await page.locator('[data-app-state="loaded"]').waitFor({ timeout: 30000 });
|
||||
const page = await waitForReadyPage(app);
|
||||
|
||||
await test.step('Create workspace and fill name', async () => {
|
||||
await page.locator('.workspace-name-container').click();
|
||||
@@ -139,8 +137,7 @@ test.describe('Create Workspace', () => {
|
||||
const wsLocation = await createTmpDir('ws-location-escape');
|
||||
|
||||
const app = await launchElectronApp({ initUserDataPath, templateVars: { wsLocation } });
|
||||
const page = await app.firstWindow();
|
||||
await page.locator('[data-app-state="loaded"]').waitFor({ timeout: 30000 });
|
||||
const page = await waitForReadyPage(app);
|
||||
|
||||
await test.step('Start workspace creation', async () => {
|
||||
await page.locator('.workspace-name-container').click();
|
||||
@@ -168,8 +165,7 @@ test.describe('Create Workspace', () => {
|
||||
const wsLocation = await createTmpDir('ws-location-x');
|
||||
|
||||
const app = await launchElectronApp({ initUserDataPath, templateVars: { wsLocation } });
|
||||
const page = await app.firstWindow();
|
||||
await page.locator('[data-app-state="loaded"]').waitFor({ timeout: 30000 });
|
||||
const page = await waitForReadyPage(app);
|
||||
|
||||
await test.step('Start workspace creation', async () => {
|
||||
await page.locator('.workspace-name-container').click();
|
||||
@@ -192,8 +188,7 @@ test.describe('Create Workspace', () => {
|
||||
const wsLocation = await createTmpDir('ws-location-outside-empty');
|
||||
|
||||
const app = await launchElectronApp({ initUserDataPath, templateVars: { wsLocation } });
|
||||
const page = await app.firstWindow();
|
||||
await page.locator('[data-app-state="loaded"]').waitFor({ timeout: 30000 });
|
||||
const page = await waitForReadyPage(app);
|
||||
|
||||
await test.step('Start workspace creation and clear the name', async () => {
|
||||
await page.locator('.workspace-name-container').click();
|
||||
@@ -221,8 +216,7 @@ test.describe('Create Workspace', () => {
|
||||
const customLocation = await createTmpDir('custom-ws-location');
|
||||
|
||||
const app = await launchElectronApp({ initUserDataPath, templateVars: { wsLocation } });
|
||||
const page = await app.firstWindow();
|
||||
await page.locator('[data-app-state="loaded"]').waitFor({ timeout: 30000 });
|
||||
const page = await waitForReadyPage(app);
|
||||
|
||||
await test.step('Start inline creation and click settings icon to open advanced modal', async () => {
|
||||
await page.locator('.workspace-name-container').click();
|
||||
@@ -296,8 +290,7 @@ test.describe('Create Workspace', () => {
|
||||
const wsLocation = await createTmpDir('ws-location-modal-default');
|
||||
|
||||
const app = await launchElectronApp({ initUserDataPath, templateVars: { wsLocation } });
|
||||
const page = await app.firstWindow();
|
||||
await page.locator('[data-app-state="loaded"]').waitFor({ timeout: 30000 });
|
||||
const page = await waitForReadyPage(app);
|
||||
|
||||
await test.step('Start inline creation and open advanced modal', async () => {
|
||||
await page.locator('.workspace-name-container').click();
|
||||
@@ -338,8 +331,7 @@ test.describe('Create Workspace', () => {
|
||||
const wsLocation = await createTmpDir('ws-location-modal-cancel');
|
||||
|
||||
const app = await launchElectronApp({ initUserDataPath, templateVars: { wsLocation } });
|
||||
const page = await app.firstWindow();
|
||||
await page.locator('[data-app-state="loaded"]').waitFor({ timeout: 30000 });
|
||||
const page = await waitForReadyPage(app);
|
||||
|
||||
await test.step('Start inline creation and open advanced modal', async () => {
|
||||
await page.locator('.workspace-name-container').click();
|
||||
@@ -366,8 +358,7 @@ test.describe('Create Workspace', () => {
|
||||
const wsLocation = await createTmpDir('ws-location-modal-empty');
|
||||
|
||||
const app = await launchElectronApp({ initUserDataPath, templateVars: { wsLocation } });
|
||||
const page = await app.firstWindow();
|
||||
await page.locator('[data-app-state="loaded"]').waitFor({ timeout: 30000 });
|
||||
const page = await waitForReadyPage(app);
|
||||
|
||||
await test.step('Start inline creation and open advanced modal', async () => {
|
||||
await page.locator('.workspace-name-container').click();
|
||||
@@ -438,8 +429,7 @@ test.describe('Create Workspace', () => {
|
||||
const wsLocation = await createTmpDir('ws-location-display');
|
||||
|
||||
const app = await launchElectronApp({ initUserDataPath, templateVars: { wsLocation } });
|
||||
const page = await app.firstWindow();
|
||||
await page.locator('[data-app-state="loaded"]').waitFor({ timeout: 30000 });
|
||||
const page = await waitForReadyPage(app);
|
||||
|
||||
await test.step('Create a workspace with specific name', async () => {
|
||||
await page.locator('.workspace-name-container').click();
|
||||
@@ -470,8 +460,7 @@ test.describe('Create Workspace', () => {
|
||||
|
||||
// First launch: create workspace
|
||||
const app1 = await launchElectronApp({ userDataPath, initUserDataPath, templateVars: { wsLocation } });
|
||||
const page1 = await app1.firstWindow();
|
||||
await page1.locator('[data-app-state="loaded"]').waitFor({ timeout: 30000 });
|
||||
const page1 = await waitForReadyPage(app1);
|
||||
|
||||
await test.step('Create workspace', async () => {
|
||||
await page1.locator('.workspace-name-container').click();
|
||||
@@ -487,8 +476,7 @@ test.describe('Create Workspace', () => {
|
||||
|
||||
// Second launch: verify name persists (reuse same userDataPath)
|
||||
const app2 = await launchElectronApp({ userDataPath });
|
||||
const page2 = await app2.firstWindow();
|
||||
await page2.locator('[data-app-state="loaded"]').waitFor({ timeout: 30000 });
|
||||
const page2 = await waitForReadyPage(app2);
|
||||
|
||||
await test.step('Verify workspace name persisted', async () => {
|
||||
await page2.locator('.workspace-name-container').click();
|
||||
@@ -505,8 +493,7 @@ test.describe('Create Workspace', () => {
|
||||
const wsLocation = await createTmpDir('ws-location-multiple');
|
||||
|
||||
const app = await launchElectronApp({ initUserDataPath, templateVars: { wsLocation } });
|
||||
const page = await app.firstWindow();
|
||||
await page.locator('[data-app-state="loaded"]').waitFor({ timeout: 30000 });
|
||||
const page = await waitForReadyPage(app);
|
||||
|
||||
await test.step('Create first workspace', async () => {
|
||||
await page.locator('.workspace-name-container').click();
|
||||
@@ -550,8 +537,7 @@ test.describe('Create Workspace', () => {
|
||||
const wsLocation = await createTmpDir('ws-location-cancel-retry');
|
||||
|
||||
const app = await launchElectronApp({ initUserDataPath, templateVars: { wsLocation } });
|
||||
const page = await app.firstWindow();
|
||||
await page.locator('[data-app-state="loaded"]').waitFor({ timeout: 30000 });
|
||||
const page = await waitForReadyPage(app);
|
||||
|
||||
await test.step('Start creation and cancel with Escape', async () => {
|
||||
await page.locator('.workspace-name-container').click();
|
||||
@@ -579,8 +565,7 @@ test.describe('Create Workspace', () => {
|
||||
const wsLocation = await createTmpDir('ws-location-special');
|
||||
|
||||
const app = await launchElectronApp({ initUserDataPath, templateVars: { wsLocation } });
|
||||
const page = await app.firstWindow();
|
||||
await page.locator('[data-app-state="loaded"]').waitFor({ timeout: 30000 });
|
||||
const page = await waitForReadyPage(app);
|
||||
|
||||
await test.step('Create workspace with special characters in name', async () => {
|
||||
await page.locator('.workspace-name-container').click();
|
||||
@@ -610,8 +595,7 @@ test.describe('Create Workspace', () => {
|
||||
const wsLocation = await createTmpDir('ws-location-empty');
|
||||
|
||||
const app = await launchElectronApp({ initUserDataPath, templateVars: { wsLocation } });
|
||||
const page = await app.firstWindow();
|
||||
await page.locator('[data-app-state="loaded"]').waitFor({ timeout: 30000 });
|
||||
const page = await waitForReadyPage(app);
|
||||
|
||||
await test.step('Create workspace and clear name', async () => {
|
||||
await page.locator('.workspace-name-container').click();
|
||||
@@ -639,8 +623,7 @@ test.describe('Create Workspace', () => {
|
||||
const wsLocation = await createTmpDir('ws-location-no-cog');
|
||||
|
||||
const app = await launchElectronApp({ initUserDataPath, templateVars: { wsLocation } });
|
||||
const page = await app.firstWindow();
|
||||
await page.locator('[data-app-state="loaded"]').waitFor({ timeout: 30000 });
|
||||
const page = await waitForReadyPage(app);
|
||||
|
||||
await test.step('Create a workspace first', async () => {
|
||||
await page.locator('.workspace-name-container').click();
|
||||
@@ -678,8 +661,7 @@ test.describe('Create Workspace', () => {
|
||||
const wsLocation = await createTmpDir('ws-location-switch');
|
||||
|
||||
const app = await launchElectronApp({ initUserDataPath, templateVars: { wsLocation } });
|
||||
const page = await app.firstWindow();
|
||||
await page.locator('[data-app-state="loaded"]').waitFor({ timeout: 30000 });
|
||||
const page = await waitForReadyPage(app);
|
||||
|
||||
await test.step('Create a new workspace', async () => {
|
||||
await page.locator('.workspace-name-container').click();
|
||||
@@ -715,8 +697,7 @@ test.describe('Create Workspace', () => {
|
||||
const wsLocation = await createTmpDir('ws-location-no-temp');
|
||||
|
||||
const app = await launchElectronApp({ initUserDataPath, templateVars: { wsLocation } });
|
||||
const page = await app.firstWindow();
|
||||
await page.locator('[data-app-state="loaded"]').waitFor({ timeout: 30000 });
|
||||
const page = await waitForReadyPage(app);
|
||||
|
||||
await test.step('Start creation but do not confirm', async () => {
|
||||
await page.locator('.workspace-name-container').click();
|
||||
|
||||
@@ -1,15 +1,14 @@
|
||||
import path from 'path';
|
||||
import fs from 'fs';
|
||||
import { test, expect, closeElectronApp } from '../../../playwright';
|
||||
import { waitForReadyPage } from '../../utils/page';
|
||||
|
||||
test.describe('Default Workspace', () => {
|
||||
test.describe('First Launch', () => {
|
||||
test('should create default workspace with "My Workspace" name on first launch', async ({ launchElectronApp, createTmpDir }) => {
|
||||
const userDataPath = await createTmpDir('default-workspace-first-launch');
|
||||
const app = await launchElectronApp({ userDataPath });
|
||||
const page = await app.firstWindow();
|
||||
|
||||
await page.locator('[data-app-state="loaded"]').waitFor({ timeout: 30000 });
|
||||
const page = await waitForReadyPage(app);
|
||||
|
||||
// Verify the workspace name is "My Workspace" in the title bar
|
||||
const workspaceName = page.getByTestId('workspace-name');
|
||||
@@ -25,16 +24,14 @@ test.describe('Default Workspace', () => {
|
||||
|
||||
// First launch
|
||||
const app1 = await launchElectronApp({ userDataPath });
|
||||
const page1 = await app1.firstWindow();
|
||||
await page1.locator('[data-app-state="loaded"]').waitFor({ timeout: 30000 });
|
||||
const page1 = await waitForReadyPage(app1);
|
||||
await expect(page1.getByTestId('workspace-name')).toHaveText('My Workspace');
|
||||
|
||||
await closeElectronApp(app1);
|
||||
|
||||
// Second launch - same workspace should be loaded
|
||||
const app2 = await launchElectronApp({ userDataPath });
|
||||
const page2 = await app2.firstWindow();
|
||||
await page2.locator('[data-app-state="loaded"]').waitFor({ timeout: 30000 });
|
||||
const page2 = await waitForReadyPage(app2);
|
||||
await expect(page2.getByTestId('workspace-name')).toHaveText('My Workspace');
|
||||
|
||||
await closeElectronApp(app2);
|
||||
@@ -63,8 +60,7 @@ test.describe('Default Workspace', () => {
|
||||
|
||||
// Launch app - should create NEW workspace
|
||||
const app = await launchElectronApp({ userDataPath });
|
||||
const page = await app.firstWindow();
|
||||
await page.locator('[data-app-state="loaded"]').waitFor({ timeout: 30000 });
|
||||
const page = await waitForReadyPage(app);
|
||||
|
||||
// Should show "My Workspace"
|
||||
await expect(page.getByTestId('workspace-name')).toHaveText('My Workspace');
|
||||
@@ -100,8 +96,7 @@ test.describe('Default Workspace', () => {
|
||||
|
||||
// Launch app - should create NEW workspace
|
||||
const app = await launchElectronApp({ userDataPath });
|
||||
const page = await app.firstWindow();
|
||||
await page.locator('[data-app-state="loaded"]').waitFor({ timeout: 30000 });
|
||||
const page = await waitForReadyPage(app);
|
||||
|
||||
await expect(page.getByTestId('workspace-name')).toHaveText('My Workspace');
|
||||
|
||||
@@ -143,8 +138,7 @@ docs: ''
|
||||
|
||||
// Launch app
|
||||
const app = await launchElectronApp({ userDataPath });
|
||||
const page = await app.firstWindow();
|
||||
await page.locator('[data-app-state="loaded"]').waitFor({ timeout: 30000 });
|
||||
const page = await waitForReadyPage(app);
|
||||
|
||||
await expect(page.getByTestId('workspace-name')).toHaveText('My Workspace');
|
||||
|
||||
@@ -171,8 +165,7 @@ docs: ''
|
||||
|
||||
// Launch app
|
||||
const app = await launchElectronApp({ userDataPath });
|
||||
const page = await app.firstWindow();
|
||||
await page.locator('[data-app-state="loaded"]').waitFor({ timeout: 30000 });
|
||||
const page = await waitForReadyPage(app);
|
||||
|
||||
await expect(page.getByTestId('workspace-name')).toHaveText('My Workspace');
|
||||
|
||||
@@ -189,9 +182,7 @@ docs: ''
|
||||
test('should display default workspace in workspace dropdown', async ({ launchElectronApp, createTmpDir }) => {
|
||||
const userDataPath = await createTmpDir('default-workspace-ui-dropdown');
|
||||
const app = await launchElectronApp({ userDataPath });
|
||||
const page = await app.firstWindow();
|
||||
|
||||
await page.locator('[data-app-state="loaded"]').waitFor({ timeout: 30000 });
|
||||
const page = await waitForReadyPage(app);
|
||||
|
||||
// Click on workspace name to open dropdown
|
||||
await page.locator('.workspace-name-container').click();
|
||||
@@ -206,9 +197,7 @@ docs: ''
|
||||
test('should not show pin button for default workspace', async ({ launchElectronApp, createTmpDir }) => {
|
||||
const userDataPath = await createTmpDir('default-workspace-ui-no-pin');
|
||||
const app = await launchElectronApp({ userDataPath });
|
||||
const page = await app.firstWindow();
|
||||
|
||||
await page.locator('[data-app-state="loaded"]').waitFor({ timeout: 30000 });
|
||||
const page = await waitForReadyPage(app);
|
||||
|
||||
await page.locator('.workspace-name-container').click();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user