Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 6de19af

Browse files
committed
fix(oxlint): vitest
- expect-expect - no-conditional-expect - no-conditional-in-test - no-standalone-expect
1 parent b141b93 commit 6de19af

File tree

3 files changed

+131
-210
lines changed

3 files changed

+131
-210
lines changed

‎.oxlintrc.json‎

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -102,13 +102,9 @@
102102
"withinDescribe": "test"
103103
}
104104
],
105-
"vitest/expect-expect": "off",
106-
"vitest/max-expects": "off",
107-
"vitest/no-conditional-expect": "off",
108-
"vitest/no-conditional-in-test": "off",
109-
"vitest/no-hooks": "off",
110-
"vitest/no-standalone-expect": "off",
111-
"vitest/prefer-lowercase-title": "off",
105+
"vitest/max-expects": "off",
106+
"vitest/no-hooks": "off",
107+
"vitest/prefer-lowercase-title": "off",
112108
"vitest/prefer-strict-equal": "off",
113109
"vitest/prefer-to-be-falsy": "off",
114110
"vitest/prefer-to-be-truthy": "off",

‎src/hydra/fetchJsonLd.test.ts‎

Lines changed: 58 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -3,37 +3,32 @@ import { server } from "../../vitest.setup.js";
33
import fetchJsonLd from "./fetchJsonLd.js";
44
import { assert, expect, test } from "vitest";
55

6+
const httpResponse = {
7+
"@context": "http://json-ld.org/contexts/person.jsonld",
8+
"@id": "http://dbpedia.org/resource/John_Lennon",
9+
name: "John Lennon",
10+
born: "1940年10月09日",
11+
spouse: "http://dbpedia.org/resource/Cynthia_Lennon",
12+
};
13+
614
test("fetch a JSON-LD document", async () => {
715
server.use(
816
http.get("http://localhost/foo.jsonld", () =>
9-
HttpResponse.json(
10-
{
11-
"@context": "http://json-ld.org/contexts/person.jsonld",
12-
"@id": "http://dbpedia.org/resource/John_Lennon",
13-
name: "John Lennon",
14-
born: "1940年10月09日",
15-
spouse: "http://dbpedia.org/resource/Cynthia_Lennon",
16-
},
17-
{
18-
headers: { "Content-Type": "application/ld+json" },
19-
status: 200,
20-
statusText: "OK",
21-
},
22-
),
17+
HttpResponse.json(httpResponse, {
18+
headers: { "Content-Type": "application/ld+json" },
19+
status: 200,
20+
statusText: "OK",
21+
}),
2322
),
2423
);
25-
try {
26-
const data = await fetchJsonLd("http://localhost/foo.jsonld");
27-
expect(data.response.ok).toBe(true);
28-
expect(data).toHaveProperty("body");
29-
assert(
30-
"body" in data && "name" in data.body,
31-
"Response should contain a body with a name property",
32-
);
33-
expect(data.body["name"]).toBe("John Lennon");
34-
} catch {
35-
assert.fail("Should not have thrown an error");
36-
}
24+
25+
const data = await fetchJsonLd("http://localhost/foo.jsonld");
26+
expect(data.response.ok).toBe(true);
27+
28+
assert("body" in data, "Response should have a body property");
29+
assert(data.body !== null, "Body should not be null");
30+
assert("name" in data.body, "Body should have a name property");
31+
expect(data.body["name"]).toBe("John Lennon");
3732
});
3833

3934
test("fetch a non JSON-LD document", async () => {
@@ -47,80 +42,54 @@ test("fetch a non JSON-LD document", async () => {
4742
}),
4843
);
4944

50-
try {
51-
await fetchJsonLd("http://localhost/foo.jsonld");
52-
assert.fail("Should have thrown an error");
53-
} catch (error) {
54-
const data = error as unknown as { response: Response; body: undefined };
55-
expect(data.response.ok).toBe(true);
56-
expect(typeof data.body).toBe("undefined");
57-
}
45+
const promise = fetchJsonLd("http://localhost/foo.jsonld");
46+
47+
await expect(promise).rejects.toHaveProperty("response.ok", true);
48+
await expect(promise).rejects.not.toHaveProperty("body");
5849
});
5950

