Skip to content

Commit 166605a

Browse files
committed
Rename input arg in mutation to record (due graphql-compose-relay compatibility).
1 parent 58af81c commit 166605a

File tree

15 files changed

+190
-190
lines changed

15 files changed

+190
-190
lines changed

README.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -145,16 +145,16 @@ export type typeConverterResolversOpts = {
145145
skip?: false,
146146
},
147147
updateById?: false | {
148-
input?: inputHelperArgsOpts | false,
148+
record?: recordHelperArgsOpts | false,
149149
},
150150
updateOne?: false | {
151-
input?: inputHelperArgsOpts | false,
151+
record?: recordHelperArgsOpts | false,
152152
filter?: filterHelperArgsOpts | false,
153153
sort?: sortHelperArgsOpts | false,
154154
skip?: false,
155155
},
156156
updateMany?: false | {
157-
input?: inputHelperArgsOpts | false,
157+
record?: recordHelperArgsOpts | false,
158158
filter?: filterHelperArgsOpts | false,
159159
sort?: sortHelperArgsOpts | false,
160160
limit?: limitHelperArgsOpts | false,
@@ -169,15 +169,15 @@ export type typeConverterResolversOpts = {
169169
filter?: filterHelperArgsOpts | false,
170170
},
171171
createOne?: false | {
172-
input?: inputHelperArgsOpts | false,
172+
record?: recordHelperArgsOpts | false,
173173
},
174174
count?: false | {
175175
filter?: filterHelperArgsOpts | false,
176176
},
177177
};
178178
```
179179

180-
This is `opts.resolvers.[resolverName].[filter|sort|input|limit]` level of options.
180+
This is `opts.resolvers.[resolverName].[filter|sort|record|limit]` level of options.
181181
You may tune every resolver's args independently as you wish.
182182
Here you may setup every argument and override some fields from the default input object type, described above in `opts.inputType`.
183183
```js
@@ -192,9 +192,9 @@ export type sortHelperArgsOpts = {
192192
sortTypeName?: string, // type name for `sort`
193193
};
194194

