@@ -661,6 +661,8 @@ def should_detect_all_breaking_changes():
661
661
662
662
directive @NonNullDirectiveAdded on FIELD_DEFINITION
663
663
664
+ directive @DirectiveThatWasRepeatable repeatable on FIELD_DEFINITION
665
+
664
666
directive @DirectiveName on FIELD_DEFINITION | QUERY
665
667
666
668
type ArgThatChanges {
@@ -697,6 +699,8 @@ def should_detect_all_breaking_changes():
697
699
698
700
directive @NonNullDirectiveAdded(arg1: Boolean!) on FIELD_DEFINITION
699
701
702
+ directive @DirectiveThatWasRepeatable on FIELD_DEFINITION
703
+
700
704
directive @DirectiveName on FIELD_DEFINITION
701
705
702
706
type ArgThatChanges {
@@ -773,6 +777,10 @@ def should_detect_all_breaking_changes():
773
777
BreakingChangeType .REQUIRED_DIRECTIVE_ARG_ADDED ,
774
778
"A required arg arg1 on directive NonNullDirectiveAdded was added." ,
775
779
),
780
+ (
781
+ BreakingChangeType .DIRECTIVE_REPEATABLE_REMOVED ,
782
+ "Repeatable flag was removed from DirectiveThatWasRepeatable." ,
783
+ ),
776
784
(
777
785
BreakingChangeType .DIRECTIVE_LOCATION_REMOVED ,
778
786
"QUERY was removed from DirectiveName." ,
@@ -858,6 +866,26 @@ def should_detect_if_an_optional_directive_argument_was_added():
858
866
)
859
867
]
860
868
869
+ def should_detect_removal_of_repeatable_flag ():
870
+ old_schema = build_schema (
871
+ """
872
+ directive @DirectiveName repeatable on OBJECT
873
+ """
874
+ )
875
+
876
+ new_schema = build_schema (
877
+ """
878
+ directive @DirectiveName on OBJECT
879
+ """
880
+ )
881
+
882
+ assert find_breaking_changes (old_schema , new_schema ) == [
883
+ (
884
+ BreakingChangeType .DIRECTIVE_REPEATABLE_REMOVED ,
885
+ "Repeatable flag was removed from DirectiveName." ,
886
+ )
887
+ ]
888
+
861
889
def should_detect_locations_removed_from_a_directive ():
862
890
old_schema = build_schema (
863
891
"""
0 commit comments