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

Commit

Permalink
feat: Expand test
Browse files Browse the repository at this point in the history
  • Loading branch information
budde377 committed May 12, 2021
1 parent e9ca908 commit 05fbbd0
Showing 1 changed file with 150 additions and 1 deletion.
151 changes: 150 additions & 1 deletion test/query_generator/fragments/inline_fragments_on_fragments.dart
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,26 @@ void main() {
'Interface fragments',
() async => testGenerator(
query: r'''
fragment InterfaceFragment2 on InterfaceA {
interface {
s
}
...on ImplementationA {
b
}
...on ImplementationB {
i2
}
}
fragment InterfaceFragment on InterfaceA {
s
i
...on ImplementationA {
b
interface {
...InterfaceFragment2
}
}
...on ImplementationB {
i2
Expand Down Expand Up @@ -46,6 +61,7 @@ void main() {
interface InterfaceA {
s: String
i: Int
interface: InterfaceA
}
union UnionA = ImplementationA | ImplementationB
Expand All @@ -54,11 +70,13 @@ void main() {
s: String
i: Int
b: Boolean
interface: InterfaceA
}
type ImplementationB implements InterfaceA {
s: String
i: Int
i2: Int
interface: InterfaceA
}
''',
Expand All @@ -75,12 +93,70 @@ final LibraryDefinition libraryDefinition =
name: QueryName(name: r'SomeQuery$_Query'),
operationName: r'some_query',
classes: [
ClassDefinition(
name: ClassName(name: r'InterfaceFragment2Mixin$_InterfaceA'),
properties: [
ClassProperty(
type: TypeName(name: r'String'),
name: ClassPropertyName(name: r's'),
isResolveType: false)
],
factoryPossibilities: {},
typeNameField: ClassPropertyName(name: r'__typename'),
isInput: false),
ClassDefinition(
name: ClassName(name: r'InterfaceFragment2Mixin$_ImplementationA'),
properties: [
ClassProperty(
type: TypeName(name: r'bool'),
name: ClassPropertyName(name: r'b'),
isResolveType: false)
],
mixins: [FragmentName(name: r'InterfaceFragment2Mixin')],
factoryPossibilities: {},
typeNameField: ClassPropertyName(name: r'__typename'),
isInput: false),
ClassDefinition(
name: ClassName(name: r'InterfaceFragment2Mixin$_ImplementationB'),
properties: [
ClassProperty(
type: TypeName(name: r'int'),
name: ClassPropertyName(name: r'i2'),
isResolveType: false)
],
mixins: [FragmentName(name: r'InterfaceFragment2Mixin')],
factoryPossibilities: {},
typeNameField: ClassPropertyName(name: r'__typename'),
isInput: false),
FragmentClassDefinition(
name: FragmentName(name: r'InterfaceFragment2Mixin'),
properties: [
ClassProperty(
type: TypeName(name: r'InterfaceFragment2Mixin$_InterfaceA'),
name: ClassPropertyName(name: r'interface'),
annotations: [r'''JsonKey(name: 'interface')'''],
isResolveType: false)
]),
ClassDefinition(
name: ClassName(
name: r'InterfaceFragmentMixin$_ImplementationA$_InterfaceA'),
mixins: [FragmentName(name: r'InterfaceFragment2Mixin')],
factoryPossibilities: {},
typeNameField: ClassPropertyName(name: r'__typename'),
isInput: false),
ClassDefinition(
name: ClassName(name: r'InterfaceFragmentMixin$_ImplementationA'),
properties: [
ClassProperty(
type: TypeName(name: r'bool'),
name: ClassPropertyName(name: r'b'),
isResolveType: false),
ClassProperty(
type: TypeName(
name:
r'InterfaceFragmentMixin$_ImplementationA$_InterfaceA'),
name: ClassPropertyName(name: r'interface'),
annotations: [r'''JsonKey(name: 'interface')'''],
isResolveType: false)
],
mixins: [FragmentName(name: r'InterfaceFragmentMixin')],
Expand Down Expand Up @@ -178,12 +254,82 @@ import 'package:equatable/equatable.dart';
import 'package:gql/ast.dart';
part 'query.graphql.g.dart';
mixin InterfaceFragment2Mixin {
@JsonKey(name: 'interface')
InterfaceFragment2Mixin$InterfaceA? kw$interface;
}
mixin InterfaceFragmentMixin {
String? s;
int? i;
}
mixin UnionFragmentMixin {}
@JsonSerializable(explicitToJson: true)
class InterfaceFragment2Mixin$InterfaceA extends JsonSerializable
with EquatableMixin {
InterfaceFragment2Mixin$InterfaceA();
factory InterfaceFragment2Mixin$InterfaceA.fromJson(
Map<String, dynamic> json) =>
_$InterfaceFragment2Mixin$InterfaceAFromJson(json);
String? s;
@override
List<Object?> get props => [s];
Map<String, dynamic> toJson() =>
_$InterfaceFragment2Mixin$InterfaceAToJson(this);
}
@JsonSerializable(explicitToJson: true)
class InterfaceFragment2Mixin$ImplementationA extends JsonSerializable
with EquatableMixin, InterfaceFragment2Mixin {
InterfaceFragment2Mixin$ImplementationA();
factory InterfaceFragment2Mixin$ImplementationA.fromJson(
Map<String, dynamic> json) =>
_$InterfaceFragment2Mixin$ImplementationAFromJson(json);
bool? b;
@override
List<Object?> get props => [kw$interface, b];
Map<String, dynamic> toJson() =>
_$InterfaceFragment2Mixin$ImplementationAToJson(this);
}
@JsonSerializable(explicitToJson: true)
class InterfaceFragment2Mixin$ImplementationB extends JsonSerializable
with EquatableMixin, InterfaceFragment2Mixin {
InterfaceFragment2Mixin$ImplementationB();
factory InterfaceFragment2Mixin$ImplementationB.fromJson(
Map<String, dynamic> json) =>
_$InterfaceFragment2Mixin$ImplementationBFromJson(json);
int? i2;
@override
List<Object?> get props => [kw$interface, i2];
Map<String, dynamic> toJson() =>
_$InterfaceFragment2Mixin$ImplementationBToJson(this);
}
@JsonSerializable(explicitToJson: true)
class InterfaceFragmentMixin$ImplementationA$InterfaceA extends JsonSerializable
with EquatableMixin, InterfaceFragment2Mixin {
InterfaceFragmentMixin$ImplementationA$InterfaceA();
factory InterfaceFragmentMixin$ImplementationA$InterfaceA.fromJson(
Map<String, dynamic> json) =>
_$InterfaceFragmentMixin$ImplementationA$InterfaceAFromJson(json);
@override
List<Object?> get props => [kw$interface];
Map<String, dynamic> toJson() =>
_$InterfaceFragmentMixin$ImplementationA$InterfaceAToJson(this);
}
@JsonSerializable(explicitToJson: true)
class InterfaceFragmentMixin$ImplementationA extends JsonSerializable
with EquatableMixin, InterfaceFragmentMixin {
Expand All @@ -195,8 +341,11 @@ class InterfaceFragmentMixin$ImplementationA extends JsonSerializable
bool? b;
@JsonKey(name: 'interface')
InterfaceFragmentMixin$ImplementationA$InterfaceA? kw$interface;
@override
List<Object?> get props => [s, i, b];
List<Object?> get props => [s, i, b, kw$interface];
Map<String, dynamic> toJson() =>
_$InterfaceFragmentMixin$ImplementationAToJson(this);
}
Expand Down

0 comments on commit 05fbbd0

Please sign in to comment.