1
- import { GraphQLScalarType } from 'graphql/type' ;
1
+ /* @flow */
2
+
3
+ import { type GraphQLScalarTypeConfig , GraphQLScalarType } from 'graphql/type' ;
2
4
import { parse } from 'graphql/language' ;
3
5
import buildScalar from '../buildScalar' ;
4
6
5
7
describe ( 'buildScalar()' , ( ) => {
6
- const generateScalarAST = ( { description, name = 'Scalar' } = { } ) => parse ( `
8
+ const generateScalarNode = ( {
9
+ description,
10
+ name = 'Scalar' ,
11
+ } : { description : string , name ?: string } = { } ) : Object => parse ( `
7
12
# ${ description === undefined ? '' : description }
8
13
scalar ${ name }
9
14
` ) . definitions [ 0 ] ;
@@ -13,30 +18,36 @@ describe('buildScalar()', () => {
13
18
serialize,
14
19
parseValue,
15
20
parseLiteral,
16
- } = { } ) => new GraphQLScalarType ( { name, description, serialize, parseValue, parseLiteral } ) ;
21
+ } : $Shape < GraphQLScalarTypeConfig < * , * > > = { } ) => new GraphQLScalarType ( {
22
+ name,
23
+ description,
24
+ serialize,
25
+ parseValue,
26
+ parseLiteral,
27
+ } ) ;
17
28
18
- it ( 'should throw with without `serialize` in config', ( ) => {
19
- expect ( ( ) => buildScalar ( generateScalarAST ( ) ) ) . toThrow ( ) ;
29
+ test ( 'throws with without `serialize` in config', ( ) => {
30
+ expect ( ( ) => buildScalar ( generateScalarNode ( ) , ( { } : Object ) ) ) . toThrow ( ) ;
20
31
} ) ;
21
32
22
- it ( 'should work with `serialize` in config', ( ) => {
33
+ test ( 'builds with `serialize` in config', ( ) => {
23
34
const config = { serialize ( ) { } } ;
24
- expect ( buildScalar ( generateScalarAST ( ) , config ) ) . toEqual ( generateScalarType ( config ) ) ;
35
+ expect ( buildScalar ( generateScalarNode ( ) , config ) ) . toEqual ( generateScalarType ( config ) ) ;
25
36
} ) ;
26
37
27
- it ( 'should work with `serialize` in config and description in AST', ( ) => {
38
+ test ( 'builds with `serialize` in config and description in AST', ( ) => {
28
39
const config = { description : 'A description' , serialize ( ) { } } ;
29
- expect ( buildScalar ( generateScalarAST ( config ) , config ) ) . toEqual ( generateScalarType ( config ) ) ;
40
+ expect ( buildScalar ( generateScalarNode ( config ) , config ) ) . toEqual ( generateScalarType ( config ) ) ;
30
41
} ) ;
31
42
32
- it ( 'should work with `serialize`, `parseValue`, and `parseLiteral` in config', ( ) => {
43
+ test ( 'builds with `serialize`, `parseValue`, and `parseLiteral` in config', ( ) => {
33
44
const config = { serialize ( ) { } , parseValue ( ) { } , parseLiteral ( ) { } } ;
34
- expect ( buildScalar ( generateScalarAST ( ) , config ) ) . toEqual ( generateScalarType ( config ) ) ;
45
+ expect ( buildScalar ( generateScalarNode ( ) , config ) ) . toEqual ( generateScalarType ( config ) ) ;
35
46
} ) ;
36
47
37
- it ( 'should work with GraphQL scalar type ', ( ) => {
48
+ test ( 'builds with GraphQLScalarType ', ( ) => {
38
49
const config = { serialize ( ) { } } ;
39
- expect ( buildScalar ( generateScalarAST ( ) , generateScalarType ( config ) ) )
50
+ expect ( buildScalar ( generateScalarNode ( ) , generateScalarType ( config ) ) )
40
51
. toEqual ( generateScalarType ( config ) ) ;
41
52
} ) ;
42
53
} ) ;
0 commit comments