@@ -140,26 +140,38 @@ describe('connection() resolver', () => {
140140 await user2 . save ( ) ;
141141 } ) ;
142142
143- it ( 'should return Resolver object' , ( ) => {
143+ it ( 'should return Resolver object with default name ' , ( ) => {
144144 const resolver = connection ( UserModel , UserTC ) ;
145+ if ( ! resolver ) throw new Error ( 'Connection resolver is undefined' ) ;
145146 expect ( resolver ) . toBeInstanceOf ( Resolver ) ;
147+ expect ( resolver . getNestedName ( ) ) . toEqual ( 'connection' ) ;
148+ } ) ;
149+
150+ it ( 'should return Resolver object with custom name' , ( ) => {
151+ const resolver = connection ( UserModel , UserTC , {
152+ // $FlowFixMe
153+ connectionResolverName : 'customConnection' ,
154+ } ) ;
155+ if ( ! resolver ) throw new Error ( 'Connection resolver is undefined' ) ;
156+ expect ( resolver ) . toBeInstanceOf ( Resolver ) ;
157+ expect ( resolver . getNestedName ( ) ) . toEqual ( 'customConnection' ) ;
146158 } ) ;
147159
148160 it ( 'Resolver object should have `filter` arg' , ( ) => {
149161 const resolver = connection ( UserModel , UserTC ) ;
150- if ( ! resolver ) throw new Error ( 'Connection resolveris undefined' ) ;
162+ if ( ! resolver ) throw new Error ( 'Connection resolver is undefined' ) ;
151163 expect ( resolver . hasArg ( 'filter' ) ) . toBe ( true ) ;
152164 } ) ;
153165
154166 it ( 'Resolver object should have `sort` arg' , ( ) => {
155167 const resolver = connection ( UserModel , UserTC ) ;
156- if ( ! resolver ) throw new Error ( 'Connection resolveris undefined' ) ;
168+ if ( ! resolver ) throw new Error ( 'Connection resolver is undefined' ) ;
157169 expect ( resolver . hasArg ( 'sort' ) ) . toBe ( true ) ;
158170 } ) ;
159171
160172 it ( 'Resolver object should have `connection args' , ( ) => {
161173 const resolver = connection ( UserModel , UserTC ) ;
162- if ( ! resolver ) throw new Error ( 'Connection resolveris undefined' ) ;
174+ if ( ! resolver ) throw new Error ( 'Connection resolver is undefined' ) ;
163175 expect ( resolver . hasArg ( 'first' ) ) . toBe ( true ) ;
164176 expect ( resolver . hasArg ( 'last' ) ) . toBe ( true ) ;
165177 expect ( resolver . hasArg ( 'before' ) ) . toBe ( true ) ;
@@ -169,14 +181,14 @@ describe('connection() resolver', () => {
169181 describe ( 'Resolver.resolve():Promise' , ( ) => {
170182 it ( 'should be fulfilled Promise' , async ( ) => {
171183 const resolver = connection ( UserModel , UserTC ) ;
172- if ( ! resolver ) throw new Error ( 'Connection resolveris undefined' ) ;
184+ if ( ! resolver ) throw new Error ( 'Connection resolver is undefined' ) ;
173185 const result = resolver . resolve ( { args : { first : 20 } } ) ;
174186 await expect ( result ) . resolves . toBeDefined ( ) ;
175187 } ) ;
176188
177189 it ( 'should return array of documents in `edges`' , async ( ) => {
178190 const resolver = connection ( UserModel , UserTC ) ;
179- if ( ! resolver ) throw new Error ( 'Connection resolveris undefined' ) ;
191+ if ( ! resolver ) throw new Error ( 'Connection resolver is undefined' ) ;
180192 const result = await resolver . resolve ( { args : { first : 20 } } ) ;
181193
182194 expect ( result . edges ) . toBeInstanceOf ( Array ) ;
@@ -188,7 +200,7 @@ describe('connection() resolver', () => {
188200
189201 it ( 'should limit records' , async ( ) => {
190202 const resolver = connection ( UserModel , UserTC ) ;
191- if ( ! resolver ) throw new Error ( 'Connection resolveris undefined' ) ;
203+ if ( ! resolver ) throw new Error ( 'Connection resolver is undefined' ) ;
192204 const result = await resolver . resolve ( { args : { first : 1 } } ) ;
193205
194206 expect ( result . edges ) . toBeInstanceOf ( Array ) ;
@@ -197,7 +209,7 @@ describe('connection() resolver', () => {
197209
198210 it ( 'should sort records' , async ( ) => {
199211 const resolver = connection ( UserModel , UserTC ) ;
200- if ( ! resolver ) throw new Error ( 'Connection resolveris undefined' ) ;
212+ if ( ! resolver ) throw new Error ( 'Connection resolver is undefined' ) ;
201213
202214 const result1 = await resolver . resolve ( {
203215 args : { sort : { _id : 1 } , first : 1 } ,
@@ -212,7 +224,7 @@ describe('connection() resolver', () => {
212224
213225 it ( 'should return mongoose documents' , async ( ) => {
214226 const resolver = connection ( UserModel , UserTC ) ;
215- if ( ! resolver ) throw new Error ( 'Connection resolveris undefined' ) ;
227+ if ( ! resolver ) throw new Error ( 'Connection resolver is undefined' ) ;
216228
217229 const result = await resolver . resolve ( { args : { first : 20 } } ) ;
218230 expect ( result . edges [ 0 ] . node ) . toBeInstanceOf ( UserModel ) ;
@@ -275,6 +287,24 @@ describe('connection() resolver', () => {
275287
276288 expect ( result ) . toHaveProperty ( 'edges.0.node' , { overrides : true } ) ;
277289 } ) ;
290+
291+ it ( 'should return mongoose documents for custom resolvers from opts' , async ( ) => {
292+ schemaComposer . clear ( ) ;
293+ UserTC = convertModelToGraphQL ( UserModel , 'User' , schemaComposer ) ;
294+ UserTC . setResolver ( 'customFindMany' , findMany ( UserModel , UserTC ) ) ;
295+ UserTC . setResolver ( 'customCount' , count ( UserModel , UserTC ) ) ;
296+ const resolver = connection ( UserModel , UserTC , {
297+ // $FlowFixMe
298+ findResolverName : 'customFindMany' ,
299+ // $FlowFixMe
300+ countResolverName : 'customCount' ,
301+ } ) ;
302+ if ( ! resolver ) throw new Error ( 'Connection resolver is undefined' ) ;
303+
304+ const result = await resolver . resolve ( { args : { first : 20 } } ) ;
305+ expect ( result . edges [ 0 ] . node ) . toBeInstanceOf ( UserModel ) ;
306+ expect ( result . edges [ 1 ] . node ) . toBeInstanceOf ( UserModel ) ;
307+ } ) ;
278308 } ) ;
279309 } ) ;
280310} ) ;
0 commit comments