60-
test("fetch an error with Content-Type application/ld+json", () => {
51+
test("fetch an error with Content-Type application/ld+json", async() => {
6152
server.use(
6253
http.get("http://localhost/foo.jsonld", () => {
63-
return HttpResponse.json(
64-
{
65-
"@context": "http://json-ld.org/contexts/person.jsonld",
66-
"@id": "http://dbpedia.org/resource/John_Lennon",
67-
name: "John Lennon",
68-
born: "1940年10月09日",
69-
spouse: "http://dbpedia.org/resource/Cynthia_Lennon",
70-
},
71-
{
72-
status: 400,
73-
statusText: "Bad Request",
74-
headers: { "Content-Type": "application/ld+json" },
75-
},
76-
);
54+
return HttpResponse.json(httpResponse, {
55+
status: 500,
56+
statusText: "Internal Server Error",
57+
headers: { "Content-Type": "application/ld+json" },
58+
});
7759
}),
7860
);
7961

80-
return fetchJsonLd("http://localhost/foo.jsonld").catch(
81-
({ response }: { response: Response }) => {
82-
response
83-
.json()
84-
.then((body: { born: string }) => {
85-
expect(response.ok).toBe(false);
86-
expect(body.born).toBe("1940年10月09日");
87-
})
88-
.catch(() => {
89-
assert.fail("Response should have been JSON parsable");
90-
});
91-
},
62+
const rejectedResponse = await fetchJsonLd(
63+
"http://localhost/foo.jsonld",
64+
).catch((error) => error as { response: Response });
65+
66+
await expect(rejectedResponse).toHaveProperty("response.ok", false);
67+
await expect(rejectedResponse.response.json()).resolves.toHaveProperty(
68+
"born",
69+
"1940年10月09日",
9270
);
9371
});
9472

9573
test("fetch an error with Content-Type application/error+json", async () => {
9674
server.use(
9775
http.get("http://localhost/foo.jsonld", () => {
98-
return HttpResponse.json(
99-
{
100-
"@context": "http://json-ld.org/contexts/person.jsonld",
101-
"@id": "http://dbpedia.org/resource/John_Lennon",
102-
name: "John Lennon",
103-
born: "1940年10月09日",
104-
spouse: "http://dbpedia.org/resource/Cynthia_Lennon",
105-
},
106-
{
107-
status: 400,
108-
statusText: "Bad Request",
109-
headers: { "Content-Type": "application/error+json" },
110-
},
111-
);
76+
return HttpResponse.json(httpResponse, {
77+
status: 400,
78+
statusText: "Bad Request",
79+
headers: { "Content-Type": "application/error+json" },
80+
});
11281
}),
11382
);
11483

115-
try{
116-
awaitfetchJsonLd("http://localhost/foo.jsonld");
117-
assert.fail("Should have thrown an error");
118-
}catch(error){
119-
constdata=errorasunknownas{response: Response};
120-
constbody=await data.response.json();
121-
expect(data.response.ok).toBe(false);
122-
expect(body.born).toBe("1940-10-09");
123-
}
84+
constrejectedResponse=awaitfetchJsonLd(
85+
"http://localhost/foo.jsonld",
86+
).catch((error)=>erroras{response: Response});
87+
88+
awaitexpect(rejectedResponse).toHaveProperty("response.ok",false);
89+
await expect(rejectedResponse.response.json()).resolves.toHaveProperty(
90+
"born",
91+
"1940-10-09",
92+
);
12493
});
12594

12695
test("fetch an empty document", async () => {
@@ -133,11 +102,9 @@ test("fetch an empty document", async () => {
133102
});
134103
}),
135104
);
136-
try {
137-
const data = await fetchJsonLd("http://localhost/foo.jsonld");
138-
expect(data.response.ok).toBe(true);
139-
expect(data).not.toHaveProperty("body");
140-
} catch {
141-
assert.fail("Should not have thrown an error");
142-
}
105+
106+
const dataPromise = fetchJsonLd("http://localhost/foo.jsonld");
107+
108+
await expect(dataPromise).resolves.toHaveProperty("response.ok", true);
109+
await expect(dataPromise).resolves.not.toHaveProperty("body");
143110
});

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /