Skip to content

Commit a4156a1

Browse files
committed
Execution result formatting: More tests and cosmetics
1 parent 8d71342 commit a4156a1

File tree

2 files changed

+21
-7
lines changed

2 files changed

+21
-7
lines changed

src/graphql/execution/execute.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -131,12 +131,12 @@ def __iter__(self) -> Iterable[Any]:
131131
@property
132132
def formatted(self) -> Dict[str, Any]:
133133
"""Get execution result formatted according to the specification."""
134-
formatted_errors = ([err.formatted for err in self.errors]
135-
if self.errors is not None
136-
else None)
134+
errors = (
135+
None if self.errors is None else [error.formatted for error in self.errors]
136+
)
137137
if self.extensions is None:
138-
return dict(data=self.data, errors=formatted_errors)
139-
return dict(data=self.data, errors=formatted_errors, extensions=self.extensions)
138+
return dict(data=self.data, errors=errors)
139+
return dict(data=self.data, errors=errors, extensions=self.extensions)
140140

141141
def __eq__(self, other: Any) -> bool:
142142
if isinstance(other, dict):

tests/execution/test_execution_result.py

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,26 @@ def prints_a_representation():
3333
)
3434

3535
def formats_properly():
36+
res = ExecutionResult(data, None)
37+
assert res.formatted == {
38+
"data": data,
39+
"errors": None,
40+
}
3641
res = ExecutionResult(data, errors)
37-
assert res.formatted == {"data": data, "errors": [{'message': 'Some error', 'locations': None, 'path': None}]}
42+
assert res.formatted == {
43+
"data": data,
44+
"errors": [{"message": "Some error", "locations": None, "path": None}],
45+
}
46+
res = ExecutionResult(data, None, extensions)
47+
assert res.formatted == {
48+
"data": data,
49+
"errors": None,
50+
"extensions": extensions,
51+
}
3852
res = ExecutionResult(data, errors, extensions)
3953
assert res.formatted == {
4054
"data": data,
41-
"errors": [{'message': 'Some error', 'locations': None, 'path': None}],
55+
"errors": [{"message": "Some error", "locations": None, "path": None}],
4256
"extensions": extensions,
4357
}
4458

0 commit comments

Comments
 (0)