mirror of
https://github.com/usebruno/bruno.git
synced 2026-06-11 09:51:30 +00:00
chore: refactor few flaky tests (#5958)
This commit is contained in:
@@ -16,7 +16,6 @@ test.describe('Create GraphQL Requests', () => {
|
||||
await locators.modal.button('Delete').click();
|
||||
|
||||
// Clean up Folder GraphQL Request
|
||||
await locators.sidebar.folder('folder1').click();
|
||||
await locators.sidebar.request('Folder GraphQL Request').click({ button: 'right' });
|
||||
await locators.dropdown.item('Delete').click();
|
||||
await locators.modal.button('Delete').click();
|
||||
@@ -73,15 +72,11 @@ test.describe('Create GraphQL Requests', () => {
|
||||
await test.step('Verify GraphQL request was created within folder1', async () => {
|
||||
// Open collection and verify request is not in collection root
|
||||
await locators.sidebar.collection('create-requests').click();
|
||||
const requestItem = locators.sidebar.request('Folder GraphQL Request');
|
||||
await expect(requestItem).not.toBeVisible();
|
||||
|
||||
// Open folder1 and verify request is present in folder1
|
||||
await locators.sidebar.folder('folder1').click();
|
||||
await expect(requestItem).toBeVisible();
|
||||
const folderRequestItem = locators.sidebar.folderRequest('folder1', 'Folder GraphQL Request');
|
||||
await expect(folderRequestItem).toBeVisible();
|
||||
|
||||
// Open request and verify it is the active request
|
||||
await requestItem.click();
|
||||
await folderRequestItem.click();
|
||||
await expect(locators.tabs.activeRequestTab()).toContainText('Folder GraphQL Request');
|
||||
});
|
||||
});
|
||||
|
||||
@@ -18,7 +18,6 @@ test.describe('Create gRPC Requests', () => {
|
||||
await locators.modal.button('Delete').click();
|
||||
|
||||
// Clean up Folder gRPC Request
|
||||
await locators.sidebar.folder('folder1').click();
|
||||
await locators.sidebar.request('Folder gRPC Request').click({ button: 'right' });
|
||||
await locators.dropdown.item('Delete').click();
|
||||
await locators.modal.button('Delete').click();
|
||||
@@ -58,7 +57,6 @@ test.describe('Create gRPC Requests', () => {
|
||||
await locators.sidebar.folder('folder1').click();
|
||||
const folderRequestItem = locators.sidebar.folderRequest('folder1', 'Root gRPC Request');
|
||||
await expect(folderRequestItem).not.toBeVisible();
|
||||
await locators.folder.chevron('folder1').click(); // close folder1
|
||||
});
|
||||
|
||||
await test.step('Create gRPC request via folder1 three dots menu', async () => {
|
||||
@@ -76,15 +74,11 @@ test.describe('Create gRPC Requests', () => {
|
||||
await test.step('Verify gRPC request was created within folder1', async () => {
|
||||
// Open collection and verify request is not in collection root
|
||||
await locators.sidebar.collection('create-requests').click();
|
||||
const requestItem = locators.sidebar.request('Folder gRPC Request');
|
||||
await expect(requestItem).not.toBeVisible();
|
||||
|
||||
// Open folder1 and verify request is present in folder1
|
||||
await locators.sidebar.folder('folder1').click();
|
||||
await expect(requestItem).toBeVisible();
|
||||
const folderRequestItem = locators.sidebar.folderRequest('folder1', 'Folder gRPC Request');
|
||||
await expect(folderRequestItem).toBeVisible();
|
||||
|
||||
// Open request and verify it is the active request
|
||||
await requestItem.click();
|
||||
await folderRequestItem.click();
|
||||
await expect(locators.tabs.activeRequestTab()).toContainText('Folder gRPC Request');
|
||||
});
|
||||
});
|
||||
|
||||
@@ -18,7 +18,6 @@ test.describe('Create HTTP Requests', () => {
|
||||
await locators.modal.button('Delete').click();
|
||||
|
||||
// Clean up Folder HTTP Request
|
||||
await locators.sidebar.folder('folder1').click();
|
||||
await locators.sidebar.request('Folder HTTP Request').click({ button: 'right' });
|
||||
await locators.dropdown.item('Delete').click();
|
||||
await locators.modal.button('Delete').click();
|
||||
@@ -73,15 +72,11 @@ test.describe('Create HTTP Requests', () => {
|
||||
await test.step('Verify HTTP request was created within folder1', async () => {
|
||||
// Open collection and verify request is not in collection root
|
||||
await locators.sidebar.collection('create-requests').click();
|
||||
const requestItem = locators.sidebar.request('Folder HTTP Request');
|
||||
await expect(requestItem).not.toBeVisible();
|
||||
|
||||
// Open folder1 and verify request is present in folder1
|
||||
await locators.sidebar.folder('folder1').click();
|
||||
await expect(requestItem).toBeVisible();
|
||||
const folderRequestItem = locators.sidebar.folderRequest('folder1', 'Folder HTTP Request');
|
||||
await expect(folderRequestItem).toBeVisible();
|
||||
|
||||
// Open request and verify it is the active request
|
||||
await requestItem.click();
|
||||
await folderRequestItem.click();
|
||||
await expect(locators.tabs.activeRequestTab()).toContainText('Folder HTTP Request');
|
||||
});
|
||||
});
|
||||
|
||||
@@ -13,7 +13,6 @@ test.describe('Create WebSocket Requests', () => {
|
||||
const locators = buildCommonLocators(page);
|
||||
|
||||
// Clean up Folder WebSocket Request
|
||||
await locators.sidebar.folder('folder1').click();
|
||||
await locators.sidebar.request('Folder WebSocket Request').click({ button: 'right' });
|
||||
await locators.dropdown.item('Delete').click();
|
||||
await locators.modal.button('Delete').click();
|
||||
@@ -75,15 +74,11 @@ test.describe('Create WebSocket Requests', () => {
|
||||
await test.step('Verify WebSocket request was created within folder1', async () => {
|
||||
// Open collection and verify request is not in collection root
|
||||
await locators.sidebar.collection('create-requests').click();
|
||||
const requestItem = locators.sidebar.request('Folder WebSocket Request');
|
||||
await expect(requestItem).not.toBeVisible();
|
||||
|
||||
// Open folder1 and verify request is present in folder1
|
||||
await locators.sidebar.folder('folder1').click();
|
||||
await expect(requestItem).toBeVisible();
|
||||
const folderRequestItem = locators.sidebar.folderRequest('folder1', 'Folder WebSocket Request');
|
||||
await expect(folderRequestItem).toBeVisible();
|
||||
|
||||
// Open request and verify it is the active request
|
||||
await requestItem.click();
|
||||
await folderRequestItem.click();
|
||||
await expect(locators.tabs.activeRequestTab()).toContainText('Folder WebSocket Request');
|
||||
});
|
||||
});
|
||||
|
||||
@@ -1,26 +1,29 @@
|
||||
import { test, expect } from '../../playwright';
|
||||
import { closeAllCollections, createCollection } from '../utils/page/actions';
|
||||
|
||||
test.describe('Large Response Crash/High Memory Usage Prevention', () => {
|
||||
test.afterAll(async ({ page }) => {
|
||||
// cleanup: close all collections
|
||||
await closeAllCollections(page);
|
||||
});
|
||||
|
||||
test('Show appropriate warning for responses over 10MB', async ({ page, createTmpDir }) => {
|
||||
const collectionName = 'size-warning-test';
|
||||
|
||||
test.describe('Large Response Crash Prevention', () => {
|
||||
test('should show appropriate warning for responses over 10MB', async ({ page, createTmpDir }) => {
|
||||
// Create collection
|
||||
await page.getByLabel('Create Collection').click();
|
||||
await page.getByLabel('Name').fill('size-warning-test');
|
||||
await page.getByLabel('Name').press('Tab');
|
||||
await page.getByLabel('Location').fill(await createTmpDir('size-warning-test'));
|
||||
await page.getByRole('button', { name: 'Create', exact: true }).click();
|
||||
await page.getByText('size-warning-test').click();
|
||||
await page.getByLabel('Safe Mode').check();
|
||||
await page.getByRole('button', { name: 'Save' }).click();
|
||||
await createCollection(page, collectionName, createTmpDir);
|
||||
|
||||
// Create request
|
||||
await page.locator('#create-new-tab').getByRole('img').click();
|
||||
await page.getByPlaceholder('Request Name').fill('size-check');
|
||||
await page.locator('#new-request-url .CodeMirror').click();
|
||||
await page.locator('textarea').fill('https://samples.json-format.com/employees/json/employees_50MB.json');
|
||||
await page.getByRole('button', { name: 'Create' }).click();
|
||||
|
||||
const createRequestModal = page.locator('.bruno-modal-card').filter({ hasText: 'New Request' });
|
||||
await createRequestModal.getByPlaceholder('Request Name').fill('size-check');
|
||||
await createRequestModal.locator('#new-request-url .CodeMirror').click();
|
||||
await createRequestModal.locator('textarea').fill('https://samples.json-format.com/employees/json/employees_50MB.json');
|
||||
await createRequestModal.getByRole('button', { name: 'Create' }).click();
|
||||
|
||||
// Send request
|
||||
const sendButton = page.locator('#send-request').getByRole('img').nth(2);
|
||||
const sendButton = page.getByTestId('send-arrow-icon');
|
||||
await sendButton.click();
|
||||
|
||||
// Verify warning appears
|
||||
@@ -32,7 +35,5 @@ test.describe('Large Response Crash Prevention', () => {
|
||||
|
||||
// Verify action button
|
||||
await expect(page.getByRole('button', { name: 'View' })).toBeVisible();
|
||||
|
||||
console.log('Large response warning displayed correctly');
|
||||
});
|
||||
});
|
||||
|
||||
@@ -46,15 +46,18 @@ const openCollectionAndAcceptSandbox = async (page, collectionName: string, sand
|
||||
};
|
||||
|
||||
const createCollection = async (page, collectionName: string, createDir: (tag?: string | undefined) => Promise<string>) => {
|
||||
await page.locator('.dropdown-icon').click();
|
||||
await page.locator('.dropdown-item').filter({ hasText: 'Create Collection' }).click();
|
||||
await page.getByLabel('Name').fill(collectionName);
|
||||
await page.getByLabel('Location').fill(await createDir(collectionName));
|
||||
await page.getByRole('button', { name: 'Create', exact: true }).click();
|
||||
await expect(page.locator('#sidebar-collection-name').filter({ hasText: collectionName })).toBeVisible();
|
||||
await page.locator('#sidebar-collection-name').filter({ hasText: collectionName }).click();
|
||||
await page.getByLabel('Safe Mode').check();
|
||||
await page.getByRole('button', { name: 'Save' }).click();
|
||||
test.step(`Create collection "${collectionName}" and accept sandbox "safe" mode`, async () => {
|
||||
await page.locator('.collection-dropdown .dropdown-icon').click();
|
||||
await page.locator('.tippy-box .dropdown-item').filter({ hasText: 'Create Collection' }).click();
|
||||
|
||||
const createCollectionModal = page.locator('.bruno-modal-card').filter({ hasText: 'Create Collection' });
|
||||
|
||||
await createCollectionModal.getByLabel('Name').fill(collectionName);
|
||||
await createCollectionModal.getByLabel('Location').fill(await createDir(collectionName));
|
||||
await createCollectionModal.getByRole('button', { name: 'Create', exact: true }).click();
|
||||
|
||||
await openCollectionAndAcceptSandbox(page, collectionName, 'safe');
|
||||
});
|
||||
};
|
||||
|
||||
export { closeAllCollections, openCollectionAndAcceptSandbox, createCollection };
|
||||
|
||||
Reference in New Issue
Block a user