Initial Commit
This commit is contained in:
56
apps/testbed/e2e/libraries/logger.spec.ts
Normal file
56
apps/testbed/e2e/libraries/logger.spec.ts
Normal file
@@ -0,0 +1,56 @@
|
||||
import { test, expect } from "@playwright/test";
|
||||
|
||||
test.describe("Logger Page", () => {
|
||||
test.beforeEach(async ({ page }) => {
|
||||
await page.goto("/logger");
|
||||
await expect(page.locator('[data-testid="page-title"]')).toContainText(
|
||||
"@suaveplan/logger",
|
||||
);
|
||||
});
|
||||
|
||||
test("demo-card and output are visible", async ({ page }) => {
|
||||
await expect(page.locator('[data-testid="demo-card"]')).toBeVisible();
|
||||
await expect(page.locator('[data-testid="output"]')).toBeVisible();
|
||||
});
|
||||
|
||||
test("logging info message shows entry in output", async ({ page }) => {
|
||||
await page.locator('input[type="text"]').fill("Test info message");
|
||||
await page.locator('select').selectOption("info");
|
||||
await page.locator('button:has-text("Log")').click();
|
||||
|
||||
const output = page.locator('[data-testid="output"]');
|
||||
await expect(output).toContainText("Test info message");
|
||||
await expect(output).toContainText("[INFO]");
|
||||
});
|
||||
|
||||
test("logging error message shows entry in output", async ({ page }) => {
|
||||
await page.locator('input[type="text"]').fill("Test error message");
|
||||
await page.locator('select').selectOption("error");
|
||||
await page.locator('button:has-text("Log")').click();
|
||||
|
||||
await expect(page.locator('[data-testid="output"]')).toContainText("[ERROR]");
|
||||
});
|
||||
|
||||
test("clear button removes all entries", async ({ page }) => {
|
||||
await page.locator('button:has-text("Log")').click();
|
||||
await expect(page.locator('[data-testid="output"]')).not.toContainText(
|
||||
"Log entries will appear here.",
|
||||
);
|
||||
|
||||
await page.locator('button:has-text("Clear")').click();
|
||||
await expect(page.locator('[data-testid="output"]')).toContainText(
|
||||
"Log entries will appear here.",
|
||||
);
|
||||
});
|
||||
|
||||
test("multiple levels can be logged", async ({ page }) => {
|
||||
const levels = ["debug", "info", "warn", "error"] as const;
|
||||
for (const lvl of levels) {
|
||||
await page.locator('select').selectOption(lvl);
|
||||
await page.locator('button:has-text("Log")').click();
|
||||
}
|
||||
const output = page.locator('[data-testid="output"]');
|
||||
await expect(output).toContainText("[DEBUG]");
|
||||
await expect(output).toContainText("[ERROR]");
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user