@@ -283,6 +283,14 @@ describe('Definition generation', () => {
283
283
expression = jsonata ( 'paths."/primitives/{id}".get.parameters[0].format' ) ;
284
284
expect ( expression . evaluate ( spec ) ) . to . eq ( 'int64' ) ;
285
285
} ) ;
286
+
287
+ it ( 'should generate array type names as type + Array' , ( ) => {
288
+ let expression = jsonata ( 'definitions.ResponseBodystringArray' ) ;
289
+ // tslint:disable-next-line:no-unused-expression
290
+ expect ( expression . evaluate ( spec ) ) . to . not . be . undefined ;
291
+ expression = jsonata ( 'paths."/primitives/array".get.responses."200".schema."$ref"' ) ;
292
+ expect ( expression . evaluate ( spec ) ) . to . equal ( '#/definitions/ResponseBodystringArray' ) ;
293
+ } ) ;
286
294
} ) ;
287
295
288
296
describe ( 'ParameterizedEndpoint' , ( ) => {
@@ -303,4 +311,23 @@ describe('Definition generation', () => {
303
311
expect ( expression . evaluate ( spec ) ) . to . eq ( 'A numeric identifier' ) ;
304
312
} ) ;
305
313
} ) ;
314
+
315
+ describe ( 'SecureEndpoint' , ( ) => {
316
+ it ( 'should apply controller security to request' , ( ) => {
317
+ const expression = jsonata ( 'paths."/secure".get.security' ) ;
318
+ expect ( expression . evaluate ( spec ) ) . to . deep . equal ( [ { 'access_token' : [ ] } ] ) ;
319
+ } ) ;
320
+
321
+ it ( 'method security should override controller security' , ( ) => {
322
+ const expression = jsonata ( 'paths."/secure".post.security' ) ;
323
+ expect ( expression . evaluate ( spec ) ) . to . deep . equal ( [ { 'user_email' : [ ] } ] ) ;
324
+ } ) ;
325
+ } ) ;
326
+
327
+ describe ( 'SuperSecureEndpoint' , ( ) => {
328
+ it ( 'should apply two controller securities to request' , ( ) => {
329
+ const expression = jsonata ( 'paths."/supersecure".get.security' ) ;
330
+ expect ( expression . evaluate ( spec ) ) . to . deep . equal ( [ { 'access_token' : [ ] } , { 'user_email' : [ ] } ] ) ;
331
+ } ) ;
332
+ } ) ;
306
333
} ) ;
0 commit comments