33import { expect } from 'chai' ;
44import { TypeComposer } from 'graphql-compose' ;
55import { composeWithConnection } from '../composeWithConnection' ;
6- import { userTypeComposer } from '../__mocks__/userTypeComposer' ;
6+ import { userTypeComposer , sortOptions } from '../__mocks__/userTypeComposer' ;
77import { rootQueryTypeComposer } from '../__mocks__/rootQueryTypeComposer' ;
88import {
99 graphql ,
@@ -15,39 +15,7 @@ describe('composeWithRelay', () => {
1515 const userComposer = composeWithConnection ( userTypeComposer , {
1616 countResolverName : 'count' ,
1717 findResolverName : 'findMany' ,
18- sort : {
19- ID_ASC : {
20- uniqueFields : [ 'id' ] ,
21- sortValue : { id : 1 } ,
22- directionFilter : ( filter , cursorData , isBefore ) => {
23- filter . _operators = filter . _operators || { } ;
24- filter . _operators . id = filter . _operators . id || { } ;
25- if ( isBefore ) {
26- filter . _operators . id . lt = cursorData . id ;
27- } else {
28- filter . _operators . id . gt = cursorData . id ;
29- }
30- return filter ;
31- } ,
32- } ,
33- AGE_ID_DESC : {
34- uniqueFields : [ 'age' , 'id' ] ,
35- sortValue : { age : - 1 , id : - 1 } ,
36- directionFilter : ( filter , cursorData , isBefore ) => {
37- filter . _operators = filter . _operators || { } ;
38- filter . _operators . id = filter . _operators . id || { } ;
39- filter . _operators . age = filter . _operators . age || { } ;
40- if ( isBefore ) {
41- filter . _operators . age . gt = cursorData . age ;
42- filter . _operators . id . gt = cursorData . id ;
43- } else {
44- filter . _operators . age . lt = cursorData . age ;
45- filter . _operators . id . lt = cursorData . id ;
46- }
47- return filter ;
48- } ,
49- } ,
50- } ,
18+ sort : sortOptions ,
5119 } ) ;
5220
5321 describe ( 'basic checks' , ( ) => {
@@ -170,24 +138,16 @@ describe('composeWithRelay', () => {
170138 } ) ;
171139 } ) ;
172140
173- describe ( 'projection() ' , ( ) => {
141+ describe ( 'fragments fields projection of graphql-compose ' , ( ) => {
174142 it ( 'should return object' , async ( ) => {
175- // const resolver = userTypeComposer.getResolver('connection');
176- // const resolve = resolver.resolve;
177- // resolver.resolve = (resolveParams) => {
178- // const pr = getProjectionFromAST(resolveParams.info);
179- // console.log(pr);
180- // resolve(resolveParams);
181- // };
182-
183143 rootQueryTypeComposer . addField ( 'userConnection' ,
184144 userTypeComposer . getResolver ( 'connection' ) . getFieldConfig ( )
185145 ) ;
186146 const schema = new GraphQLSchema ( {
187147 query : rootQueryTypeComposer . getType ( ) ,
188148 } ) ;
189149 const query = `{
190- userConnection(first: 3 ) {
150+ userConnection(first: 1 ) {
191151 count,
192152 pageInfo {
193153 startCursor
@@ -215,7 +175,30 @@ describe('composeWithRelay', () => {
215175 }
216176 ` ;
217177 const result = await graphql ( schema , query ) ;
218- console . log ( result . data . userConnection . edges ) ;
178+ expect ( result ) . to . deep . equal ( {
179+ data : {
180+ userConnection : {
181+ count : 15 ,
182+ edges : [
183+ {
184+ cursor : 'eyJpZCI6MX0=' ,
185+ node : {
186+ age : 11 ,
187+ gender : 'm' ,
188+ id : 1 ,
189+ name : 'user1' ,
190+ } ,
191+ } ,
192+ ] ,
193+ pageInfo : {
194+ endCursor : 'eyJpZCI6MX0=' ,
195+ hasPreviousPage : false ,
196+ hasNextPage : true ,
197+ startCursor : 'eyJpZCI6MX0=' ,
198+ } ,
199+ } ,
200+ } ,
201+ } ) ;
219202 } ) ;
220203 } ) ;
221204} ) ;
0 commit comments