|
1 | 1 | import { transformParametersArray } from "../src/transform/parameters"; |
2 | 2 |
|
3 | | -describe("transformParametersArray()", () => { |
4 | | - it("basic", () => { |
5 | | - expect( |
6 | | - transformParametersArray([ |
7 | | - { |
8 | | - description: "Specifies which fields in the response should be expanded.", |
9 | | - in: "query", |
10 | | - name: "expand", |
11 | | - required: false, |
12 | | - schema: { |
13 | | - items: { |
14 | | - type: "string", |
| 3 | +describe.only("transformParametersArray()", () => { |
| 4 | + describe("v2", () => { |
| 5 | + it("basic", () => { |
| 6 | + expect( |
| 7 | + transformParametersArray( |
| 8 | + [ |
| 9 | + { |
| 10 | + description: "Specifies which fields in the response should be expanded.", |
| 11 | + in: "query", |
| 12 | + name: "expand", |
| 13 | + required: false, |
| 14 | + items: { |
| 15 | + type: "string", |
| 16 | + }, |
| 17 | + type: "array", |
15 | 18 | }, |
16 | | - type: "array", |
17 | | - }, |
18 | | - }, |
19 | | - { |
20 | | - in: "path", |
21 | | - name: "three_d_secure", |
22 | | - required: true, |
23 | | - schema: { |
24 | | - type: "string", |
25 | | - }, |
26 | | - }, |
27 | | - ]).trim() |
28 | | - ).toBe( |
29 | | - `query: { |
| 19 | + { in: "path", name: "three_d_secure", required: true, type: "string" }, |
| 20 | + { in: "body", name: "payload", schema: { type: "string" } }, |
| 21 | + ], |
| 22 | + 2 |
| 23 | + ).trim() |
| 24 | + ).toBe( |
| 25 | + `query: { |
30 | 26 | /** Specifies which fields in the response should be expanded. */ |
31 | 27 | "expand"?: (string)[]; |
32 | 28 | } |
33 | 29 | path: { |
34 | 30 | "three_d_secure": string; |
| 31 | + } |
| 32 | + body: { |
| 33 | + "payload"?: string; |
35 | 34 | }` |
36 | | - ); |
| 35 | + ); |
| 36 | + }); |
| 37 | + it("$ref", () => { |
| 38 | + expect( |
| 39 | + transformParametersArray( |
| 40 | + [{ $ref: "#/parameters/per_page" }, { $ref: "#/parameters/page" }, { $ref: "#/parameters/since" }], |
| 41 | + 2, |
| 42 | + { |
| 43 | + per_page: { in: "query", name: "per_page", required: true, type: "number" }, |
| 44 | + page: { in: "query", name: "page", type: "number" }, |
| 45 | + since: { in: "query", name: "since", type: "string" }, |
| 46 | + } |
| 47 | + ).trim() |
| 48 | + ).toBe(`query: { |
| 49 | + "per_page": parameters["per_page"]; |
| 50 | + "page"?: parameters["page"]; |
| 51 | + "since"?: parameters["since"]; |
| 52 | + }`); |
| 53 | + }); |
37 | 54 | }); |
| 55 | + describe("v3", () => { |
| 56 | + it("basic", () => { |
| 57 | + expect( |
| 58 | + transformParametersArray( |
| 59 | + [ |
| 60 | + { |
| 61 | + description: "Specifies which fields in the response should be expanded.", |
| 62 | + in: "query", |
| 63 | + name: "expand", |
| 64 | + required: false, |
| 65 | + schema: { |
| 66 | + items: { |
| 67 | + type: "string", |
| 68 | + }, |
| 69 | + type: "array", |
| 70 | + }, |
| 71 | + }, |
| 72 | + { |
| 73 | + in: "path", |
| 74 | + name: "three_d_secure", |
| 75 | + required: true, |
| 76 | + schema: { |
| 77 | + type: "string", |
| 78 | + }, |
| 79 | + }, |
| 80 | + ], |
| 81 | + 3 |
| 82 | + ).trim() |
| 83 | + ).toBe( |
| 84 | + `query: { |
| 85 | +/** Specifies which fields in the response should be expanded. */ |
| 86 | + "expand"?: (string)[]; |
| 87 | + } |
| 88 | + path: { |
| 89 | + "three_d_secure": string; |
| 90 | + }` |
| 91 | + ); |
| 92 | + }); |
38 | 93 |
|
39 | | - it("$ref", () => { |
40 | | - expect( |
41 | | - transformParametersArray( |
42 | | - [ |
43 | | - { $ref: "#/components/parameters/per_page" }, |
44 | | - { $ref: "#/components/parameters/page" }, |
45 | | - { $ref: "#/components/parameters/since" }, |
46 | | - ], |
47 | | - { |
48 | | - per_page: { in: "query", name: "per_page", required: true }, |
49 | | - page: { in: "query", name: "page" }, |
50 | | - since: { in: "query", name: "since" }, |
51 | | - } |
52 | | - ).trim() |
53 | | - ).toBe(`query: { |
| 94 | + it("$ref", () => { |
| 95 | + expect( |
| 96 | + transformParametersArray( |
| 97 | + [ |
| 98 | + { $ref: "#/components/parameters/per_page" }, |
| 99 | + { $ref: "#/components/parameters/page" }, |
| 100 | + { $ref: "#/components/parameters/since" }, |
| 101 | + ], |
| 102 | + 3, |
| 103 | + { |
| 104 | + per_page: { in: "query", name: "per_page", required: true }, |
| 105 | + page: { in: "query", name: "page" }, |
| 106 | + since: { in: "query", name: "since" }, |
| 107 | + } |
| 108 | + ).trim() |
| 109 | + ).toBe(`query: { |
54 | 110 | "per_page": components["parameters"]["per_page"]; |
55 | 111 | "page"?: components["parameters"]["page"]; |
56 | 112 | "since"?: components["parameters"]["since"]; |
57 | 113 | }`); |
| 114 | + }); |
58 | 115 | }); |
59 | 116 | }); |
0 commit comments