Helper Functions
storeTestResult<T>(key, status, data?, error?)
Store a test result for other tests.
import { storeTestResult } from 'playwright-relay';
test('create user', async () => {
const user = await createUser();
storeTestResult('create user', 'passed', user);
});
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
key |
string |
Yes | Test identifier |
status |
TestStatus |
Yes | 'passed', 'failed', 'skipped' |
data |
T |
No | Data to store |
error |
Error |
No | Error if failed |
getTestResult<T>(key)
Get a stored test result data.
import { getTestResult } from 'playwright-relay';
const user = getTestResult<User>('create user');
// Returns undefined if not found
getTestResultOrThrow<T>(key)
Get a stored test result or throw if not found/failed.
import { getTestResultOrThrow } from 'playwright-relay';
// Throws if 'create user' hasn't run or failed
const user = getTestResultOrThrow<User>('create user');
initializeRelay(config)
Initialize relay with configuration. Called automatically by withRelay().
import { initializeRelay } from 'playwright-relay';
initializeRelay({
persistCache: true,
cacheFilePath: './cache.json',
validateDependencies: true,
});
withRelay(config)
Wrap Playwright config with relay options.
import { defineConfig } from '@playwright/test';
import { withRelay } from 'playwright-relay';
export default defineConfig(withRelay({
testDir: './tests',
}, {
dependencyTimeout: 60000,
persistCache: true,
}));
validateDependencies(testFiles)
Validate all @depends annotations before running tests.
import { validateDependencies } from 'playwright-relay';
const result = validateDependencies(['./tests/**/*.spec.ts']);
if (!result.valid) {
for (const error of result.errors) {
console.error(`${error.testKey}: ${error.message}`);
}
}
validateDependenciesOrThrow(testFiles)
Validate dependencies and throw if any are invalid.
import { validateDependenciesOrThrow } from 'playwright-relay';
// Throws if dependencies are invalid - good for CI
validateDependenciesOrThrow(['./tests/**/*.spec.ts']);
clearJsDocCache()
Clear the JSDoc dependencies cache.
relayTest(title, fn)
Alternative test wrapper with auto-storage.