@@ -3,6 +3,14 @@ import ReactDOM from "react-dom";
33import ExamplePairing from "./ExamplePairing" ;
44import examples from "@open-rpc/examples" ;
55import 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+ } ) ;
614import { OpenrpcDocument } from "@open-rpc/meta-schema" ;
715
816it ( "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