mirror of
https://github.com/inventree/InvenTree.git
synced 2025-06-19 21:45:39 +00:00
* add coverage to PUI * fix testing command * always do all steps * fix test assumptions * add test for serving and logging into pui from django / cui tech stack * fix up coverage * fix intentation * remove paralell flags * remove coverage finish step * remove flag * change names * add full clickdown test * more tests * more tests * sprinkle in some timeouts * try using admin * disable page 1 tests for now * remove additional tests for now * only build sourcemaps if coverage is enabled * fix sourcemap assumption * add more tests * fix test * Update package.json * move tests to seperate file * rename test files * move defaults to seperate file * centralise user creds * lower migration level * re-add page 1 * rename and split tests * split out problematic test * Add thumbnail building step * remove unneded steps * fix filename * add more logging * add sourounding table * add missing tabs * wait instead of click * fix test * split tests out more * disable test for stock * tes part sub-pages * split tests more * add company tests * more sales testing * split parts testing * Add test for settings + admin center
57 lines
1.5 KiB
TypeScript
57 lines
1.5 KiB
TypeScript
import { test as baseTest } from '@playwright/test';
|
|
import * as crypto from 'crypto';
|
|
import * as fs from 'fs';
|
|
import os from 'os';
|
|
import * as path from 'path';
|
|
|
|
const istanbulCLIOutput = path.join(process.cwd(), '.nyc_output');
|
|
let platform = os.platform();
|
|
let systemKeyVar;
|
|
if (platform === 'darwin') {
|
|
systemKeyVar = 'Meta';
|
|
} else {
|
|
systemKeyVar = 'Control';
|
|
}
|
|
/* metaKey is the local action key (used for spotlight for example) */
|
|
export const systemKey = systemKeyVar;
|
|
|
|
export function generateUUID(): string {
|
|
return crypto.randomBytes(16).toString('hex');
|
|
}
|
|
|
|
export const test = baseTest.extend({
|
|
context: async ({ context }, use) => {
|
|
await context.addInitScript(() =>
|
|
window.addEventListener('beforeunload', () =>
|
|
(window as any).collectIstanbulCoverage(
|
|
JSON.stringify((window as any).__coverage__)
|
|
)
|
|
)
|
|
);
|
|
await fs.promises.mkdir(istanbulCLIOutput, { recursive: true });
|
|
await context.exposeFunction(
|
|
'collectIstanbulCoverage',
|
|
(coverageJSON: string) => {
|
|
if (coverageJSON)
|
|
fs.writeFileSync(
|
|
path.join(
|
|
istanbulCLIOutput,
|
|
`playwright_coverage_${generateUUID()}.json`
|
|
),
|
|
coverageJSON
|
|
);
|
|
}
|
|
);
|
|
await use(context);
|
|
for (const page of context.pages()) {
|
|
await page.evaluate(() =>
|
|
(window as any).collectIstanbulCoverage(
|
|
JSON.stringify((window as any).__coverage__)
|
|
)
|
|
);
|
|
}
|
|
}
|
|
});
|
|
|
|
export const expect = test.expect;
|