Skip to content

Commit 9da525a

Browse files
committed
test: add check for last/before args
Related graphql-compose/graphql-compose-mongoose#120
1 parent 6b7b10f commit 9da525a

File tree

2 files changed

+73
-0
lines changed

2 files changed

+73
-0
lines changed

src/__tests__/connectionResolver-test.js

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -831,4 +831,38 @@ describe('connectionResolver', () => {
831831
expect(data.pageInfo.hasPreviousPage).toBe(true);
832832
});
833833
});
834+
835+
describe.only('check last/before args', () => {
836+
const defaultResolver = prepareConnectionResolver(userTypeComposer, {
837+
countResolverName: 'count',
838+
findResolverName: 'findMany',
839+
sort: sortOptions,
840+
});
841+
842+
it('should use defaultLimit option', async () => {
843+
const res1 = await defaultResolver.resolve({
844+
args: {
845+
last: 2,
846+
before: '',
847+
sort: { id: 1 },
848+
},
849+
});
850+
expect(res1.edges).toEqual([
851+
{ cursor: 'eyJpZCI6MTR9', node: { age: 45, gender: 'm', id: 14, name: 'user14' } },
852+
{ cursor: 'eyJpZCI6MTV9', node: { age: 45, gender: 'm', id: 15, name: 'user15' } },
853+
]);
854+
855+
const res2 = await defaultResolver.resolve({
856+
args: {
857+
last: 2,
858+
before: 'eyJpZCI6MTR9',
859+
sort: { id: 1 },
860+
},
861+
});
862+
expect(res2.edges).toEqual([
863+
{ cursor: 'eyJpZCI6MTJ9', node: { age: 47, gender: 'f', id: 12, name: 'user12' } },
864+
{ cursor: 'eyJpZCI6MTN9', node: { age: 45, gender: 'f', id: 13, name: 'user13' } },
865+
]);
866+
});
867+
});
834868
});
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
/* @flow */
2+
/* eslint-disable no-param-reassign */
3+
4+
import { userTypeComposer, sortOptions } from '../../__mocks__/userTypeComposer';
5+
import { prepareConnectionResolver } from '../../connectionResolver';
6+
7+
describe('check last/before args', () => {
8+
const defaultResolver = prepareConnectionResolver(userTypeComposer, {
9+
countResolverName: 'count',
10+
findResolverName: 'findMany',
11+
sort: sortOptions,
12+
});
13+
14+
it('should use defaultLimit option', async () => {
15+
const res1 = await defaultResolver.resolve({
16+
args: {
17+
last: 2,
18+
before: '',
19+
sort: { id: 1 },
20+
},
21+
});
22+
expect(res1.edges).toEqual([
23+
{ cursor: 'eyJpZCI6MTR9', node: { age: 45, gender: 'm', id: 14, name: 'user14' } },
24+
{ cursor: 'eyJpZCI6MTV9', node: { age: 45, gender: 'm', id: 15, name: 'user15' } },
25+
]);
26+
27+
const res2 = await defaultResolver.resolve({
28+
args: {
29+
last: 2,
30+
before: 'eyJpZCI6MTR9',
31+
sort: { id: 1 },
32+
},
33+
});
34+
expect(res2.edges).toEqual([
35+
{ cursor: 'eyJpZCI6MTJ9', node: { age: 47, gender: 'f', id: 12, name: 'user12' } },
36+
{ cursor: 'eyJpZCI6MTN9', node: { age: 45, gender: 'f', id: 13, name: 'user13' } },
37+
]);
38+
});
39+
});

0 commit comments

Comments
 (0)