1- import { GraphQLScalarType } from 'graphql/type' ;
1+ /* @flow */
2+
3+ import { type GraphQLScalarTypeConfig , GraphQLScalarType } from 'graphql/type' ;
24import { parse } from 'graphql/language' ;
35import buildScalar from '../buildScalar' ;
46
57describe ( 'buildScalar()' , ( ) => {
6- const generateScalarAST = ( { description, name = 'Scalar' } = { } ) => parse ( `
8+ const generateScalarNode = ( {
9+ description,
10+ name = 'Scalar' ,
11+ } : { description : string , name ?: string } = { } ) : Object => parse ( `
712 # ${ description === undefined ? '' : description }
813 scalar ${ name }
914 ` ) . definitions [ 0 ] ;
@@ -13,30 +18,36 @@ describe('buildScalar()', () => {
1318 serialize,
1419 parseValue,
1520 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+ } ) ;
1728
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 ( ) ;
2031 } ) ;
2132
22- it ( 'should work with `serialize` in config', ( ) => {
33+ test ( 'builds with `serialize` in config', ( ) => {
2334 const config = { serialize ( ) { } } ;
24- expect ( buildScalar ( generateScalarAST ( ) , config ) ) . toEqual ( generateScalarType ( config ) ) ;
35+ expect ( buildScalar ( generateScalarNode ( ) , config ) ) . toEqual ( generateScalarType ( config ) ) ;
2536 } ) ;
2637
27- it ( 'should work with `serialize` in config and description in AST', ( ) => {
38+ test ( 'builds with `serialize` in config and description in AST', ( ) => {
2839 const config = { description : 'A description' , serialize ( ) { } } ;
29- expect ( buildScalar ( generateScalarAST ( config ) , config ) ) . toEqual ( generateScalarType ( config ) ) ;
40+ expect ( buildScalar ( generateScalarNode ( config ) , config ) ) . toEqual ( generateScalarType ( config ) ) ;
3041 } ) ;
3142
32- it ( 'should work with `serialize`, `parseValue`, and `parseLiteral` in config', ( ) => {
43+ test ( 'builds with `serialize`, `parseValue`, and `parseLiteral` in config', ( ) => {
3344 const config = { serialize ( ) { } , parseValue ( ) { } , parseLiteral ( ) { } } ;
34- expect ( buildScalar ( generateScalarAST ( ) , config ) ) . toEqual ( generateScalarType ( config ) ) ;
45+ expect ( buildScalar ( generateScalarNode ( ) , config ) ) . toEqual ( generateScalarType ( config ) ) ;
3546 } ) ;
3647
37- it ( 'should work with GraphQL scalar type ', ( ) => {
48+ test ( 'builds with GraphQLScalarType ', ( ) => {
3849 const config = { serialize ( ) { } } ;
39- expect ( buildScalar ( generateScalarAST ( ) , generateScalarType ( config ) ) )
50+ expect ( buildScalar ( generateScalarNode ( ) , generateScalarType ( config ) ) )
4051 . toEqual ( generateScalarType ( config ) ) ;
4152 } ) ;
4253} ) ;
0 commit comments