assertionLine function ~ 76.9%

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

Metrics

LOC: 32 Complexity: 24 Params: 1 Coverage: 76.9% (10/13 lines, 14x executed)

Signature

assertionLine(assertion: E2EAssertion): : string

Architecture violations

View all

  • [warning] max-cyclomatic-complexity: 'assertionLine' has cyclomatic complexity 24 (max 10)

Source Code

function assertionLine(assertion: E2EAssertion): string {
  switch (assertion.type) {
    case "url-changed":
      return `            ->assertUrlIsNot('${escapeString(assertion.expected ?? "")}')`;
    case "url-contains":
      return `            ->assertPathContains('${escapeString(assertion.expected ?? "")}')`;
    case "visible-text":
      return assertion.expected
        ? `            ->assertSee('${escapeString(assertion.expected)}')`
        : `            // Expect visible validation feedback`;
    case "element-visible":
      return `            ->assertVisible('${escapeString(assertion.selector ?? "")}')`;
    case "element-hidden":
      return `            ->assertMissing('${escapeString(assertion.selector ?? "")}')`;
    case "toast-message":
      return `            ->assertVisible('${escapeString(assertion.selector ?? "[role=\\'alert\\']")}')`;
    case "field-value":
      return `            ->assertInputValue('${escapeString(assertion.selector ?? "")}', '${escapeString(assertion.expected ?? "")}')`;
    case "field-error":
      return `            ->assertVisible('${escapeString(assertion.selector ?? "")}')`;
    case "redirect":
      return `            ->assertPathContains('${escapeString(assertion.expected ?? "")}')`;
    case "response-ok": {
      const url = escapeString(assertion.selector ?? "");
      const status = assertion.expected ?? "200";
      return [
        `            // HTTP response assertion: ${assertion.description ?? `${url} \u2192 ${status}`}`,
        `            // $browser->assertStatus(${status}); // use after visiting the response URL directly`,
      ].join("\n");
    }
  }
}

Dependencies (Outgoing)

graph LR assertionLine["assertionLine"] escapeString["escapeString"] assertionLine -->|calls| escapeString style assertionLine fill:#dbeafe,stroke:#2563eb,stroke-width:2px click assertionLine "1e82458c7c110b8a.html" click escapeString "5c2f25e3b4548c2d.html"
TargetType
escapeString calls

No incoming dependencies.