generateNegativeTest function test ✓ 100.0%
Last updated: 2026-03-01T23:25:47.083Z
Metrics
LOC: 41
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 visitLine = options.pageUrl
? ` ->visit('${escapeString(options.pageUrl)}')\n`
: "";
const submitAction = actions.find(
(a) => a.actionType === "click" || a.actionType === "submit",
);
const submitLine = submitAction
? ` ->click('${escapeString(resolveSelector(submitAction, useSmartSelectors))}')\n`
: "";
const assertionLines = (options.assertions ?? [])
.filter((a) => a.type === "field-error")
.map(assertionLine);
return [
``,
`test('should show validation errors for empty required fields', function () {`,
` $this->browse(function (Browser $browser) {`,
` $browser`,
visitLine +
` // Leave required fields empty and submit\n` +
submitLine,
...assertionLines,
...requiredActions.map((a) => {
const sel = escapeString(resolveSelector(a, useSmartSelectors));
return ` ->assertAttribute('${sel}', 'required', '')`;
}),
` ;`,
` });`,
`});`,
].join("\n");
}
Dependencies (Outgoing)
| Target | Type |
|---|---|
| escapeString | calls |
| resolveSelector | calls |
No incoming dependencies.