Skip to content

Commit ff8d109

Browse files
committed
Add tests for aliased_fields meta option
1 parent 6a96d37 commit ff8d109

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

graphene_sqlalchemy/tests/test_types.py

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,3 +181,36 @@ class Meta:
181181
resolver, TestConnection, ReporterWithCustomOptions, None, None
182182
)
183183
assert result is not None
184+
185+
186+
class HumanWithFieldAliased(SQLAlchemyObjectType):
187+
188+
publication_timestamp = Int()
189+
190+
class Meta:
191+
model = Article
192+
registry = registry
193+
interfaces = (Node,)
194+
aliased_fields = {
195+
"id": "article_id",
196+
"headline": "title",
197+
"pub_date": "publication_timestamp",
198+
"reporter_id": "journalist_id",
199+
"reporter": "journalist",
200+
}
201+
202+
203+
def test_objecttype_with_aliased_fields():
204+
assert issubclass(HumanWithFieldAliased, ObjectType)
205+
assert HumanWithFieldAliased._meta.model == Article
206+
assert list(HumanWithFieldAliased._meta.fields.keys()) == [
207+
"article_id",
208+
"title",
209+
"publication_timestamp",
210+
"journalist_id",
211+
"journalist",
212+
"id", # Graphene Node ID
213+
]
214+
replaced_field = HumanWithFieldAliased._meta.fields["publication_timestamp"]
215+
assert isinstance(replaced_field, Field)
216+
assert replaced_field.type == Int

0 commit comments

Comments
 (0)