@@ -71,6 +71,12 @@ class Meta:
71
71
model = Article
72
72
interfaces = (Node ,)
73
73
74
+ class PetType (SQLAlchemyObjectType ):
75
+ class Meta :
76
+ model = Pet
77
+ interfaces = (Node ,)
78
+
79
+
74
80
assert list (ReporterType ._meta .fields .keys ()) == [
75
81
# Columns
76
82
"column_prop" , # SQLAlchemy retuns column properties first
@@ -84,7 +90,7 @@ class Meta:
84
90
# Hybrid
85
91
"hybrid_prop" ,
86
92
# AssociationProxy
87
- "pet_names " ,
93
+ "headlines " ,
88
94
# Relationship
89
95
"pets" ,
90
96
"articles" ,
@@ -121,11 +127,15 @@ class Meta:
121
127
assert favorite_article_field .type ().description is None
122
128
123
129
# assocation proxy
124
- assoc_field = ReporterType ._meta .fields ['pet_names ' ]
130
+ assoc_field = ReporterType ._meta .fields ['headlines ' ]
125
131
assert isinstance (assoc_field , Dynamic )
126
132
assert isinstance (assoc_field .type ().type , List )
127
133
assert assoc_field .type ().type .of_type == String
128
134
135
+ assoc_field = ArticleType ._meta .fields ['recommended_reads' ]
136
+ assert isinstance (assoc_field , Dynamic )
137
+ assert assoc_field .type ().type == ArticleType .connection
138
+
129
139
130
140
def test_sqlalchemy_override_fields ():
131
141
@convert_sqlalchemy_composite .register (CompositeFullName )
@@ -187,7 +197,7 @@ class Meta:
187
197
# Then the automatic SQLAlchemy fields
188
198
"id" ,
189
199
"favorite_pet_kind" ,
190
- "pet_names " ,
200
+ "headlines " ,
191
201
]
192
202
193
203
first_name_field = ReporterType ._meta .fields ['first_name' ]
@@ -285,7 +295,7 @@ class Meta:
285
295
"favorite_pet_kind" ,
286
296
"composite_prop" ,
287
297
"hybrid_prop" ,
288
- "pet_names " ,
298
+ "headlines " ,
289
299
"pets" ,
290
300
"articles" ,
291
301
"favorite_article" ,
0 commit comments