You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
'Abstract type "Pet" must resolve to an Object type at runtime for field "Query.pet". Either the "Pet" type should provide a "resolveType" function or each possible type should provide an "isTypeOf" function.',
274
+
'Abstract type resolution for "Pet" for field "Query.pet" failed. Encountered abstract type "Pet" must resolve to an Object or Interface type at runtime. Either the "Pet" type should provide a "resolveType" function or each possible type should provide an "isTypeOf" function.',
'Abstract type "Pet" must resolve to an Object type at runtime for field "Query.pet". Either the "Pet" type should provide a "resolveType" function or each possible type should provide an "isTypeOf" function.',
613
+
'Abstract type resolution for "Pet" for field "Query.pet" failed. Encountered abstract type "Pet" must resolve to an Object or Interface type at runtime. Either the "Pet" type should provide a "resolveType" function or each possible type should provide an "isTypeOf" function.',
614
614
);
615
615
616
616
expectError({forTypeName: 'Human'}).toEqual(
617
-
'Abstract type "Pet" was resolved to a type "Human" that does not exist inside the schema.',
617
+
'Abstract type resolution for "Pet" for field "Query.pet" failed. Encountered abstract type "Pet" was resolved to a type "Human" that does not exist inside the schema.',
618
618
);
619
619
620
620
expectError({forTypeName: 'String'}).toEqual(
621
-
'Abstract type "Pet" was resolved to a non-object type "String".',
621
+
'Abstract type resolution for "Pet" for field "Query.pet" failed. Encountered abstract type "Pet" was resolved to a non-object type "String".',
622
622
);
623
623
624
624
expectError({forTypeName: '__Schema'}).toEqual(
625
-
'Runtime Object type "__Schema" is not a possible type for "Pet".',
625
+
'Abstract type resolution for "Pet" for field "Query.pet" failed. Runtime Object type "__Schema" is not a possible type for encountered abstract type "Pet".',
626
626
);
627
627
628
628
// FIXME: workaround since we can't inject resolveType into SDL
'Abstract type "Pet" must resolve to an Object type at runtime for field "Query.pet" with value { __typename: undefined }, received "[]".',
632
+
'Abstract type resolution for "Pet" for field "Query.pet" with value { __typename: undefined } failed. Encountered abstract type "Pet" must resolve to an Object or Interface type at runtime, received "[]".',
633
633
);
634
634
635
635
// FIXME: workaround since we can't inject resolveType into SDL
// FIXME: workaround since we can't inject resolveType into SDL
707
+
namedType.resolveType=()=>'Animal';
708
+
expectError().toEqual(
709
+
'Abstract type resolution for "Named" for field "Query.named" failed. Interface type "Animal" is not a subtype of encountered interface type "Named".',
// FIXME: workaround since we can't inject resolveType into SDL
714
+
namedType.resolveType=()=>'Pet';
715
+
petType.resolveType=()=>'Person';
716
+
expectError().toEqual(
717
+
'Abstract type resolution for "Named" for field "Query.named" failed. Runtime Object type "Person" is not a possible type for encountered abstract type "Pet".',
718
+
);
719
+
720
+
// FIXME: workaround since we can't inject resolveType into SDL
721
+
namedType.resolveType=()=>'Pet';
722
+
petType.resolveType=()=>undefined;
723
+
expectError().toEqual(
724
+
'Abstract type resolution for "Named" for field "Query.named" failed. Encountered abstract type "Pet" must resolve to an Object or Interface type at runtime. Either the "Pet" type should provide a "resolveType" function or each possible type should provide an "isTypeOf" function.',
725
+
);
726
+
727
+
// FIXME: workaround since we can't inject resolveType into SDL
728
+
petType.resolveType=()=>'Human';
729
+
expectError().toEqual(
730
+
'Abstract type resolution for "Named" for field "Query.named" failed. Encountered abstract type "Pet" was resolved to a type "Human" that does not exist inside the schema.',
731
+
);
732
+
733
+
// FIXME: workaround since we can't inject resolveType into SDL
734
+
petType.resolveType=()=>'String';
735
+
expectError().toEqual(
736
+
'Abstract type resolution for "Named" for field "Query.named" failed. Encountered abstract type "Pet" was resolved to a non-object type "String".',
737
+
);
738
+
739
+
// FIXME: workaround since we can't inject resolveType into SDL
740
+
petType.resolveType=()=>'__Schema';
741
+
expectError().toEqual(
742
+
'Abstract type resolution for "Named" for field "Query.named" failed. Runtime Object type "__Schema" is not a possible type for encountered abstract type "Pet".',
743
+
);
744
+
745
+
// FIXME: workaround since we can't inject resolveType into SDL
746
+
// @ts-expect-error
747
+
petType.resolveType=()=>[];
748
+
expectError().toEqual(
749
+
'Abstract type resolution for "Named" for field "Query.named" with value {} failed. Encountered abstract type "Pet" must resolve to an Object or Interface type at runtime, received "[]".',
750
+
);
751
+
752
+
// FIXME: workaround since we can't inject resolveType into SDL
753
+
petType.resolveType=()=>'Pet';
754
+
expectError().toEqual(
755
+
'Abstract type resolution for "Named" for field "Query.named" failed. Interface type "Pet" is not a subtype of encountered interface type "Named".',
756
+
);
757
+
});
758
+
759
+
it('cyclical resolveType with (unvalidated) cyclical Interface aborts with error',()=>{
// FIXME: workaround since we can't inject resolveType into SDL
805
+
fooInterfaceType.resolveType=()=>'FooInterface';
806
+
expectError().toEqual(
807
+
'Abstract type resolution for "FooInterface" for field "Query.test" failed. Encountered abstract type "FooInterface" resolved to "FooInterface", causing a cycle.',
0 commit comments