Files
OmniRoute/tests/e2e/smoke.spec.ts
diegosouzapw 71d14209a4 feat: OmniRoute v1.0.0 — Intelligent AI Gateway & Universal LLM Proxy
OmniRoute is an intelligent API gateway that unifies 20+ AI providers behind a single
OpenAI-compatible endpoint. Features include intelligent routing with 6 strategies,
multi-format translation (OpenAI/Claude/Gemini/Responses API), circuit breakers,
semantic caching, combo fallback chains, real-time health monitoring, and a full
dashboard with provider management, analytics, and CLI tool integration.

Key highlights:
- 20+ providers (Claude Code, Codex, Gemini CLI, GitHub Copilot, iFlow, Qwen, Kiro, etc.)
- 6 routing strategies (Fill First, Round Robin, P2C, Random, Least Used, Cost Optimized)
- Export/Import database backup with full archive support
- Translator Playground with 4 modes (Playground, Chat Tester, Test Bench, Live Monitor)
- 100% TypeScript across src/ and open-sse/
- Docker support with multi-stage builds
- Comprehensive documentation and 9 dashboard screenshots
2026-02-18 00:02:15 -03:00

34 lines
1.2 KiB
TypeScript

import { test, expect } from "@playwright/test";
test.describe("Smoke — Static Pages", () => {
test("landing page renders", async ({ page }) => {
await page.goto("/landing");
await expect(page).toHaveTitle(/OmniRoute/i);
const hero = page.locator("h1").first();
await expect(hero).toBeVisible();
});
test("/terms page renders all sections", async ({ page }) => {
await page.goto("/terms");
await expect(page).toHaveTitle(/Terms of Service/i);
await expect(page.locator("h1")).toContainText("Terms of Service");
// Verify at least 4 section headings
const headings = page.locator("h2");
await expect(headings).toHaveCount(6);
});
test("/privacy page renders all sections", async ({ page }) => {
await page.goto("/privacy");
await expect(page).toHaveTitle(/Privacy Policy/i);
await expect(page.locator("h1")).toContainText("Privacy Policy");
const headings = page.locator("h2");
await expect(headings).toHaveCount(7);
});
test("back link on /terms navigates home", async ({ page }) => {
await page.goto("/terms");
const backLink = page.locator('a[href="/"]').first();
await expect(backLink).toBeVisible();
});
});