@@ -8,7 +8,7 @@ import AjvCall from 'ajv';
8
8
import { AjvCallFactory } from './ajv.factory' ;
9
9
import { GLOBAL_MODULE_OPTIONS_TOKEN } from '../../constants' ;
10
10
import { ModuleOptions , QueryParams } from '../../types' ;
11
- import { mockDBTestModule , entities , Users } from '../../mock-utils' ;
11
+ import { mockDBTestModule , entities , Users , Comments } from '../../mock-utils' ;
12
12
13
13
describe ( 'AJV factory' , ( ) => {
14
14
let options : ModuleOptions ;
@@ -264,4 +264,20 @@ describe('AJV factory', () => {
264
264
propsColumns
265
265
) ;
266
266
} ) ;
267
+
268
+ it ( 'Should be correct dchema for enum field' , ( ) => {
269
+ const transformQuerySchema = ajvCall . getSchema < QueryParams < Comments > > (
270
+ `inputBodyPostSchema-${ Comments . name } `
271
+ ) ;
272
+ const { enum : enumData } = dataSource . getRepository ( Comments ) . metadata . columns . find ( i => i . propertyName === 'kind' ) ;
273
+ const dataProperty =
274
+ transformQuerySchema . schema [ 'properties' ] [ 'data' ] [ 'properties' ] [ 'attributes' ] [ 'properties' ] ;
275
+ expect ( dataProperty ) . toHaveProperty ( 'kind' ) ;
276
+ expect ( dataProperty [ 'kind' ] ) . toHaveProperty ( 'type' ) ;
277
+ expect ( dataProperty [ 'kind' ] ) . toHaveProperty ( 'enum' ) ;
278
+ expect ( Array . isArray ( dataProperty [ 'kind' ] [ 'enum' ] ) ) . toEqual ( true ) ;
279
+ expect ( dataProperty [ 'kind' ] [ 'enum' ] ) . toEqual ( enumData ) ;
280
+
281
+
282
+ } )
267
283
} ) ;
0 commit comments