-
Notifications
You must be signed in to change notification settings - Fork 106
/
eslint-directives.spec.ts
62 lines (60 loc) · 1.53 KB
/
eslint-directives.spec.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
import { join } from 'node:path';
import { rule as noAnonymousOperations } from '@/rules/no-anonymous-operations/index.js';
import { rule as noTypenamePrefix } from '@/rules/no-typename-prefix/index.js';
import { ruleTester } from './test-utils.js';
ruleTester.run('no-typename-prefix', noTypenamePrefix, {
valid: [
{
name: 'should work with descriptions #942',
code: /* GraphQL */ `
type Type {
"Some description"
typeName: String! # eslint-disable-line rule-to-test/no-typename-prefix
}
`,
},
],
invalid: [],
});
ruleTester.run('test-directives', noAnonymousOperations, {
valid: [
/* GraphQL */ `
# eslint-disable-next-line
{
a
}
`,
/* GraphQL */ `
# eslint-disable-next-line rule-to-test/test-directives
{
a
}
`,
'{ a } # eslint-disable-line rule-to-test/test-directives',
'{ a } # eslint-disable-line',
/* GraphQL */ `
# eslint-disable
{
a
}
`,
{
filename: join(__dirname, 'mocks/test-directives-with-import.graphql'),
code: ruleTester.fromMockFile('test-directives-with-import.graphql'),
},
],
invalid: [
{
code: /* GraphQL */ `
# eslint-disable-next-line non-existing-rule
{
a
}
`,
errors: [
{ message: "Definition for rule 'non-existing-rule' was not found." },
{ message: 'Anonymous GraphQL operations are forbidden. Make sure to name your query!' },
],
},
],
});