Skip to content
This repository was archived by the owner on Oct 2, 2024. It is now read-only.

Commit 2d98783

Browse files
committed
feat: Expand test
1 parent e9ca908 commit 2d98783

1 file changed

Lines changed: 147 additions & 3 deletions

File tree

test/query_generator/fragments/inline_fragments_on_fragments.dart

Lines changed: 147 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,25 @@ void main() {
99
'Interface fragments',
1010
() async => testGenerator(
1111
query: r'''
12+
fragment InterfaceFragment2 on InterfaceA {
13+
interface {
14+
s
15+
}
16+
17+
...on ImplementationA {
18+
b
19+
}
20+
...on ImplementationB {
21+
i2
22+
}
23+
}
1224
fragment InterfaceFragment on InterfaceA {
1325
s
1426
i
27+
interface {
28+
...InterfaceFragment2
29+
}
30+
1531
...on ImplementationA {
1632
b
1733
}
@@ -46,6 +62,7 @@ void main() {
4662
interface InterfaceA {
4763
s: String
4864
i: Int
65+
interface: InterfaceA
4966
}
5067
5168
union UnionA = ImplementationA | ImplementationB
@@ -75,6 +92,56 @@ final LibraryDefinition libraryDefinition =
7592
name: QueryName(name: r'SomeQuery$_Query'),
7693
operationName: r'some_query',
7794
classes: [
95+
ClassDefinition(
96+
name: ClassName(name: r'InterfaceFragment2Mixin$_InterfaceA'),
97+
properties: [
98+
ClassProperty(
99+
type: TypeName(name: r'String'),
100+
name: ClassPropertyName(name: r's'),
101+
isResolveType: false)
102+
],
103+
factoryPossibilities: {},
104+
typeNameField: ClassPropertyName(name: r'__typename'),
105+
isInput: false),
106+
ClassDefinition(
107+
name: ClassName(name: r'InterfaceFragment2Mixin$_ImplementationA'),
108+
properties: [
109+
ClassProperty(
110+
type: TypeName(name: r'bool'),
111+
name: ClassPropertyName(name: r'b'),
112+
isResolveType: false)
113+
],
114+
mixins: [FragmentName(name: r'InterfaceFragment2Mixin')],
115+
factoryPossibilities: {},
116+
typeNameField: ClassPropertyName(name: r'__typename'),
117+
isInput: false),
118+
ClassDefinition(
119+
name: ClassName(name: r'InterfaceFragment2Mixin$_ImplementationB'),
120+
properties: [
121+
ClassProperty(
122+
type: TypeName(name: r'int'),
123+
name: ClassPropertyName(name: r'i2'),
124+
isResolveType: false)
125+
],
126+
mixins: [FragmentName(name: r'InterfaceFragment2Mixin')],
127+
factoryPossibilities: {},
128+
typeNameField: ClassPropertyName(name: r'__typename'),
129+
isInput: false),
130+
FragmentClassDefinition(
131+
name: FragmentName(name: r'InterfaceFragment2Mixin'),
132+
properties: [
133+
ClassProperty(
134+
type: TypeName(name: r'InterfaceFragment2Mixin$_InterfaceA'),
135+
name: ClassPropertyName(name: r'interface'),
136+
annotations: [r'''JsonKey(name: 'interface')'''],
137+
isResolveType: false)
138+
]),
139+
ClassDefinition(
140+
name: ClassName(name: r'InterfaceFragmentMixin$_InterfaceA'),
141+
mixins: [FragmentName(name: r'InterfaceFragment2Mixin')],
142+
factoryPossibilities: {},
143+
typeNameField: ClassPropertyName(name: r'__typename'),
144+
isInput: false),
78145
ClassDefinition(
79146
name: ClassName(name: r'InterfaceFragmentMixin$_ImplementationA'),
80147
properties: [
@@ -109,6 +176,11 @@ final LibraryDefinition libraryDefinition =
109176
ClassProperty(
110177
type: TypeName(name: r'int'),
111178
name: ClassPropertyName(name: r'i'),
179+
isResolveType: false),
180+
ClassProperty(
181+
type: TypeName(name: r'InterfaceFragmentMixin$_InterfaceA'),
182+
name: ClassPropertyName(name: r'interface'),
183+
annotations: [r'''JsonKey(name: 'interface')'''],
112184
isResolveType: false)
113185
]),
114186
ClassDefinition(
@@ -178,12 +250,84 @@ import 'package:equatable/equatable.dart';
178250
import 'package:gql/ast.dart';
179251
part 'query.graphql.g.dart';
180252
253+
mixin InterfaceFragment2Mixin {
254+
@JsonKey(name: 'interface')
255+
InterfaceFragment2Mixin$InterfaceA? kw$interface;
256+
}
181257
mixin InterfaceFragmentMixin {
182258
String? s;
183259
int? i;
260+
@JsonKey(name: 'interface')
261+
InterfaceFragmentMixin$InterfaceA? kw$interface;
184262
}
185263
mixin UnionFragmentMixin {}
186264
265+
@JsonSerializable(explicitToJson: true)
266+
class InterfaceFragment2Mixin$InterfaceA extends JsonSerializable
267+
with EquatableMixin {
268+
InterfaceFragment2Mixin$InterfaceA();
269+
270+
factory InterfaceFragment2Mixin$InterfaceA.fromJson(
271+
Map<String, dynamic> json) =>
272+
_$InterfaceFragment2Mixin$InterfaceAFromJson(json);
273+
274+
String? s;
275+
276+
@override
277+
List<Object?> get props => [s];
278+
Map<String, dynamic> toJson() =>
279+
_$InterfaceFragment2Mixin$InterfaceAToJson(this);
280+
}
281+
282+
@JsonSerializable(explicitToJson: true)
283+
class InterfaceFragment2Mixin$ImplementationA extends JsonSerializable
284+
with EquatableMixin, InterfaceFragment2Mixin {
285+
InterfaceFragment2Mixin$ImplementationA();
286+
287+
factory InterfaceFragment2Mixin$ImplementationA.fromJson(
288+
Map<String, dynamic> json) =>
289+
_$InterfaceFragment2Mixin$ImplementationAFromJson(json);
290+
291+
bool? b;
292+
293+
@override
294+
List<Object?> get props => [kw$interface, b];
295+
Map<String, dynamic> toJson() =>
296+
_$InterfaceFragment2Mixin$ImplementationAToJson(this);
297+
}
298+
299+
@JsonSerializable(explicitToJson: true)
300+
class InterfaceFragment2Mixin$ImplementationB extends JsonSerializable
301+
with EquatableMixin, InterfaceFragment2Mixin {
302+
InterfaceFragment2Mixin$ImplementationB();
303+
304+
factory InterfaceFragment2Mixin$ImplementationB.fromJson(
305+
Map<String, dynamic> json) =>
306+
_$InterfaceFragment2Mixin$ImplementationBFromJson(json);
307+
308+
int? i2;
309+
310+
@override
311+
List<Object?> get props => [kw$interface, i2];
312+
Map<String, dynamic> toJson() =>
313+
_$InterfaceFragment2Mixin$ImplementationBToJson(this);
314+
}
315+
316+
@JsonSerializable(explicitToJson: true)
317+
class InterfaceFragmentMixin$InterfaceA extends JsonSerializable
318+
with EquatableMixin, InterfaceFragment2Mixin {
319+
InterfaceFragmentMixin$InterfaceA();
320+
321+
factory InterfaceFragmentMixin$InterfaceA.fromJson(
322+
Map<String, dynamic> json) =>
323+
_$InterfaceFragmentMixin$InterfaceAFromJson(json);
324+
325+
@override
326+
List<Object?> get props => [kw$interface];
327+
Map<String, dynamic> toJson() =>
328+
_$InterfaceFragmentMixin$InterfaceAToJson(this);
329+
}
330+
187331
@JsonSerializable(explicitToJson: true)
188332
class InterfaceFragmentMixin$ImplementationA extends JsonSerializable
189333
with EquatableMixin, InterfaceFragmentMixin {
@@ -196,7 +340,7 @@ class InterfaceFragmentMixin$ImplementationA extends JsonSerializable
196340
bool? b;
197341
198342
@override
199-
List<Object?> get props => [s, i, b];
343+
List<Object?> get props => [s, i, kw$interface, b];
200344
Map<String, dynamic> toJson() =>
201345
_$InterfaceFragmentMixin$ImplementationAToJson(this);
202346
}
@@ -213,7 +357,7 @@ class InterfaceFragmentMixin$ImplementationB extends JsonSerializable
213357
int? i2;
214358
215359
@override
216-
List<Object?> get props => [s, i, i2];
360+
List<Object?> get props => [s, i, kw$interface, i2];
217361
Map<String, dynamic> toJson() =>
218362
_$InterfaceFragmentMixin$ImplementationBToJson(this);
219363
}
@@ -261,7 +405,7 @@ class SomeQuery$Query$InterfaceA extends JsonSerializable
261405
_$SomeQuery$Query$InterfaceAFromJson(json);
262406
263407
@override
264-
List<Object?> get props => [s, i];
408+
List<Object?> get props => [s, i, kw$interface];
265409
Map<String, dynamic> toJson() => _$SomeQuery$Query$InterfaceAToJson(this);
266410
}
267411

0 commit comments

Comments
 (0)