Skip to content

Commit d5e1b8f

Browse files
switch to browser testing in unit tests (#12998)
* switch to browser testing in unit tests * don't check to media devices that don't exist * fix client tests * address comments * Fix code --------- Co-authored-by: Freddy Boulton <41651716+freddyaboulton@users.noreply.github.com>
1 parent fb0c164 commit d5e1b8f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+787
-626
lines changed

.changeset/silly-worms-smoke.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
"@gradio/image": minor
3+
"@gradio/statustracker": minor
4+
"@gradio/wasm": minor
5+
"@self/spa": minor
6+
"@self/tootils": minor
7+
"gradio": minor
8+
---
9+
10+
feat:use a real browser environment for unit tests

.github/workflows/tests-js.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@ jobs:
5050
uses: "gradio-app/gradio/.github/actions/install-frontend-deps@main"
5151
with:
5252
skip_build: true
53+
- name: install playwright
54+
run: pnpm exec playwright install
5355
- name: build client
5456
run: pnpm --filter @gradio/client build
5557
- name: format check

client/js/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@
2929
"generate_types": "tsc",
3030
"clean": "rm -rf dist",
3131
"build": "pnpm clean && pnpm bundle && pnpm bundle:browser && pnpm generate_types",
32-
"test": "pnpm test:client && pnpm test:client:node",
33-
"test:client": "vitest run -c vite.config.js",
34-
"test:client:node": "TEST_MODE=node vitest run -c vite.config.js",
32+
"test": "pnpm test:browser && pnpm test:node",
33+
"test:browser": "vitest run -c vite.config.ts",
34+
"test:node": "NODE_NO_WARNINGS=1 TEST_MODE=node vitest run -c vite.config.ts",
3535
"preview:browser": "vite dev --mode=preview"
3636
},
3737
"engines": {

client/js/src/test/api_info.test.ts

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,14 @@ import {
1515
import { initialise_server } from "./server";
1616
import { transformed_api_info } from "./test_data";
1717

18-
const server = initialise_server();
18+
let server: Awaited<ReturnType<typeof initialise_server>>;
1919

20-
beforeAll(() => server.listen());
20+
beforeAll(async () => {
21+
server = await initialise_server();
22+
await server.start({ quiet: true });
23+
});
2124
afterEach(() => server.resetHandlers());
22-
afterAll(() => server.close());
25+
afterAll(() => server.stop());
2326

2427
describe("handle_message", () => {
2528
it("should return type 'data' when msg is 'send_data'", () => {
@@ -447,7 +450,11 @@ describe("process_endpoint", () => {
447450
try {
448451
await process_endpoint(app_reference, token);
449452
} catch (error) {
450-
expect(error.message).toEqual(SPACE_METADATA_ERROR_MSG);
453+
if (error instanceof Error) {
454+
expect(error.message).toEqual(SPACE_METADATA_ERROR_MSG);
455+
} else {
456+
expect.fail("Error should not be unknown.");
457+
}
451458
}
452459
});
453460

@@ -602,7 +609,7 @@ describe("map_data_params", () => {
602609
});
603610

604611
it("should return an empty array when data is an empty array", () => {
605-
const data = [];
612+
const data: unknown[] = [];
606613

607614
const result = map_data_to_params(data, endpoint_info);
608615
expect(result).toEqual(data);

client/js/src/test/apply_diff.test.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ describe("apply_diff", () => {
77
{ content: "Hi", role: "user" },
88
{ content: "How can I assist you?", role: "assistant" }
99
];
10+
1011
const diff: any = [
1112
["delete", [0], null],
1213
["delete", [0], null]

0 commit comments

Comments
 (0)