mirror of
https://github.com/usebruno/bruno.git
synced 2026-06-25 21:55:49 +00:00
* fix(timeline): scope scripted requests to their own request * fix: oauth playwright test
55 lines
2.1 KiB
TypeScript
55 lines
2.1 KiB
TypeScript
import { test, expect } from '../../../playwright';
|
|
import {
|
|
closeAllCollections,
|
|
createCollection,
|
|
createRequest,
|
|
openRequest,
|
|
addPreRequestScript,
|
|
saveRequest,
|
|
sendRequest,
|
|
selectResponsePaneTab
|
|
} from '../../utils/page/actions';
|
|
|
|
test.describe('Timeline — bru.runRequest skips unsupported item types', () => {
|
|
test.afterEach(async ({ page }) => {
|
|
await closeAllCollections(page);
|
|
});
|
|
|
|
test('shows Skipped rows for WS and gRPC targets', async ({ page, createTmpDir }) => {
|
|
const collectionName = 'runrequest-skip';
|
|
const driver = 'driver';
|
|
|
|
await test.step('Create collection with HTTP driver + WS and gRPC targets', async () => {
|
|
await createCollection(page, collectionName, await createTmpDir(collectionName));
|
|
await createRequest(page, driver, collectionName, { url: 'http://localhost:8081/ping' });
|
|
await createRequest(page, 'ws-target', collectionName, { url: 'ws://localhost:8081/ws', requestType: 'ws' });
|
|
await createRequest(page, 'grpc-target', collectionName, { url: 'grpc://localhost:50051', requestType: 'grpc' });
|
|
});
|
|
|
|
await test.step('Pre-request script calls bru.runRequest on both unsupported targets', async () => {
|
|
await openRequest(page, collectionName, driver);
|
|
await addPreRequestScript(
|
|
page,
|
|
`await bru.runRequest("ws-target");\nawait bru.runRequest("grpc-target");`
|
|
);
|
|
await saveRequest(page);
|
|
});
|
|
|
|
await test.step('Send driver request', async () => {
|
|
await sendRequest(page, 200);
|
|
});
|
|
|
|
await test.step('Timeline has main + two Skipped runRequest rows', async () => {
|
|
await selectResponsePaneTab(page, 'Timeline');
|
|
|
|
const rows = page.getByTestId('timeline-container').getByTestId('timeline-entry');
|
|
await expect(rows).toHaveCount(3);
|
|
|
|
const skippedRows = rows.filter({ has: page.getByTestId('timeline-badge-post') });
|
|
await expect(skippedRows).toHaveCount(2);
|
|
await expect(skippedRows.nth(0).getByTestId('timeline-status')).toContainText('Skipped');
|
|
await expect(skippedRows.nth(1).getByTestId('timeline-status')).toContainText('Skipped');
|
|
});
|
|
});
|
|
});
|