1
1
import { Resolver , ResolverResolveParams } from 'graphql-compose' ;
2
2
import { GraphQLInt } from 'graphql-compose/lib/graphql' ;
3
- import { UserTC } from '../__mocks__/User' ;
4
- import { preparePaginationResolver } from '../paginationResolver ' ;
3
+ import { UserTC , countResolver , findManyResolver } from '../__mocks__/User' ;
4
+ import { preparePaginationResolver } from '../pagination ' ;
5
5
6
- describe ( 'paginationResolver ' , ( ) => {
7
- const spyFindManyResolve = jest . spyOn ( UserTC . getResolver ( 'findMany' ) , 'resolve' ) ;
8
- const spyCountResolve = jest . spyOn ( UserTC . getResolver ( 'count' ) , 'resolve' ) ;
6
+ describe ( 'preparePaginationResolver() ' , ( ) => {
7
+ const spyFindManyResolve = jest . spyOn ( findManyResolver , 'resolve' ) ;
8
+ const spyCountResolve = jest . spyOn ( countResolver , 'resolve' ) ;
9
9
const paginationResolver = preparePaginationResolver ( UserTC , {
10
- countResolverName : 'count' ,
11
- findResolverName : 'findMany' ,
10
+ countResolver ,
11
+ findManyResolver ,
12
12
perPage : 5 ,
13
13
} ) ;
14
14
@@ -25,38 +25,36 @@ describe('paginationResolver', () => {
25
25
} ) . toThrowError ( 'should be instance of ObjectTypeComposer' ) ;
26
26
} ) ;
27
27
28
- it ( 'should throw error if opts.countResolverName are empty' , ( ) => {
28
+ it ( 'should throw error if opts.countResolverName are empty or wrong ' , ( ) => {
29
29
expect ( ( ) => {
30
30
const wrongArgs = [ UserTC , { } ] ;
31
31
// @ts -expect-error
32
32
preparePaginationResolver ( ...wrongArgs ) ;
33
- } ) . toThrowError ( 'should have option `opts.countResolverName`' ) ;
34
- } ) ;
33
+ } ) . toThrowError ( "'opts.countResolver' must be a Resolver instance" ) ;
35
34
36
- it ( 'should throw error if resolver opts.countResolverName does not exists' , ( ) => {
37
35
expect ( ( ) =>
38
36
preparePaginationResolver ( UserTC , {
39
- countResolverName : 'countDoesNotExists' ,
40
- findResolverName : 'findMany' ,
37
+ // @ts -expect-error
38
+ countResolver : 'countDoesNotExists' ,
39
+ findManyResolver,
41
40
} )
42
- ) . toThrowError ( "does not have resolver with name 'countDoesNotExists' " ) ;
41
+ ) . toThrowError ( "'opts.countResolver' must be a Resolver instance " ) ;
43
42
} ) ;
44
43
45
- it ( 'should throw error if opts.findResolverName are empty' , ( ) => {
44
+ it ( 'should throw error if opts.findManyResolver are empty or wrong ' , ( ) => {
46
45
expect ( ( ) => {
47
46
const wrongArgs = [ UserTC , { countResolverName : 'count' } ] ;
48
47
// @ts -expect-error
49
48
preparePaginationResolver ( ...wrongArgs ) ;
50
- } ) . toThrowError ( 'should have option `opts.findResolverName`' ) ;
51
- } ) ;
49
+ } ) . toThrowError ( "'opts.countResolver' must be a Resolver instance" ) ;
52
50
53
- it ( 'should throw error if resolver opts.countResolverName does not exists' , ( ) => {
54
51
expect ( ( ) =>
55
52
preparePaginationResolver ( UserTC , {
56
- countResolverName : 'count' ,
57
- findResolverName : 'findManyDoesNotExists' ,
53
+ countResolver,
54
+ // @ts -expect-error
55
+ findManyResolver : 'findManyDoesNotExists' ,
58
56
} )
59
- ) . toThrowError ( "does not have resolver with name 'findManyDoesNotExists' " ) ;
57
+ ) . toThrowError ( "'opts.findManyResolver' must be a Resolver instance " ) ;
60
58
} ) ;
61
59
} ) ;
62
60
@@ -93,23 +91,19 @@ describe('paginationResolver', () => {
93
91
beforeEach ( ( ) => {
94
92
findManyResolverCalled = false ;
95
93
countResolverCalled = false ;
96
- const mockedFindMany = UserTC . getResolver ( 'findMany' ) . wrapResolve (
97
- ( next ) => ( resolveParams ) => {
98
- findManyResolverCalled = true ;
99
- spyResolveParams = resolveParams ;
100
- return next ( resolveParams ) ;
101
- }
102
- ) ;
103
- const mockedCount = UserTC . getResolver ( 'findMany' ) . wrapResolve ( ( next ) => ( resolveParams ) => {
94
+ const mockedFindMany = findManyResolver . wrapResolve ( ( next ) => ( resolveParams ) => {
95
+ findManyResolverCalled = true ;
96
+ spyResolveParams = resolveParams ;
97
+ return next ( resolveParams ) ;
98
+ } ) ;
99
+ const mockedCount = countResolver . wrapResolve ( ( next ) => ( resolveParams ) => {
104
100
countResolverCalled = true ;
105
101
spyResolveParams = resolveParams ;
106
102
return next ( resolveParams ) ;
107
103
} ) ;
108
- UserTC . setResolver ( 'mockedFindMany' , mockedFindMany ) ;
109
- UserTC . setResolver ( 'mockedCount' , mockedCount ) ;
110
104
mockedPaginationResolver = preparePaginationResolver ( UserTC , {
111
- countResolverName : ' mockedCount' ,
112
- findResolverName : ' mockedFindMany' ,
105
+ countResolver : mockedCount ,
106
+ findManyResolver : mockedFindMany ,
113
107
} ) ;
114
108
} ) ;
115
109
0 commit comments