Skip to content

Commit 0b88b5d

Browse files
committed
fix(examplePairing): add tests for by-name and empty position
1 parent c6d8fbe commit 0b88b5d

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed

src/ExamplePairing/ExamplePairing.test.tsx

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,14 @@ import ReactDOM from "react-dom";
33
import ExamplePairing from "./ExamplePairing";
44
import examples from "@open-rpc/examples";
55
import refParser from "json-schema-ref-parser";
6+
7+
it("renders handles no examplePosition", async () => {
8+
const div = document.createElement("div");
9+
const simpleMath = await refParser.dereference(examples.simpleMath) as OpenrpcDocument;
10+
ReactDOM.render(<ExamplePairing method={simpleMath.methods[0]} />, div);
11+
expect(div.innerHTML).toBe("");
12+
ReactDOM.unmountComponentAtNode(div);
13+
});
614
import { OpenrpcDocument } from "@open-rpc/meta-schema";
715

816
it("renders examples", async () => {
@@ -13,3 +21,41 @@ it("renders examples", async () => {
1321
expect(div.innerHTML.includes("4")).toBe(true);
1422
ReactDOM.unmountComponentAtNode(div);
1523
});
24+
25+
it("renders examples with params by-name", async () => {
26+
const div = document.createElement("div");
27+
ReactDOM.render(<ExamplePairing method={{
28+
examples: [
29+
{
30+
name: "fooExample",
31+
params: [
32+
{
33+
name: "foo",
34+
value: "bar",
35+
},
36+
],
37+
result: {
38+
name: "exampleResultThing",
39+
value: "potato",
40+
},
41+
},
42+
],
43+
name: "myMethod",
44+
paramStructure: "by-name",
45+
params: [{
46+
name: "foo",
47+
schema: {
48+
type: "string",
49+
},
50+
}],
51+
result: {
52+
name: "resultThing",
53+
schema: {
54+
type: "string",
55+
},
56+
},
57+
}} examplePosition={0} />, div);
58+
expect(div.innerHTML.includes("foo")).toBe(true);
59+
expect(div.innerHTML.includes("bar")).toBe(true);
60+
ReactDOM.unmountComponentAtNode(div);
61+
});

0 commit comments

Comments
 (0)