Skip to content

Commit 0fe5ec1

Browse files
committed
fix broken tests
1 parent 46ae662 commit 0fe5ec1

File tree

19 files changed

+80
-41
lines changed

19 files changed

+80
-41
lines changed

.flowconfig

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
[ignore]
2-
.*/__tests__/.*
3-
.*/__mocks__/.*
42
.*/lib/.*
53
.*/dist/.*
64
.*/coverage/.*

flow-typed/npm/mocha_v2.4.x.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,8 @@ declare function before(method : TestFunction):void;
2323
declare function beforeEach(method : TestFunction):void;
2424
declare function after(method : TestFunction):void;
2525
declare function afterEach(method : TestFunction):void;
26+
27+
declare function before(description:string, method : TestFunction):void;
28+
declare function beforeEach(description:string, method : TestFunction):void;
29+
declare function after(description:string, method : TestFunction):void;
30+
declare function afterEach(description:string, method : TestFunction):void;

src/__mocks__/userModel.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ const UserSchema = new Schema(
8585
}
8686
);
8787

88+
UserSchema.set('autoIndex', false);
8889
UserSchema.index({ name: 1, totalExperience: -1 });
8990

9091
UserSchema.virtual('nameVirtual').get(function () { // eslint-disable-line

src/definition.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@ export type MonooseModelIndex = [
2121
export type MongooseModelT = {
2222
schema: MongooseModelSchemaT,
2323
findOne(criteria: ?Object, projection?: Object): MongooseQuery,
24+
findById(id: mixed, projection?: Object, options?: Object): MongooseQuery,
25+
find(conditions: ?Object, projection?: Object, options?: Object): MongooseQuery,
26+
findOneAndRemove(conditions: ?Object, options?: Object): MongooseQuery,
2427
}
2528

2629
export type MongooseFieldOptionsT = {

src/resolvers/__tests__/findById-test.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
/* @flow */
2+
13
import { expect } from 'chai';
24
import { UserModel } from '../../__mocks__/userModel.js';
35
import findById from '../findById';
@@ -31,7 +33,7 @@ describe('findById() ->', () => {
3133

3234
describe('Resolver.resolve():Promise', () => {
3335
it('should be fulfilled promise', async () => {
34-
const result = findById(UserModel).resolve();
36+
const result = findById(UserModel).resolve({});
3537
await expect(result).be.fulfilled;
3638
});
3739

@@ -41,7 +43,7 @@ describe('findById() ->', () => {
4143
});
4244

4345
it('should return null if args.id is empty', async () => {
44-
const result = await findById(UserModel).resolve();
46+
const result = await findById(UserModel).resolve({});
4547
expect(result).equal(null);
4648
});
4749

src/resolvers/__tests__/findByIds-test.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
/* @flow */
2+
13
import { expect } from 'chai';
24
import { UserModel } from '../../__mocks__/userModel.js';
35
import findByIds from '../findByIds';
@@ -55,12 +57,12 @@ describe('findByIds() ->', () => {
5557

5658
describe('Resolver.resolve():Promise', () => {
5759
it('should be fulfilled promise', async () => {
58-
const result = findByIds(UserModel, UserType).resolve();
60+
const result = findByIds(UserModel, UserType).resolve({});
5961
await expect(result).be.fulfilled;
6062
});
6163

6264
it('should return empty array if args.ids is empty', async () => {
63-
const result = await findByIds(UserModel, UserType).resolve();
65+
const result = await findByIds(UserModel, UserType).resolve({});
6466
expect(result).to.be.instanceOf(Array);
6567
expect(result).to.be.empty;
6668
});

src/resolvers/__tests__/findMany-test.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
/* @flow */
2+
13
import { expect } from 'chai';
24
import { UserModel } from '../../__mocks__/userModel.js';
35
import findMany from '../findMany';
@@ -65,12 +67,12 @@ describe('findMany() ->', () => {
6567

6668
describe('Resolver.resolve():Promise', () => {
6769
it('should be fulfilled Promise', async () => {
68-
const result = findMany(UserModel, UserType).resolve();
70+
const result = findMany(UserModel, UserType).resolve({});
6971
await expect(result).be.fulfilled;
7072
});
7173

7274
it('should return array of documents if args is empty', async () => {
73-
const result = await findMany(UserModel, UserType).resolve();
75+
const result = await findMany(UserModel, UserType).resolve({});
7476

7577
expect(result).to.be.instanceOf(Array);
7678
expect(result).to.have.lengthOf(2);

src/resolvers/__tests__/findOne-test.js

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,14 @@
1+
/* @flow */
2+
13
import { expect } from 'chai';
24
import { UserModel } from '../../__mocks__/userModel.js';
35
import findOne from '../findOne';
46
import Resolver from '../../../../graphql-compose/src/resolver/resolver';
7+
import { GraphQLObjectType } from 'graphql';
8+
9+
const UserType = new GraphQLObjectType({
10+
name: 'MockUserType',
11+
});
512

613
describe('findOne() ->', () => {
714
let user1;
@@ -33,52 +40,52 @@ describe('findOne() ->', () => {
3340
});
3441

3542
it('should return Resolver object', () => {
36-
const resolver = findOne(UserModel);
43+
const resolver = findOne(UserModel, UserType);
3744
expect(resolver).to.be.instanceof(Resolver);
3845
});
3946

4047
it('Resolver object should have `filter` arg', () => {
41-
const resolver = findOne(UserModel);
48+
const resolver = findOne(UserModel, UserType);
4249
expect(resolver.hasArg('filter')).to.be.true;
4350
});
4451

4552
it('Resolver object should have `skip` arg', () => {
46-
const resolver = findOne(UserModel);
53+
const resolver = findOne(UserModel, UserType);
4754
expect(resolver.hasArg('skip')).to.be.true;
4855
});
4956

5057
it('Resolver object should have `sort` arg', () => {
51-
const resolver = findOne(UserModel);
58+
const resolver = findOne(UserModel, UserType);
5259
expect(resolver.hasArg('sort')).to.be.true;
5360
});
5461

5562
describe('Resolver.resolve():Promise', () => {
5663
it('should be fulfilled promise', async () => {
57-
const result = findOne(UserModel).resolve();
64+
const result = findOne(UserModel, UserType).resolve({});
5865
await expect(result).be.fulfilled;
5966
});
6067

6168
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: {} });
6370
expect(result).is.a('object');
6471
expect(result).have.property('name').that.oneOf([user1.name, user2.name]);
6572
});
6673

6774
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 } });
6976
expect(result).have.property('name').that.equal(user1.name);
7077
});
7178

7279
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 } });
7481
expect(result).to.be.null;
7582
});
7683

7784
it('should sort records', async () => {
78-
const result1 = await findOne(UserModel)
85+
const result1 = await findOne(UserModel, UserType)
7986
.resolve({ args: { sort: { _id: 1 } } });
8087

81-
const result2 = await findOne(UserModel)
88+
const result2 = await findOne(UserModel, UserType)
8289
.resolve({ args: { sort: { _id: -1 } } });
8390

8491
expect(`${result1._id}`).not.equal(`${result2._id}`);

src/resolvers/createOne.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/* @flow */

src/resolvers/findById.js

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
1+
/* @flow */
2+
13
import type {
24
MongooseModelT,
35
GraphQLObjectType,
4-
} from './definition';
6+
ExtendedResolveParams,
7+
} from '../definition';
58
import Resolver from '../../../graphql-compose/src/resolver/resolver';
69

710
import {
@@ -22,13 +25,13 @@ export default function findById(model: MongooseModelT, gqType: GraphQLObjectTyp
2225
type: new GraphQLNonNull(GraphQLID),
2326
},
2427
},
25-
resolve: (resolveParams = {}) => {
28+
resolve: (resolveParams : ExtendedResolveParams = {}) => {
2629
const args = resolveParams.args || {};
2730

2831
if (args.id) {
29-
resolveParams.cursor = model.findById(args.id); // eslint-disable-line
32+
resolveParams.query = model.findById(args.id); // eslint-disable-line
3033
projectionHelper(resolveParams);
31-
return resolveParams.cursor.exec();
34+
return resolveParams.query.exec();
3235
}
3336
return Promise.resolve(null);
3437
},

0 commit comments

Comments
 (0)