@@ -237,6 +237,48 @@ ruleTester.run<RuleOptions>('naming-convention', rule, {
237
237
} ,
238
238
] ,
239
239
} ,
240
+ {
241
+ name : 'requiredPattern with case style in prefix' ,
242
+ options : [
243
+ {
244
+ FragmentDefinition : {
245
+ style : 'PascalCase' ,
246
+ requiredPattern : / ^ (?< camelCase > .+ ?) _ / ,
247
+ } ,
248
+ } ,
249
+ ] ,
250
+ code : /* GraphQL */ `
251
+ fragment myUser_UserProfileFields on User {
252
+ id
253
+ }
254
+ ` ,
255
+ parserOptions : {
256
+ graphQLConfig : {
257
+ schema : 'type User' ,
258
+ } ,
259
+ } ,
260
+ } ,
261
+ {
262
+ name : 'requiredPattern with case style in suffix' ,
263
+ options : [
264
+ {
265
+ FragmentDefinition : {
266
+ style : 'PascalCase' ,
267
+ requiredPattern : / _ (?< snake_case > .+ ?) $ / ,
268
+ } ,
269
+ } ,
270
+ ] ,
271
+ code : /* GraphQL */ `
272
+ fragment UserProfileFields_my_user on User {
273
+ id
274
+ }
275
+ ` ,
276
+ parserOptions : {
277
+ graphQLConfig : {
278
+ schema : 'type User' ,
279
+ } ,
280
+ } ,
281
+ } ,
240
282
] ,
241
283
invalid : [
242
284
{
@@ -446,15 +488,42 @@ ruleTester.run<RuleOptions>('naming-convention', rule, {
446
488
` ,
447
489
options : ( rule . meta . docs ! . configOptions as any ) . operations ,
448
490
errors : [
449
- { message : 'Query "TestQuery" should not have "Query" suffix' } ,
450
- { message : 'Query "QueryTest" should not have "Query" prefix' } ,
451
- { message : 'Query "GetQuery" should not have "Get" prefix' } ,
452
- { message : 'Mutation "TestMutation" should not have "Mutation" suffix' } ,
453
- { message : 'Mutation "MutationTest" should not have "Mutation" prefix' } ,
454
- { message : 'Subscription "TestSubscription" should not have "Subscription" suffix' } ,
455
- { message : 'Subscription "SubscriptionTest" should not have "Subscription" prefix' } ,
456
- { message : 'Fragment "TestFragment" should not have "Fragment" suffix' } ,
457
- { message : 'Fragment "FragmentTest" should not have "Fragment" prefix' } ,
491
+ {
492
+ message :
493
+ 'Query "TestQuery" should not contain the forbidden pattern "/(query|mutation|subscription)$/i"' ,
494
+ } ,
495
+ {
496
+ message :
497
+ 'Query "QueryTest" should not contain the forbidden pattern "/^(query|mutation|subscription|get)/i"' ,
498
+ } ,
499
+ {
500
+ message :
501
+ 'Query "GetQuery" should not contain the forbidden pattern "/^(query|mutation|subscription|get)/i"' ,
502
+ } ,
503
+ {
504
+ message :
505
+ 'Mutation "TestMutation" should not contain the forbidden pattern "/(query|mutation|subscription)$/i"' ,
506
+ } ,
507
+ {
508
+ message :
509
+ 'Mutation "MutationTest" should not contain the forbidden pattern "/^(query|mutation|subscription|get)/i"' ,
510
+ } ,
511
+ {
512
+ message :
513
+ 'Subscription "TestSubscription" should not contain the forbidden pattern "/(query|mutation|subscription)$/i"' ,
514
+ } ,
515
+ {
516
+ message :
517
+ 'Subscription "SubscriptionTest" should not contain the forbidden pattern "/^(query|mutation|subscription|get)/i"' ,
518
+ } ,
519
+ {
520
+ message :
521
+ 'Fragment "TestFragment" should not contain the forbidden pattern "/(^fragment)|(fragment$)/i"' ,
522
+ } ,
523
+ {
524
+ message :
525
+ 'Fragment "FragmentTest" should not contain the forbidden pattern "/(^fragment)|(fragment$)/i"' ,
526
+ } ,
458
527
] ,
459
528
} ,
460
529
{
@@ -536,17 +605,39 @@ ruleTester.run<RuleOptions>('naming-convention', rule, {
536
605
errors : 2 ,
537
606
} ,
538
607
{
539
- name : 'requiredPatterns ' ,
608
+ name : 'requiredPattern ' ,
540
609
code : 'type Test { enabled: Boolean! }' ,
541
610
options : [
542
611
{
543
612
'FieldDefinition[gqlType.gqlType.name.value=Boolean]' : {
544
613
style : 'camelCase' ,
545
- requiredPatterns : [ / ^ ( i s | h a s ) / ] ,
614
+ requiredPattern : / ^ ( i s | h a s ) / ,
546
615
} ,
547
616
} ,
548
617
] ,
549
618
errors : 1 ,
550
619
} ,
620
+ {
621
+ name : 'requiredPattern with case style in suffix' ,
622
+ options : [
623
+ {
624
+ FragmentDefinition : {
625
+ style : 'PascalCase' ,
626
+ requiredPattern : / _ (?< camelCase > .+ ?) $ / ,
627
+ } ,
628
+ } ,
629
+ ] ,
630
+ code : /* GraphQL */ `
631
+ fragment UserProfileFields on User {
632
+ id
633
+ }
634
+ ` ,
635
+ parserOptions : {
636
+ graphQLConfig : {
637
+ schema : 'type User' ,
638
+ } ,
639
+ } ,
640
+ errors : 1 ,
641
+ } ,
551
642
] ,
552
643
} ) ;
0 commit comments