@@ -174,28 +174,28 @@ describe('endpoint overrides', () => {
174
174
} ) ;
175
175
} ) ;
176
176
177
- describe ( 'option encodeParams ' , ( ) => {
177
+ describe ( 'option encodePathParams ' , ( ) => {
178
178
const config = {
179
179
apiFile : './fixtures/emptyApi.ts' ,
180
180
schemaFile : resolve ( __dirname , 'fixtures/petstore.json' ) ,
181
- encodeParams : true ,
181
+ encodePathParams : true ,
182
182
} ;
183
183
184
- it ( 'should encode query parameters' , async ( ) => {
184
+ it ( 'should encode path parameters' , async ( ) => {
185
185
const api = await generateEndpoints ( {
186
186
...config ,
187
- filterEndpoints : [ 'findPetsByStatus ' ] ,
187
+ filterEndpoints : [ 'getOrderById ' ] ,
188
188
} ) ;
189
- expect ( api ) . toContain ( 'status: encodeURIComponent(String(queryArg.status))' ) ;
189
+ // eslint-disable-next-line no-template-curly-in-string
190
+ expect ( api ) . toContain ( '`/store/order/${encodeURIComponent(String(queryArg.orderId))}`' ) ;
190
191
} ) ;
191
192
192
- it ( 'should encode path parameters' , async ( ) => {
193
+ it ( 'should not encode query parameters' , async ( ) => {
193
194
const api = await generateEndpoints ( {
194
195
...config ,
195
- filterEndpoints : [ 'getOrderById ' ] ,
196
+ filterEndpoints : [ 'findPetsByStatus ' ] ,
196
197
} ) ;
197
- // eslint-disable-next-line no-template-curly-in-string
198
- expect ( api ) . toContain ( '`/store/order/${encodeURIComponent(String(queryArg.orderId))}`' ) ;
198
+ expect ( api ) . toContain ( 'status: queryArg.status' ) ;
199
199
} ) ;
200
200
201
201
it ( 'should not encode body parameters' , async ( ) => {
@@ -217,18 +217,60 @@ describe('option encodeParams', () => {
217
217
expect ( api ) . toContain ( '`/store/order/${encodeURIComponent(String(queryArg))}`' ) ;
218
218
} ) ;
219
219
220
- it ( 'should not encode parameters when encodeParams is false' , async ( ) => {
220
+ it ( 'should not encode path parameters when encodePathParams is false' , async ( ) => {
221
221
const api = await generateEndpoints ( {
222
222
...config ,
223
- encodeParams : false ,
223
+ encodePathParams : false ,
224
224
filterEndpoints : [ 'findPetsByStatus' , 'getOrderById' ] ,
225
225
} ) ;
226
- expect ( api ) . toContain ( 'status: queryArg.status' ) ;
227
226
// eslint-disable-next-line no-template-curly-in-string
228
227
expect ( api ) . toContain ( '`/store/order/${queryArg.orderId}`' ) ;
229
228
} ) ;
230
229
} ) ;
231
230
231
+ describe ( 'option encodeQueryParams' , ( ) => {
232
+ const config = {
233
+ apiFile : './fixtures/emptyApi.ts' ,
234
+ schemaFile : resolve ( __dirname , 'fixtures/petstore.json' ) ,
235
+ encodeQueryParams : true ,
236
+ } ;
237
+
238
+ it ( 'should encode query parameters' , async ( ) => {
239
+ const api = await generateEndpoints ( {
240
+ ...config ,
241
+ filterEndpoints : [ 'findPetsByStatus' ] ,
242
+ } ) ;
243
+ expect ( api ) . toContain ( 'status: encodeURIComponent(String(queryArg.status))' ) ;
244
+ } ) ;
245
+
246
+ it ( 'should not encode path parameters' , async ( ) => {
247
+ const api = await generateEndpoints ( {
248
+ ...config ,
249
+ filterEndpoints : [ 'getOrderById' ] ,
250
+ } ) ;
251
+ // eslint-disable-next-line no-template-curly-in-string
252
+ expect ( api ) . toContain ( '`/store/order/${queryArg.orderId}`' ) ;
253
+ } ) ;
254
+
255
+ it ( 'should not encode body parameters' , async ( ) => {
256
+ const api = await generateEndpoints ( {
257
+ ...config ,
258
+ filterEndpoints : [ 'addPet' ] ,
259
+ } ) ;
260
+ expect ( api ) . toContain ( 'body: queryArg.pet' ) ;
261
+ expect ( api ) . not . toContain ( 'body: encodeURIComponent(String(queryArg.pet))' ) ;
262
+ } ) ;
263
+
264
+ it ( 'should not encode query parameters when encodeQueryParams is false' , async ( ) => {
265
+ const api = await generateEndpoints ( {
266
+ ...config ,
267
+ encodeQueryParams : false ,
268
+ filterEndpoints : [ 'findPetsByStatus' , 'getOrderById' ] ,
269
+ } ) ;
270
+ expect ( api ) . toContain ( 'status: queryArg.status' ) ;
271
+ } ) ;
272
+ } ) ;
273
+
232
274
describe ( 'option flattenArg' , ( ) => {
233
275
const config = {
234
276
apiFile : './fixtures/emptyApi.ts' ,
0 commit comments