Skip to content

Commit 4ec04d9

Browse files
committed
fix: tests
1 parent 52f84bf commit 4ec04d9

File tree

5 files changed

+32
-27
lines changed

5 files changed

+32
-27
lines changed

playwright.config.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ export default defineConfig({
7070

7171
/* Run your local dev server before starting the tests */
7272
webServer: {
73-
command: "npm run preview",
73+
command: "pnpm preview",
7474
url: "http://localhost:4321/",
7575
timeout: 60 * 1000,
7676
reuseExistingServer: !process.env.CI,

src/layouts/WikiArticle.astro

+4-4
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ export interface Props {
3232
<Layout title="Wiki" transition={true} displayFooter={false}>
3333
<div class="columns">
3434
<aside id="article-browser" class="sidebar">
35-
<button class="open"><Icon name="newspaper" group="solid" /></button>
36-
<button class="close"><Icon name="x" group="solid" /></button>
35+
<button class="open"><Icon name="newspaper" group="solid" ariaLabel="Open article browser"/></button>
36+
<button class="close"><Icon name="x" group="solid" ariaLabel="Close article browser" /></button>
3737
<h2 class="title">Articles</h2>
3838
<div class="content">
3939
<nav>
@@ -91,8 +91,8 @@ export interface Props {
9191
<Footer />
9292
</div>
9393
<aside id="outline" class="sidebar">
94-
<button class="open"><Icon name="list" group="solid" /></button>
95-
<button class="close"><Icon name="x" group="solid" /></button>
94+
<button class="open"><Icon name="list" group="solid" ariaLabel="Open outline"/></button>
95+
<button class="close"><Icon name="x" group="solid" ariaLabel="Close outline" /></button>
9696
<h2 class="title">Outline</h2>
9797
<nav class="content">
9898
<ol>

src/test/header.spec.ts

+8-5
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,30 @@
1-
import { test, expect } from "@playwright/test";
1+
import { test, expect, type Locator } from "@playwright/test";
22

33
test.describe("Header", () => {
4+
let header: Locator;
5+
46
test.beforeEach(async ({ page }) => {
57
await page.goto("/wiki/");
8+
header = page.getByRole("banner")
69
});
710

811
test("Exists", async ({ page }) => {
9-
await expect(page.getByRole("banner")).toBeVisible();
12+
await expect(header).toBeVisible();
1013
});
1114

1215
test("Home Link", async ({ page, baseURL }) => {
13-
await page.getByRole("link", { name: "house" }).click();
16+
await header.getByRole("link", { name: "home" }).click();
1417
expect(page.url()).toBe(baseURL);
1518
});
1619

1720
test("Wiki Link", async ({ page, baseURL }) => {
18-
await page.getByRole("link", { name: "book" }).click();
21+
await header.getByRole("link", {name: "wiki"}).click();
1922
await page.waitForURL("/wiki/");
2023
expect(page.url()).toBe(baseURL + "wiki/");
2124
});
2225

2326
test("GitHub Link", async ({ page, context }) => {
24-
const href = await page
27+
const href = await header
2528
.getByRole("link", { name: "github" })
2629
.getAttribute("href");
2730
expect(href).toBe("https://github.com/luals/lua-language-server");

src/test/index.spec.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ test.describe("Home Page", () => {
1010
}
1111
);
1212

13-
await page.goto("/", { waitUntil: "load", timeout: 3000 });
13+
await page.goto("/", { waitUntil: "load" });
1414
});
1515

1616
test("Metadata", async ({ page }) => {

src/test/wiki_article.spec.ts

+18-16
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,20 @@ import { test, expect } from "@playwright/test";
22

33
test.describe("Wiki Article", async () => {
44
test.beforeEach(async ({ page }) => {
5-
await page.goto("/wiki/build/");
5+
await page.goto("/wiki/diagnosis-report/");
66
});
77

88
test("Header Exists", async ({ page }) => {
99
await expect(page.getByRole("banner")).toBeVisible();
1010
});
1111

1212
test("Article Loads", async ({ page }) => {
13-
await expect(page.getByRole("heading", { name: "Build" })).toBeVisible();
13+
await expect(
14+
page.getByRole("heading", { name: "Diagnosis Report" })
15+
).toBeVisible();
1416
await expect(
1517
page.getByText(
16-
"Instructions for building the Lua Language Server from source."
18+
"Generate a report containing diagnostics usually received by an LSP client."
1719
)
1820
).toBeVisible();
1921
await expect(page.getByText("Last Modified:")).toBeVisible();
@@ -25,31 +27,31 @@ test.describe("Wiki Article", async () => {
2527
test("Article Sidebar", async ({ page }) => {
2628
const sidebar = page.locator("#article-browser");
2729

28-
await page.getByRole("button", { name: "newspaper" }).click();
30+
await page.getByRole("button", { name: "Open article browser" }).click();
2931
expect(await sidebar.getAttribute("open")).toBe("");
3032

31-
await sidebar.getByRole("button", { name: "x" }).click();
32-
expect(await sidebar.getAttribute("open")).toBe(null);
33-
34-
await page.getByRole("button", { name: "newspaper" }).click();
3533
const link = page.getByRole("link", { name: "Usage" });
3634
const href = await link.getAttribute("href");
3735
expect(href).toBe(`/wiki/usage/`);
36+
37+
await sidebar
38+
.getByRole("button", { name: "Close article browser" })
39+
.click();
40+
expect(await sidebar.getAttribute("open")).toBe(null);
3841
});
3942

4043
test("Outline Sidebar", async ({ page }) => {
4144
const sidebar = page.locator("#outline");
4245

43-
await page.getByRole("button", { name: "list" }).click();
46+
await page.getByRole("button", { name: "Open outline" }).click();
4447
expect(await sidebar.getAttribute("open")).toBe("");
4548

46-
await sidebar.getByRole("button", { name: "x" }).click();
47-
expect(await sidebar.getAttribute("open")).toBe(null);
48-
49-
await page.getByRole("button", { name: "list" }).click();
50-
const link = sidebar.getByRole("link", { name: "Build" });
49+
const link = sidebar.getByRole("link", { name: "Diagnosis Report" });
5150
const href = await link.getAttribute("href");
52-
expect(href).toBe(`#build`);
51+
expect(href).toBe(`#diagnosis-report`);
52+
53+
await sidebar.getByRole("button", { name: "Close outline" }).click();
54+
expect(await sidebar.getAttribute("open")).toBe(null);
5355
});
5456

5557
test("Edit Page Button", async ({ page }) => {
@@ -58,7 +60,7 @@ test.describe("Wiki Article", async () => {
5860

5961
const href = await link.getAttribute("href");
6062
expect(href).toBe(
61-
"https://github.com/LuaLS/LuaLS.github.io/tree/main/src/content/wiki/build.mdx"
63+
"https://github.com/LuaLS/LuaLS.github.io/tree/main/src/content/wiki/diagnosis-report.mdx"
6264
);
6365
});
6466

0 commit comments

Comments
 (0)