Skip to content

Commit 02d6940

Browse files
Fix web tests
1 parent 21bc580 commit 02d6940

2 files changed

Lines changed: 33 additions & 10 deletions

File tree

test/web/setup.ts

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import { beforeAll } from "vitest";
2+
import { WEB_PORT } from "../server/credentials.js";
3+
4+
const SERVER_URL = `http://localhost:${WEB_PORT}/webdav/server`;
5+
6+
async function waitForWebServer() {
7+
const maxAttempts = 50;
8+
const delayMs = 200;
9+
10+
for (let attempt = 0; attempt < maxAttempts; attempt += 1) {
11+
try {
12+
const response = await fetch(SERVER_URL, { method: "OPTIONS" });
13+
if (response) {
14+
return;
15+
}
16+
} catch (error) {
17+
// Keep retrying until the server accepts connections.
18+
}
19+
20+
await new Promise(resolve => setTimeout(resolve, delayMs));
21+
}
22+
23+
throw new Error(`WebDAV test server not reachable at ${SERVER_URL}`);
24+
}
25+
26+
beforeAll(async () => {
27+
await waitForWebServer();
28+
}, 30000);

vitest.config.ts

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,24 +8,19 @@ export default defineConfig({
88
test: {
99
name: "node-unit",
1010
environment: "node",
11-
include: [
12-
"test/node/**/*.spec.ts"
13-
]
11+
include: ["test/node/**/*.spec.ts"]
1412
}
1513
},
1614
{
1715
test: {
1816
name: "browser",
19-
include: [
20-
"test/web/**/*.spec.ts"
21-
],
17+
include: ["test/web/**/*.spec.ts"],
18+
setupFiles: ["test/web/setup.ts"],
2219
browser: {
2320
provider: "playwright",
2421
enabled: true,
2522
headless: true,
26-
instances: [
27-
{ browser: "chromium" }
28-
],
23+
instances: [{ browser: "chromium" }],
2924
screenshotFailures: false
3025
}
3126
},
@@ -34,5 +29,5 @@ export default defineConfig({
3429
}
3530
}
3631
]
37-
},
32+
}
3833
});

0 commit comments

Comments
 (0)