Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit d5b9d41

Browse files
committed
Merge pull request graphql#201 from jhgg/missing-directive-tests
Implement anonymous inline fragment directive tests
2 parents 39a2ebc + 28b85b8 commit d5b9d41

File tree

1 file changed

+55
-13
lines changed

1 file changed

+55
-13
lines changed

src/execution/__tests__/directives.js

Lines changed: 55 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -212,61 +212,103 @@ describe('Execute: handles directives', () => {
212212
});
213213
});
214214

215-
describe('works on fragment', () => {
216-
it('if false omits fragment', async () => {
215+
describe('works on anonymous inline fragment', () => {
216+
it('if false omits anonymous inline fragment', async () => {
217217
var q = `
218218
query Q {
219219
a
220-
...Frag
220+
... @include(if: false) {
221+
b
222+
}
221223
}
222-
fragment Frag on TestType @include(if: false) {
223-
b
224+
`;
225+
return expect(await executeTestQuery(q)).to.deep.equal({
226+
data: { a: 'a' }
227+
});
228+
});
229+
230+
it('if true includes anonymous inline fragment', async () => {
231+
var q = `
232+
query Q {
233+
a
234+
... @include(if: true) {
235+
b
236+
}
237+
}
238+
`;
239+
return expect(await executeTestQuery(q)).to.deep.equal({
240+
data: { a: 'a', b: 'b' }
241+
});
242+
});
243+
it('unless false includes anonymous inline fragment', async () => {
244+
var q = `
245+
query Q {
246+
a
247+
... @skip(if: false) {
248+
b
249+
}
250+
}
251+
`;
252+
return expect(await executeTestQuery(q)).to.deep.equal({
253+
data: { a: 'a', b: 'b' }
254+
});
255+
});
256+
it('unless true includes anonymous inline fragment', async () => {
257+
var q = `
258+
query Q {
259+
a
260+
... @skip(if: true) {
261+
b
262+
}
224263
}
225264
`;
226265
return expect(await executeTestQuery(q)).to.deep.equal({
227266
data: { a: 'a' }
228267
});
229268
});
230-
it('if true includes fragment', async () => {
269+
});
270+
271+
describe('works on fragment', () => {
272+
it('if false omits fragment', async () => {
231273
var q = `
232274
query Q {
233275
a
234276
...Frag
235277
}
236-
fragment Frag on TestType @include(if: true) {
278+
fragment Frag on TestType @include(if: false) {
237279
b
238280
}
239281
`;
240282
return expect(await executeTestQuery(q)).to.deep.equal({
241-
data: { a: 'a', b: 'b' }
283+
data: { a: 'a' }
242284
});
243285
});
244-
it('unless false includes fragment', async () => {
286+
it('if true includes fragment', async () => {
245287
var q = `
246288
query Q {
247289
a
248290
...Frag
249291
}
250-
fragment Frag on TestType @skip(if: false) {
292+
fragment Frag on TestType @include(if: true) {
251293
b
252294
}
253295
`;
254296
return expect(await executeTestQuery(q)).to.deep.equal({
255297
data: { a: 'a', b: 'b' }
256298
});
257299
});
258-
it('unless true omits fragment', async () => {
300+
it('unless false includes fragment', async () => {
259301
var q = `
260302
query Q {
261303
a
262304
...Frag
263305
}
264-
fragment Frag on TestType @skip(if: true) {
306+
fragment Frag on TestType @skip(if: false) {
265307
b
266308
}
267309
`;
268310
return expect(await executeTestQuery(q)).to.deep.equal({
269-
data: { a: 'a' }
311+
data: { a: 'a', b: 'b' }
270312
});
271313
});
272314
});

0 commit comments

Comments
 (0)