@@ -140,26 +140,38 @@ describe('connection() resolver', () => {
140
140
await user2 . save ( ) ;
141
141
} ) ;
142
142
143
- it ( 'should return Resolver object' , ( ) => {
143
+ it ( 'should return Resolver object with default name ' , ( ) => {
144
144
const resolver = connection ( UserModel , UserTC ) ;
145
+ if ( ! resolver ) throw new Error ( 'Connection resolver is undefined' ) ;
145
146
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' ) ;
146
158
} ) ;
147
159
148
160
it ( 'Resolver object should have `filter` arg' , ( ) => {
149
161
const resolver = connection ( UserModel , UserTC ) ;
150
- if ( ! resolver ) throw new Error ( 'Connection resolveris undefined' ) ;
162
+ if ( ! resolver ) throw new Error ( 'Connection resolver is undefined' ) ;
151
163
expect ( resolver . hasArg ( 'filter' ) ) . toBe ( true ) ;
152
164
} ) ;
153
165
154
166
it ( 'Resolver object should have `sort` arg' , ( ) => {
155
167
const resolver = connection ( UserModel , UserTC ) ;
156
- if ( ! resolver ) throw new Error ( 'Connection resolveris undefined' ) ;
168
+ if ( ! resolver ) throw new Error ( 'Connection resolver is undefined' ) ;
157
169
expect ( resolver . hasArg ( 'sort' ) ) . toBe ( true ) ;
158
170
} ) ;
159
171
160
172
it ( 'Resolver object should have `connection args' , ( ) => {
161
173
const resolver = connection ( UserModel , UserTC ) ;
162
- if ( ! resolver ) throw new Error ( 'Connection resolveris undefined' ) ;
174
+ if ( ! resolver ) throw new Error ( 'Connection resolver is undefined' ) ;
163
175
expect ( resolver . hasArg ( 'first' ) ) . toBe ( true ) ;
164
176
expect ( resolver . hasArg ( 'last' ) ) . toBe ( true ) ;
165
177
expect ( resolver . hasArg ( 'before' ) ) . toBe ( true ) ;
@@ -169,14 +181,14 @@ describe('connection() resolver', () => {
169
181
describe ( 'Resolver.resolve():Promise' , ( ) => {
170
182
it ( 'should be fulfilled Promise' , async ( ) => {
171
183
const resolver = connection ( UserModel , UserTC ) ;
172
- if ( ! resolver ) throw new Error ( 'Connection resolveris undefined' ) ;
184
+ if ( ! resolver ) throw new Error ( 'Connection resolver is undefined' ) ;
173
185
const result = resolver . resolve ( { args : { first : 20 } } ) ;
174
186
await expect ( result ) . resolves . toBeDefined ( ) ;
175
187
} ) ;
176
188
177
189
it ( 'should return array of documents in `edges`' , async ( ) => {
178
190
const resolver = connection ( UserModel , UserTC ) ;
179
- if ( ! resolver ) throw new Error ( 'Connection resolveris undefined' ) ;
191
+ if ( ! resolver ) throw new Error ( 'Connection resolver is undefined' ) ;
180
192
const result = await resolver . resolve ( { args : { first : 20 } } ) ;
181
193
182
194
expect ( result . edges ) . toBeInstanceOf ( Array ) ;
@@ -188,7 +200,7 @@ describe('connection() resolver', () => {
188
200
189
201
it ( 'should limit records' , async ( ) => {
190
202
const resolver = connection ( UserModel , UserTC ) ;
191
- if ( ! resolver ) throw new Error ( 'Connection resolveris undefined' ) ;
203
+ if ( ! resolver ) throw new Error ( 'Connection resolver is undefined' ) ;
192
204
const result = await resolver . resolve ( { args : { first : 1 } } ) ;
193
205
194
206
expect ( result . edges ) . toBeInstanceOf ( Array ) ;
@@ -197,7 +209,7 @@ describe('connection() resolver', () => {
197
209
198
210
it ( 'should sort records' , async ( ) => {
199
211
const resolver = connection ( UserModel , UserTC ) ;
200
- if ( ! resolver ) throw new Error ( 'Connection resolveris undefined' ) ;
212
+ if ( ! resolver ) throw new Error ( 'Connection resolver is undefined' ) ;
201
213
202
214
const result1 = await resolver . resolve ( {
203
215
args : { sort : { _id : 1 } , first : 1 } ,
@@ -212,7 +224,7 @@ describe('connection() resolver', () => {
212
224
213
225
it ( 'should return mongoose documents' , async ( ) => {
214
226
const resolver = connection ( UserModel , UserTC ) ;
215
- if ( ! resolver ) throw new Error ( 'Connection resolveris undefined' ) ;
227
+ if ( ! resolver ) throw new Error ( 'Connection resolver is undefined' ) ;
216
228
217
229
const result = await resolver . resolve ( { args : { first : 20 } } ) ;
218
230
expect ( result . edges [ 0 ] . node ) . toBeInstanceOf ( UserModel ) ;
@@ -275,6 +287,24 @@ describe('connection() resolver', () => {
275
287
276
288
expect ( result ) . toHaveProperty ( 'edges.0.node' , { overrides : true } ) ;
277
289
} ) ;
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
+ } ) ;
278
308
} ) ;
279
309
} ) ;
280
310
} ) ;
0 commit comments