detectNegativeAssertions function exported ✓ 100.0%

Last updated: 2026-03-01T23:25:47.081Z

Metrics

LOC: 41 Complexity: 4 Params: 2 Coverage: 100.0% (10/10 lines, 5x executed)

Signature

detectNegativeAssertions( actions: CapturedAction[], ): : E2EAssertion[]

Summary

Generates negative-test assertions for required fields. When required fields are left empty, validation errors should appear.

Source Code

export function detectNegativeAssertions(
  actions: CapturedAction[],
): E2EAssertion[] {
  const assertions: E2EAssertion[] = [];

  const requiredActions = actions.filter((a) => a.required);
  if (requiredActions.length === 0) return assertions;

  // Expect validation error containers
  const errorSelectors = [
    ".field-error",
    ".error-message",
    ".invalid-feedback",
    ".form-error",
    "[role='alert']",
    ".ant-form-item-explain-error",
    ".MuiFormHelperText-root.Mui-error",
    ".text-danger",
    ".text-red-500",
  ];

  for (const sel of errorSelectors) {
    if (document.querySelector(sel)) {
      assertions.push({
        type: "field-error",
        selector: sel,
        description:
          "Validation error should be visible for empty required fields",
      });
      break;
    }
  }

  // Generic: at least one required field should trigger browser validation
  assertions.push({
    type: "visible-text",
    description: "Required field validation should prevent submission",
  });

  return assertions;
}

No outgoing dependencies.

Impact (Incoming)

graph LR detectNegativeAssertions["detectNegativeAssertions"] FillableElement["FillableElement"] FillableElement -->|uses| detectNegativeAssertions style detectNegativeAssertions fill:#dbeafe,stroke:#2563eb,stroke-width:2px click detectNegativeAssertions "abb9d042f2320328.html" click FillableElement "2ecf5aaac3f668a8.html"
SourceType
FillableElement uses