mirror of
https://github.com/usebruno/bruno.git
synced 2026-06-15 20:01:28 +00:00
* added jsonwebtoken as inbuilt library * removed bundling * handle callback in quickjs * chore: tests folder restructure * chore: lint fix --------- Co-authored-by: Sid <siddharth@usebruno.com>
65 lines
2.8 KiB
TypeScript
65 lines
2.8 KiB
TypeScript
import { test, expect } from '../../../../playwright';
|
|
|
|
test.describe.serial('jwt collection success', () => {
|
|
test('developer mode', async ({ pageWithUserData: page }) => {
|
|
// init dev mode
|
|
await page.getByTitle('jsonwebtoken').click();
|
|
await page.getByLabel('Developer Mode(use only if').check();
|
|
await page.getByRole('button', { name: 'Save' }).click();
|
|
|
|
test.setTimeout(2 * 60 * 1000);
|
|
|
|
// Run the collection
|
|
await page.locator('.collection-actions').hover();
|
|
await page.locator('.collection-actions .icon').click();
|
|
await page.getByText('Run', { exact: true }).click();
|
|
await page.getByRole('button', { name: 'Run Collection' }).click();
|
|
await page.getByRole('button', { name: 'Run Again' }).waitFor({ timeout: 2 * 60 * 1000 });
|
|
|
|
// Parse and validate test results
|
|
const result = await page.getByText('Total Requests: ').innerText();
|
|
const matches = result.match(/Total Requests: (\d+), Passed: (\d+), Failed: (\d+), Skipped: (\d+)/);
|
|
if (!matches) {
|
|
throw new Error('Could not parse test results');
|
|
}
|
|
const [totalRequests, passed, failed, skipped] = matches.slice(1);
|
|
|
|
await expect(parseInt(totalRequests)).toBe(7);
|
|
await expect(parseInt(passed)).toBe(7);
|
|
await expect(parseInt(failed)).toBe(0);
|
|
await expect(parseInt(skipped)).toBe(0);
|
|
await expect(parseInt(passed)).toBe(parseInt(totalRequests) - parseInt(skipped) - parseInt(failed));
|
|
});
|
|
|
|
test('safe mode', async ({ pageWithUserData: page }) => {
|
|
// init safe mode
|
|
await page.getByTitle('jsonwebtoken').click();
|
|
await page.getByText('Developer Mode').click();
|
|
await page.getByLabel('Safe Mode').check();
|
|
await page.getByRole('button', { name: 'Save' }).click();
|
|
|
|
test.setTimeout(2 * 60 * 1000);
|
|
|
|
// Run the collection
|
|
await page.locator('.collection-actions').hover();
|
|
await page.locator('.collection-actions .icon').click();
|
|
await page.getByText('Run', { exact: true }).click();
|
|
await page.getByRole('button', { name: 'Run Collection' }).click();
|
|
await page.getByRole('button', { name: 'Run Again' }).waitFor({ timeout: 2 * 60 * 1000 });
|
|
|
|
// Parse and validate test results
|
|
const result = await page.getByText('Total Requests: ').innerText();
|
|
const matches = result.match(/Total Requests: (\d+), Passed: (\d+), Failed: (\d+), Skipped: (\d+)/);
|
|
if (!matches) {
|
|
throw new Error('Could not parse test results');
|
|
}
|
|
const [totalRequests, passed, failed, skipped] = matches.slice(1);
|
|
|
|
await expect(parseInt(totalRequests)).toBe(7);
|
|
await expect(parseInt(passed)).toBe(7);
|
|
await expect(parseInt(failed)).toBe(0);
|
|
await expect(parseInt(skipped)).toBe(0);
|
|
await expect(parseInt(passed)).toBe(parseInt(totalRequests) - parseInt(skipped) - parseInt(failed));
|
|
});
|
|
});
|