diff --git a/database/schema.py b/database/schema.py index 79f72bdb5d7beb9d92e084f8dccfef46bffe2639..bcae01fc5251cabfd32c9c3d05f5f4a5c884cf14 100644 --- a/database/schema.py +++ b/database/schema.py @@ -42,9 +42,9 @@ class Role(SQLAlchemyObjectType): class Query(graphene.ObjectType): node = relay.Node.Field() all_users = SQLAlchemyConnectionField(User) - find_user = graphene.Field(User,username=graphene.String()) + get_user = graphene.Field(User,username=graphene.String()) - def resolve_find_user(root, info, username): + def resolve_get_user(root, info, username): query = User.get_query(info) return query.filter(UserModel.username == username).first() diff --git a/test/test_graphql.py b/test/test_graphql.py index 3de3f0bbeb469e06b66702878b3cbaa9ece04504..d8c2bc3da709ba3a99c921de7badf664fa3d401d 100644 --- a/test/test_graphql.py +++ b/test/test_graphql.py @@ -21,7 +21,7 @@ class GraphQlTests(LiveServerTestCase): users = User.query.filter_by(username="graphqluser").delete() db_session.commit() - def test_query_create_user(self): + def test_query_create_and_get_user(self): username = "graphqluser" password = "randompassword" email = "user@example.com" @@ -43,3 +43,17 @@ class GraphQlTests(LiveServerTestCase): user = result["data"]["createUser"]["user"] self.assertEqual(user["username"], username) self.assertEqual(user["email"], email) + querystring = ''' + {{ + getUser(username: "{0}"){{ + username, + email + }} + }} + '''.format(username).strip() + result = loads(self.client.execute(querystring)) + self.assertIn("data", result) + self.assertIn("getUser", result["data"]) + user = result["data"]["getUser"] + self.assertEqual(user["username"], username) + self.assertEqual(user["email"], email)