33import { expect } from 'chai' ;
44import { UserModel } from '../../__mocks__/userModel.js' ;
55import createOne from '../createOne' ;
6- import Resolver from 'graphql-compose/lib/resolver/resolver' ;
7- import TypeComposer from 'graphql-compose/lib/typeComposer' ;
8- import { convertModelToGraphQL } from '../../fieldsConverter' ;
6+ import { Resolver , TypeComposer } from 'graphql-compose' ;
7+ import { mongooseModelToTypeComposer } from '../../modelConverter' ;
98import GraphQLMongoID from '../../types/mongoid' ;
109import { GraphQLNonNull } from 'graphql' ;
1110
12- const UserType = convertModelToGraphQL ( UserModel , 'User' ) ;
11+ const UserTypeComposer = mongooseModelToTypeComposer ( UserModel ) ;
1312
1413describe ( 'createOne() ->' , ( ) => {
1514 before ( 'clear UserModel collection' , ( done ) => {
@@ -19,13 +18,13 @@ describe('createOne() ->', () => {
1918 } ) ;
2019
2120 it ( 'should return Resolver object' , ( ) => {
22- const resolver = createOne ( UserModel , UserType ) ;
21+ const resolver = createOne ( UserModel , UserTypeComposer ) ;
2322 expect ( resolver ) . to . be . instanceof ( Resolver ) ;
2423 } ) ;
2524
2625 describe ( 'Resolver.args' , ( ) => {
2726 it ( 'should have required `input` arg' , ( ) => {
28- const resolver = createOne ( UserModel , UserType ) ;
27+ const resolver = createOne ( UserModel , UserTypeComposer ) ;
2928 const argConfig = resolver . getArg ( 'input' ) ;
3029 expect ( argConfig ) . property ( 'type' ) . instanceof ( GraphQLNonNull ) ;
3130 expect ( argConfig ) . deep . property ( 'type.ofType.name' , 'CreateOneUserInput' ) ;
@@ -34,18 +33,18 @@ describe('createOne() ->', () => {
3433
3534 describe ( 'Resolver.resolve():Promise' , ( ) => {
3635 it ( 'should be promise' , ( ) => {
37- const result = createOne ( UserModel , UserType ) . resolve ( { } ) ;
36+ const result = createOne ( UserModel , UserTypeComposer ) . resolve ( { } ) ;
3837 expect ( result ) . instanceof ( Promise ) ;
3938 result . catch ( ( ) => 'catch error if appear, hide it from mocha' ) ;
4039 } ) ;
4140
4241 it ( 'should rejected with Error if args.input is empty' , async ( ) => {
43- const result = createOne ( UserModel , UserType ) . resolve ( { args : { } } ) ;
42+ const result = createOne ( UserModel , UserTypeComposer ) . resolve ( { args : { } } ) ;
4443 await expect ( result ) . be . rejectedWith ( Error , 'at least one value in args.input' ) ;
4544 } ) ;
4645
4746 it ( 'should return payload.recordId' , async ( ) => {
48- const result = await createOne ( UserModel , UserType ) . resolve ( {
47+ const result = await createOne ( UserModel , UserTypeComposer ) . resolve ( {
4948 args : {
5049 input : { name : 'newName' } ,
5150 } ,
@@ -54,7 +53,7 @@ describe('createOne() ->', () => {
5453 } ) ;
5554
5655 it ( 'should create document with args.input' , async ( ) => {
57- const result = await createOne ( UserModel , UserType ) . resolve ( {
56+ const result = await createOne ( UserModel , UserTypeComposer ) . resolve ( {
5857 args : {
5958 input : { name : 'newName' } ,
6059 } ,
@@ -64,7 +63,7 @@ describe('createOne() ->', () => {
6463
6564 it ( 'should save document to database' , ( done ) => {
6665 const checkedName = 'nameForMongoDB' ;
67- createOne ( UserModel , UserType ) . resolve ( {
66+ createOne ( UserModel , UserTypeComposer ) . resolve ( {
6867 args : {
6968 input : { name : checkedName } ,
7069 } ,
@@ -77,7 +76,7 @@ describe('createOne() ->', () => {
7776 } ) ;
7877
7978 it ( 'should return payload.record' , async ( ) => {
80- const result = await createOne ( UserModel , UserType ) . resolve ( {
79+ const result = await createOne ( UserModel , UserTypeComposer ) . resolve ( {
8180 args : {
8281 input : { name : 'NewUser' } ,
8382 } ,
@@ -88,20 +87,21 @@ describe('createOne() ->', () => {
8887
8988 describe ( 'Resolver.getOutputType()' , ( ) => {
9089 it ( 'should have correct output type name' , ( ) => {
91- const outputType = createOne ( UserModel , UserType ) . getOutputType ( ) ;
92- expect ( outputType ) . property ( 'name' ) . to . equal ( `CreateOne${ UserType . name } Payload` ) ;
90+ const outputType = createOne ( UserModel , UserTypeComposer ) . getOutputType ( ) ;
91+ expect ( outputType ) . property ( 'name' )
92+ . to . equal ( `CreateOne${ UserTypeComposer . getTypeName ( ) } Payload` ) ;
9393 } ) ;
9494
9595 it ( 'should have recordId field' , ( ) => {
96- const outputType = createOne ( UserModel , UserType ) . getOutputType ( ) ;
96+ const outputType = createOne ( UserModel , UserTypeComposer ) . getOutputType ( ) ;
9797 const recordIdField = new TypeComposer ( outputType ) . getField ( 'recordId' ) ;
9898 expect ( recordIdField ) . property ( 'type' ) . to . equal ( GraphQLMongoID ) ;
9999 } ) ;
100100
101101 it ( 'should have record field' , ( ) => {
102- const outputType = createOne ( UserModel , UserType ) . getOutputType ( ) ;
102+ const outputType = createOne ( UserModel , UserTypeComposer ) . getOutputType ( ) ;
103103 const recordField = new TypeComposer ( outputType ) . getField ( 'record' ) ;
104- expect ( recordField ) . property ( 'type' ) . to . equal ( UserType ) ;
104+ expect ( recordField ) . property ( 'type' ) . to . equal ( UserTypeComposer . getType ( ) ) ;
105105 } ) ;
106106 } ) ;
107107} ) ;
0 commit comments