generateNegativeTest function test ✓ 100.0%
Last updated: 2026-03-01T23:25:47.084Z
Metrics
LOC: 38
Complexity: 6
Params: 4
Coverage: 100.0% (11/11 lines, 3x executed)
Signature
generateNegativeTest(
actions: CapturedAction[],
options: E2EGenerateOptions,
useSmartSelectors: boolean,
): : string
Source Code
function generateNegativeTest(
actions: CapturedAction[],
options: E2EGenerateOptions,
useSmartSelectors: boolean,
): string {
const requiredActions = actions.filter((a) => a.required);
if (requiredActions.length === 0) return "";
const urlLine = options.pageUrl
? ` await page.goto('${escapeString(options.pageUrl)}');\n\n`
: "";
const submitAction = actions.find(
(a) => a.actionType === "click" || a.actionType === "submit",
);
const submitLine = submitAction
? `\n await page.locator('${escapeString(resolveSelector(submitAction, useSmartSelectors))}').click();`
: "";
const assertionLines = (options.assertions ?? [])
.filter((a) => a.type === "field-error")
.map(assertionLine);
return [
``,
`test('should show validation errors for empty required fields', async ({ page }) => {`,
urlLine + ` // Leave required fields empty and submit` + submitLine,
``,
...assertionLines,
` // Required fields should show validation`,
...requiredActions.map((a) => {
const sel = escapeString(resolveSelector(a, useSmartSelectors));
return ` await expect(page.locator('${sel}')).toHaveAttribute('required', '');`;
}),
`});`,
].join("\n");
}
Dependencies (Outgoing)
| Target | Type |
|---|---|
| escapeString | calls |
| resolveSelector | calls |