Initial commit from monorepo
This commit is contained in:
98
teams_app/tests.py
Normal file
98
teams_app/tests.py
Normal file
@@ -0,0 +1,98 @@
|
||||
from django.test import TestCase
|
||||
from graphene.test import Client
|
||||
from teams_app.schema import schema
|
||||
|
||||
class TeamsGraphQLTestCase(TestCase):
|
||||
def setUp(self):
|
||||
self.client = Client(schema)
|
||||
|
||||
def test_get_user_teams_with_params(self):
|
||||
"""Тест getUserTeams с userId"""
|
||||
query = '''
|
||||
{
|
||||
getUserTeams(userId: "demo-user") {
|
||||
id
|
||||
name
|
||||
ownerId
|
||||
logtoOrgId
|
||||
createdAt
|
||||
updatedAt
|
||||
}
|
||||
}
|
||||
'''
|
||||
result = self.client.execute(query)
|
||||
print(f"\n=== getUserTeams WITH PARAMS ===")
|
||||
print(f"Result: {result}")
|
||||
|
||||
if result.get('errors'):
|
||||
print(f"ERRORS: {result['errors']}")
|
||||
|
||||
if result.get('data'):
|
||||
teams = result['data']['getUserTeams']
|
||||
print(f"Found {len(teams)} teams")
|
||||
for team in teams:
|
||||
print(f"Team: {team.get('name')} - {team.get('id')}")
|
||||
|
||||
# Проверки
|
||||
self.assertIsNone(result.get('errors'))
|
||||
self.assertIn('getUserTeams', result['data'])
|
||||
|
||||
def test_get_user_teams_no_params(self):
|
||||
"""Тест getUserTeams без параметров"""
|
||||
query = '''
|
||||
{
|
||||
getUserTeams {
|
||||
id
|
||||
name
|
||||
}
|
||||
}
|
||||
'''
|
||||
result = self.client.execute(query)
|
||||
print(f"\n=== getUserTeams NO PARAMS ===")
|
||||
print(f"Result: {result}")
|
||||
|
||||
if result.get('errors'):
|
||||
print(f"ERRORS: {result['errors']}")
|
||||
|
||||
if result.get('data'):
|
||||
teams = result['data']['getUserTeams']
|
||||
print(f"Found {len(teams)} teams")
|
||||
|
||||
def test_schema_fields(self):
|
||||
"""Тест что схема содержит нужные поля"""
|
||||
query = '''
|
||||
{
|
||||
__type(name: "Team") {
|
||||
fields {
|
||||
name
|
||||
type {
|
||||
name
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
'''
|
||||
result = self.client.execute(query)
|
||||
print(f"\n=== TEAM SCHEMA FIELDS ===")
|
||||
|
||||
if result.get('data') and result['data']['__type']:
|
||||
fields = result['data']['__type']['fields']
|
||||
field_names = [f['name'] for f in fields]
|
||||
print(f"Team fields: {field_names}")
|
||||
|
||||
required_fields = ['id', 'name', 'ownerId']
|
||||
for field in required_fields:
|
||||
if field in field_names:
|
||||
print(f"✅ {field} - OK")
|
||||
else:
|
||||
print(f"❌ {field} - MISSING")
|
||||
|
||||
def test_invalid_query(self):
|
||||
"""Тест неправильного запроса"""
|
||||
query = '{ nonExistentField }'
|
||||
result = self.client.execute(query)
|
||||
print(f"\n=== INVALID QUERY TEST ===")
|
||||
print(f"Result: {result}")
|
||||
|
||||
# Должна быть ошибка
|
||||
self.assertIsNotNone(result.get('errors'))
|
||||
Reference in New Issue
Block a user