195-
export type inputHelperArgsOpts = {
196-
inputTypeName?: string, // type name for `input`
197-
isRequired?: boolean, // set `input` arg as required (wraps in GraphQLNonNull)
195+
export type recordHelperArgsOpts = {
196+
recordTypeName?: string, // type name for `record`
197+
isRequired?: boolean, // set `record` arg as required (wraps in GraphQLNonNull)
198198
removeFields?: string[], // provide fieldNames, that should be removed
199199
requiredFields?: string[], // provide fieldNames, that should be required
200200
};

resources/watch.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ function exec(command, options) {
1515
cmd: cmd,
1616
env: {
1717
...process.env,
18-
BABEL_ENV: 'cjs',
1918
},
2019
stdio: 'inherit'
2120
});
@@ -122,6 +121,7 @@ function runTests(filepaths) {
122121
// '--reporter', 'progress',
123122
'--reporter', 'dot',
124123
'--require', './resources/mocha-bootload',
124+
'--require', 'babel-polyfill',
125125
].concat(
126126
allTests(filepaths) ?
127127
filepaths.map(srcPath) :

src/definition.js

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ export type ExtendedResolveParams = ResolveParams & {
9999
export type genResolverOpts = {
100100
filter?: filterHelperArgsOpts,
101101
sort?: sortHelperArgsOpts,
102-
input?: inputHelperArgsOpts,
102+
record?: recordHelperArgsOpts,
103103
limit?: limitHelperArgsOpts,
104104
}
105105

@@ -144,16 +144,16 @@ export type typeConverterResolversOpts = {
144144
skip?: false,
145145
},
146146
updateById?: false | {
147-
input?: inputHelperArgsOpts | false,
147+
input?: recordHelperArgsOpts | false,
148148
},
149149
updateOne?: false | {
150-
input?: inputHelperArgsOpts | false,
150+
input?: recordHelperArgsOpts | false,
151151
filter?: filterHelperArgsOpts | false,
152152
sort?: sortHelperArgsOpts | false,
153153
skip?: false,
154154
},
155155
updateMany?: false | {
156-
input?: inputHelperArgsOpts | false,
156+
input?: recordHelperArgsOpts | false,
157157
filter?: filterHelperArgsOpts | false,
158158
sort?: sortHelperArgsOpts | false,
159159
limit?: limitHelperArgsOpts | false,
@@ -168,7 +168,7 @@ export type typeConverterResolversOpts = {
168168
filter?: filterHelperArgsOpts | false,
169169
},
170170
createOne?: false | {
171-
input?: inputHelperArgsOpts | false,
171+
input?: recordHelperArgsOpts | false,
172172
},
173173
count?: false | {
174174
filter?: filterHelperArgsOpts | false,
@@ -187,8 +187,8 @@ export type sortHelperArgsOpts = {
187187
sortTypeName?: string,
188188
};
189189

190-
export type inputHelperArgsOpts = {
191-
inputTypeName?: string,
190+
export type recordHelperArgsOpts = {
191+
recordTypeName?: string,
192192
isRequired?: boolean,
193193
removeFields?: string[],
194194
requiredFields?: string[],

src/resolvers/__tests__/createOne-test.js

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@ describe('createOne() ->', () => {
2323
});
2424

2525
describe('Resolver.args', () => {
26-
it('should have required `input` arg', () => {
26+
it('should have required `record` arg', () => {
2727
const resolver = createOne(UserModel, UserTypeComposer);
28-
const argConfig = resolver.getArg('input');
28+
const argConfig = resolver.getArg('record');
2929
expect(argConfig).property('type').instanceof(GraphQLNonNull);
3030
expect(argConfig).deep.property('type.ofType.name', 'CreateOneUserInput');
3131
});
@@ -38,24 +38,24 @@ describe('createOne() ->', () => {
3838
result.catch(() => 'catch error if appear, hide it from mocha');
3939
});
4040

41-
it('should rejected with Error if args.input is empty', async () => {
41+
it('should rejected with Error if args.record is empty', async () => {
4242
const result = createOne(UserModel, UserTypeComposer).resolve({ args: {} });
43-
await expect(result).be.rejectedWith(Error, 'at least one value in args.input');
43+
await expect(result).be.rejectedWith(Error, 'at least one value in args.record');
4444
});
4545

4646
it('should return payload.recordId', async () => {
4747
const result = await createOne(UserModel, UserTypeComposer).resolve({
4848
args: {
49-
input: { name: 'newName' },
49+
record: { name: 'newName' },
5050
},
5151
});
5252
expect(result).property('recordId').to.be.ok;
5353
});
5454

55-
it('should create document with args.input', async () => {
55+
it('should create document with args.record', async () => {
5656
const result = await createOne(UserModel, UserTypeComposer).resolve({
5757
args: {
58-
input: { name: 'newName' },
58+
record: { name: 'newName' },
5959
},
6060
});
6161
expect(result).have.deep.property('record.name', 'newName');
@@ -65,7 +65,7 @@ describe('createOne() ->', () => {
6565
const checkedName = 'nameForMongoDB';
6666
createOne(UserModel, UserTypeComposer).resolve({
6767
args: {
68-
input: { name: checkedName },
68+
record: { name: checkedName },
6969
},
7070
}).then((res) => {
7171
UserModel.collection.findOne({ _id: res.record._id }, (err, doc) => {
@@ -78,7 +78,7 @@ describe('createOne() ->', () => {
7878
it('should return payload.record', async () => {
7979
const result = await createOne(UserModel, UserTypeComposer).resolve({
8080
args: {
81-
input: { name: 'NewUser' },
81+
record: { name: 'NewUser' },
8282
},
8383
});
8484
expect(result).have.deep.property('record.id', result.recordId);

src/resolvers/__tests__/updateById-test.js

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -51,16 +51,16 @@ describe('updateById() ->', () => {
5151
});
5252

5353
describe('Resolver.args', () => {
54-
it('should have `input` arg', () => {
54+
it('should have `record` arg', () => {
5555
const resolver = updateById(UserModel, UserTypeComposer);
56-
const argConfig = resolver.getArg('input');
56+
const argConfig = resolver.getArg('record');
5757
expect(argConfig).property('type').instanceof(GraphQLNonNull);
5858
expect(argConfig).deep.property('type.ofType.name', 'UpdateByIdUserInput');
5959
});
6060

61-
it('should have `input._id` required arg', () => {
61+
it('should have `record._id` required arg', () => {
6262
const resolver = updateById(UserModel, UserTypeComposer);
63-
const argConfig = resolver.getArg('input') || {};
63+
const argConfig = resolver.getArg('record') || {};
6464
expect(argConfig).deep.property('type.ofType').instanceof(GraphQLInputObjectType);
6565
if (argConfig.type && argConfig.type.ofType) {
6666
const _idFieldType = new InputTypeComposer(argConfig.type.ofType).getFieldType('_id');
@@ -77,34 +77,34 @@ describe('updateById() ->', () => {
7777
result.catch(() => 'catch error if appear, hide it from mocha');
7878
});
7979

80-
it('should rejected with Error if args.input._id is empty', async () => {
81-
const result = updateById(UserModel, UserTypeComposer).resolve({ args: { input: {} } });
82-
await expect(result).be.rejectedWith(Error, 'requires args.input._id');
80+
it('should rejected with Error if args.record._id is empty', async () => {
81+
const result = updateById(UserModel, UserTypeComposer).resolve({ args: { record: {} } });
82+
await expect(result).be.rejectedWith(Error, 'requires args.record._id');
8383
});
8484

8585
it('should return payload.recordId', async () => {
8686
const result = await updateById(UserModel, UserTypeComposer).resolve({
8787
args: {
88-
input: { _id: user1.id, name: 'some name' },
88+
record: { _id: user1.id, name: 'some name' },
8989
},
9090
});
9191
expect(result).have.property('recordId', user1.id);
9292
});
9393

94-
it('should change data via args.input in model', async () => {
94+
it('should change data via args.record in model', async () => {
9595
const result = await updateById(UserModel, UserTypeComposer).resolve({
9696
args: {
97-
input: { _id: user1.id, name: 'newName' },
97+
record: { _id: user1.id, name: 'newName' },
9898
},
9999
});
100100
expect(result).have.deep.property('record.name', 'newName');
101101
});
102102

103-
it('should change data via args.input in database', (done) => {
103+
it('should change data via args.record in database', (done) => {
104104
const checkedName = 'nameForMongoDB';
105105
updateById(UserModel, UserTypeComposer).resolve({
106106
args: {
107-
input: { _id: user1.id, name: checkedName },
107+
record: { _id: user1.id, name: checkedName },
108108
},
109109
}).then(() => {
110110
UserModel.collection.findOne({ _id: user1._id }, (err, doc) => {
@@ -118,7 +118,7 @@ describe('updateById() ->', () => {
118118
const checkedName = 'anyName123';
119119
const result = await updateById(UserModel, UserTypeComposer).resolve({
120120
args: {
121-
input: { _id: user1.id, name: checkedName },
121+
record: { _id: user1.id, name: checkedName },
122122
},
123123
});
124124
expect(result).have.deep.property('record.id', user1.id);

src/resolvers/__tests__/updateMany-test.js

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,9 @@ describe('updateMany() ->', () => {
6767
expect(resolver.hasArg('sort')).to.be.true;
6868
});
6969

70-
it('should have `input` arg', () => {
70+
it('should have `record` arg', () => {
7171
const resolver = updateMany(UserModel, UserTypeComposer);
72-
const argConfig = resolver.getArg('input');
72+
const argConfig = resolver.getArg('record');
7373
expect(argConfig).property('type').instanceof(GraphQLNonNull);
7474
expect(argConfig).deep.property('type.ofType.name', 'UpdateManyUserInput');
7575
});
@@ -82,17 +82,17 @@ describe('updateMany() ->', () => {
8282
result.catch(() => 'catch error if appear, hide it from mocha');
8383
});
8484

85-
it('should rejected with Error if args.input is empty', async () => {
85+
it('should rejected with Error if args.record is empty', async () => {
8686
const result = updateMany(UserModel, UserTypeComposer).resolve({ args: {} });
87-
await expect(result).be.rejectedWith(Error, 'at least one value in args.input');
87+
await expect(result).be.rejectedWith(Error, 'at least one value in args.record');
8888
});
8989

90-
it('should change data via args.input in database', (done) => {
90+
it('should change data via args.record in database', (done) => {
9191
const checkedName = 'nameForMongoDB';
9292
updateMany(UserModel, UserTypeComposer).resolve({
9393
args: {
9494
filter: { _id: user1.id },
95-
input: { name: checkedName },
95+
record: { name: checkedName },
9696
},
9797
}).then(() => {
9898
UserModel.collection.findOne({ _id: user1._id }, (err, doc) => {
@@ -105,7 +105,7 @@ describe('updateMany() ->', () => {
105105
it('should return payload.numAffected', async () => {
106106
const result = await updateMany(UserModel, UserTypeComposer).resolve({
107107
args: {
108-
input: { gender: 'female' },
108+
record: { gender: 'female' },
109109
},
110110
});
111111
expect(result).have.deep.property('numAffected', 2);

src/resolvers/__tests__/updateOne-test.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,9 @@ describe('updateOne() ->', () => {
6262
expect(resolver.hasArg('sort')).to.be.true;
6363
});
6464

65-
it('should have required `input` arg', () => {
65+
it('should have required `record` arg', () => {
6666
const resolver = updateOne(UserModel, UserTypeComposer);
67-
const argConfig = resolver.getArg('input');
67+
const argConfig = resolver.getArg('record');
6868
expect(argConfig).property('type').instanceof(GraphQLNonNull);
6969
expect(argConfig).deep.property('type.ofType.name', 'UpdateOneUserInput');
7070
});
@@ -89,22 +89,22 @@ describe('updateOne() ->', () => {
8989
expect(result).have.property('recordId', user1.id);
9090
});
9191

92-
it('should change data via args.input in model', async () => {
92+
it('should change data via args.record in model', async () => {
9393
const result = await updateOne(UserModel, UserTypeComposer).resolve({
9494
args: {
9595
filter: { _id: user1.id },
96-
input: { name: 'newName' },
96+
record: { name: 'newName' },
9797
},
9898
});
9999
expect(result).have.deep.property('record.name', 'newName');
100100
});
101101

102-
it('should change data via args.input in database', (done) => {
102+
it('should change data via args.record in database', (done) => {
103103
const checkedName = 'nameForMongoDB';
104104
updateOne(UserModel, UserTypeComposer).resolve({
105105
args: {
106106
filter: { _id: user1.id },
107-
input: { name: checkedName },
107+
record: { name: checkedName },
108108
},
109109
}).then(() => {
110110
UserModel.collection.findOne({ _id: user1._id }, (err, doc) => {

src/resolvers/createOne.js

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/* @flow */
22
/* eslint-disable no-param-reassign */
3-
import { inputHelperArgs } from './helpers/input';
3+
import { recordHelperArgs } from './helpers/record';
44
import { GraphQLObjectType } from 'graphql';
55
import GraphQLMongoID from '../types/mongoid';
66

@@ -45,26 +45,26 @@ export default function createOne(
4545
},
4646
}),
4747
args: {
48-
...inputHelperArgs(typeComposer, {
49-
inputTypeName: `CreateOne${typeComposer.getTypeName()}Input`,
48+
...recordHelperArgs(typeComposer, {
49+
recordTypeName: `CreateOne${typeComposer.getTypeName()}Input`,
5050
removeFields: ['id', '_id'],
5151
isRequired: true,
52-
...(opts && opts.input),
52+
...(opts && opts.record),
5353
}),
5454
},
5555
resolve: (resolveParams: ExtendedResolveParams) => {
56-
const inputData = resolveParams.args && resolveParams.args.input || {};
56+
const recordData = resolveParams.args && resolveParams.args.record || {};
5757

58-
if (!(typeof inputData === 'object')
59-
|| Object.keys(inputData).length === 0
58+
if (!(typeof recordData === 'object')
59+
|| Object.keys(recordData).length === 0
6060
) {
6161
return Promise.reject(
6262
new Error(`${typeComposer.getTypeName()}.createOne resolver requires `
63-
+ 'at least one value in args.input')
63+
+ 'at least one value in args.record')
6464
);
6565
}
6666

67-
return model.create(inputData)
67+
return model.create(recordData)
6868
.then(record => {
6969
if (record) {
7070
return {

0 commit comments

Comments
 (0)