@@ -863,12 +863,15 @@ def extends_different_types_multiple_times():
863
863
schema = build_schema (
864
864
"""
865
865
type Query {
866
+ someScalar: SomeScalar
866
867
someObject(someInput: SomeInput): SomeObject
867
868
someInterface: SomeInterface
868
869
someEnum: SomeEnum
869
870
someUnion: SomeUnion
870
871
}
871
872
873
+ scalar SomeScalar
874
+
872
875
type SomeObject implements SomeInterface {
873
876
oldField: String
874
877
}
@@ -888,9 +891,14 @@ def extends_different_types_multiple_times():
888
891
}
889
892
"""
890
893
)
891
- new_types_sdl = """
892
- interface AnotherNewInterface {
893
- anotherNewField: String
894
+ new_types_sdl = dedent (
895
+ """
896
+ scalar NewScalar
897
+
898
+ scalar AnotherNewScalar
899
+
900
+ type NewObject {
901
+ foo: String
894
902
}
895
903
896
904
type AnotherNewObject {
@@ -901,13 +909,18 @@ def extends_different_types_multiple_times():
901
909
newField: String
902
910
}
903
911
904
- type NewObject {
905
- foo : String
912
+ interface AnotherNewInterface {
913
+ anotherNewField : String
906
914
}
907
915
"""
916
+ )
917
+ schema_with_new_types = extend_schema (schema , parse (new_types_sdl ))
918
+ assert print_schema_changes (schema , schema_with_new_types ) == new_types_sdl
919
+
908
920
extend_ast = parse (
909
- new_types_sdl
910
- + """
921
+ """
922
+ extend scalar SomeScalar @specifiedBy(url: "http://example.com/foo_spec")
923
+
911
924
extend type SomeObject implements NewInterface {
912
925
newField: String
913
926
}
@@ -937,11 +950,15 @@ def extends_different_types_multiple_times():
937
950
}
938
951
"""
939
952
)
940
- extended_schema = extend_schema (schema , extend_ast )
953
+ extended_schema = extend_schema (schema_with_new_types , extend_ast )
941
954
942
955
assert validate_schema (extended_schema ) == []
943
- assert print_schema_changes (schema , extended_schema ) == dedent (
944
- """
956
+ assert (
957
+ print_schema_changes (schema , extended_schema )
958
+ == dedent (
959
+ """
960
+ scalar SomeScalar @specifiedBy(url: "http://example.com/foo_spec")
961
+
945
962
type SomeObject implements SomeInterface & NewInterface & AnotherNewInterface {
946
963
oldField: String
947
964
newField: String
@@ -960,7 +977,10 @@ def extends_different_types_multiple_times():
960
977
oldField: String
961
978
newField: String
962
979
anotherNewField: String
963
- }\n """ # noqa: E501
980
+ }
981
+
982
+ """ # noqa: E501
983
+ )
964
984
+ new_types_sdl
965
985
)
966
986
0 commit comments