|
| 1 | +/* @flow */ |
| 2 | + |
1 | 3 | import { expect } from 'chai'; |
2 | 4 | import { UserModel } from '../../__mocks__/userModel.js'; |
3 | 5 | import findOne from '../findOne'; |
4 | 6 | import Resolver from '../../../../graphql-compose/src/resolver/resolver'; |
| 7 | +import { GraphQLObjectType } from 'graphql'; |
| 8 | + |
| 9 | +const UserType = new GraphQLObjectType({ |
| 10 | + name: 'MockUserType', |
| 11 | +}); |
5 | 12 |
|
6 | 13 | describe('findOne() ->', () => { |
7 | 14 | let user1; |
@@ -33,52 +40,52 @@ describe('findOne() ->', () => { |
33 | 40 | }); |
34 | 41 |
|
35 | 42 | it('should return Resolver object', () => { |
36 | | - const resolver = findOne(UserModel); |
| 43 | + const resolver = findOne(UserModel, UserType); |
37 | 44 | expect(resolver).to.be.instanceof(Resolver); |
38 | 45 | }); |
39 | 46 |
|
40 | 47 | it('Resolver object should have `filter` arg', () => { |
41 | | - const resolver = findOne(UserModel); |
| 48 | + const resolver = findOne(UserModel, UserType); |
42 | 49 | expect(resolver.hasArg('filter')).to.be.true; |
43 | 50 | }); |
44 | 51 |
|
45 | 52 | it('Resolver object should have `skip` arg', () => { |
46 | | - const resolver = findOne(UserModel); |
| 53 | + const resolver = findOne(UserModel, UserType); |
47 | 54 | expect(resolver.hasArg('skip')).to.be.true; |
48 | 55 | }); |
49 | 56 |
|
50 | 57 | it('Resolver object should have `sort` arg', () => { |
51 | | - const resolver = findOne(UserModel); |
| 58 | + const resolver = findOne(UserModel, UserType); |
52 | 59 | expect(resolver.hasArg('sort')).to.be.true; |
53 | 60 | }); |
54 | 61 |
|
55 | 62 | describe('Resolver.resolve():Promise', () => { |
56 | 63 | it('should be fulfilled promise', async () => { |
57 | | - const result = findOne(UserModel).resolve(); |
| 64 | + const result = findOne(UserModel, UserType).resolve({}); |
58 | 65 | await expect(result).be.fulfilled; |
59 | 66 | }); |
60 | 67 |
|
61 | 68 | it('should return one document if args is empty', async () => { |
62 | | - const result = await findOne(UserModel).resolve({ args: null }); |
| 69 | + const result = await findOne(UserModel, UserType).resolve({ args: {} }); |
63 | 70 | expect(result).is.a('object'); |
64 | 71 | expect(result).have.property('name').that.oneOf([user1.name, user2.name]); |
65 | 72 | }); |
66 | 73 |
|
67 | 74 | it('should return document if provided existed id', async () => { |
68 | | - const result = await findOne(UserModel).resolve({ args: { id: user1._id } }); |
| 75 | + const result = await findOne(UserModel, UserType).resolve({ args: { id: user1._id } }); |
69 | 76 | expect(result).have.property('name').that.equal(user1.name); |
70 | 77 | }); |
71 | 78 |
|
72 | 79 | it('should skip records', async () => { |
73 | | - const result = await findOne(UserModel).resolve({ args: { skip: 2000 } }); |
| 80 | + const result = await findOne(UserModel, UserType).resolve({ args: { skip: 2000 } }); |
74 | 81 | expect(result).to.be.null; |
75 | 82 | }); |
76 | 83 |
|
77 | 84 | it('should sort records', async () => { |
78 | | - const result1 = await findOne(UserModel) |
| 85 | + const result1 = await findOne(UserModel, UserType) |
79 | 86 | .resolve({ args: { sort: { _id: 1 } } }); |
80 | 87 |
|
81 | | - const result2 = await findOne(UserModel) |
| 88 | + const result2 = await findOne(UserModel, UserType) |
82 | 89 | .resolve({ args: { sort: { _id: -1 } } }); |
83 | 90 |
|
84 | 91 | expect(`${result1._id}`).not.equal(`${result2._id}`); |
|
0 commit comments