mirror of
https://github.com/graphql-python/graphene.git
synced 2024-11-23 01:56:54 +03:00
80 lines
2.0 KiB
Python
80 lines
2.0 KiB
Python
import pytest
|
|
|
|
from ..data import initialize
|
|
from ..schema import schema
|
|
|
|
pytestmark = pytest.mark.django_db
|
|
|
|
|
|
def test_mutations():
|
|
initialize()
|
|
|
|
query = '''
|
|
mutation MyMutation {
|
|
introduceShip(input:{clientMutationId:"abc", shipName: "Peter", factionId: "1"}) {
|
|
ship {
|
|
id
|
|
name
|
|
}
|
|
faction {
|
|
name
|
|
ships {
|
|
edges {
|
|
node {
|
|
id
|
|
name
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
'''
|
|
expected = {
|
|
'introduceShip': {
|
|
'ship': {
|
|
'id': 'U2hpcDo5',
|
|
'name': 'Peter'
|
|
},
|
|
'faction': {
|
|
'name': 'Alliance to Restore the Republic',
|
|
'ships': {
|
|
'edges': [{
|
|
'node': {
|
|
'id': 'U2hpcDox',
|
|
'name': 'X-Wing'
|
|
}
|
|
}, {
|
|
'node': {
|
|
'id': 'U2hpcDoy',
|
|
'name': 'Y-Wing'
|
|
}
|
|
}, {
|
|
'node': {
|
|
'id': 'U2hpcDoz',
|
|
'name': 'A-Wing'
|
|
}
|
|
}, {
|
|
'node': {
|
|
'id': 'U2hpcDo0',
|
|
'name': 'Millenium Falcon'
|
|
}
|
|
}, {
|
|
'node': {
|
|
'id': 'U2hpcDo1',
|
|
'name': 'Home One'
|
|
}
|
|
}, {
|
|
'node': {
|
|
'id': 'U2hpcDo5',
|
|
'name': 'Peter'
|
|
}
|
|
}]
|
|
},
|
|
}
|
|
}
|
|
}
|
|
result = schema.execute(query)
|
|
assert not result.errors
|
|
assert result.data == expected
|