Skip to content

Commit

Permalink
Update orderNumber field in OrderEvent type (#9447)
Browse files Browse the repository at this point in the history
  • Loading branch information
IKarbowiak committed Apr 5, 2022
1 parent 2526250 commit bef5dc4
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 8 deletions.
13 changes: 13 additions & 0 deletions saleor/graphql/order/tests/test_homepage.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

from prices import Money

from ....order import OrderEvents
from ....order.models import OrderEvent
from ...core.enums import ReportingPeriod
from ...tests.utils import assert_no_permission, get_graphql_content

Expand All @@ -14,6 +16,7 @@ def test_homepage_events(order_events, staff_api_client, permission_manage_order
node {
date
type
orderNumber
}
}
}
Expand All @@ -26,6 +29,16 @@ def test_homepage_events(order_events, staff_api_client, permission_manage_order
edges = content["data"]["homepageEvents"]["edges"]
only_types = {"PLACED", "PLACED_FROM_DRAFT", "ORDER_FULLY_PAID"}
assert {edge["node"]["type"] for edge in edges} == only_types
expected_numbers = set(
OrderEvent.objects.filter(
type__in=[
OrderEvents.PLACED,
OrderEvents.PLACED_FROM_DRAFT,
OrderEvents.ORDER_FULLY_PAID,
]
).values_list("order__number", flat=True)
)
assert {int(edge["node"]["orderNumber"]) for edge in edges} == expected_numbers


QUERY_ORDER_TOTAL = """
Expand Down
8 changes: 4 additions & 4 deletions saleor/graphql/order/tests/test_order.py
Original file line number Diff line number Diff line change
Expand Up @@ -1319,7 +1319,7 @@ def test_nested_order_events_query(
assert data["user"]["email"] == staff_user.email
assert data["type"] == "FULFILLMENT_FULFILLED_ITEMS"
assert data["date"] == event.date.isoformat()
assert data["orderNumber"] == str(fulfilled_order.pk)
assert data["orderNumber"] == str(fulfilled_order.number)
assert data["fulfilledItems"] == [
{
"quantity": line.quantity,
Expand Down Expand Up @@ -1379,7 +1379,7 @@ def test_nested_order_events_query_for_app(
assert data["app"]["name"] == app.name
assert data["type"] == "FULFILLMENT_FULFILLED_ITEMS"
assert data["date"] == event.date.isoformat()
assert data["orderNumber"] == str(fulfilled_order.pk)
assert data["orderNumber"] == str(fulfilled_order.number)
assert data["fulfilledItems"] == [
{
"quantity": line.quantity,
Expand Down Expand Up @@ -1578,7 +1578,7 @@ def test_payment_information_order_events_query(
assert data["user"]["email"] == staff_user.email
assert data["app"] is None
assert data["type"] == "PAYMENT_CAPTURED"
assert data["orderNumber"] == str(order.pk)
assert data["orderNumber"] == str(order.number)
assert data["paymentId"] == payment_dummy.token
assert data["paymentGateway"] == payment_dummy.gateway

Expand Down Expand Up @@ -1614,7 +1614,7 @@ def test_payment_information_order_events_query_for_app(
assert data["lines"] is None
assert data["app"]["name"] == app.name
assert data["type"] == "PAYMENT_CAPTURED"
assert data["orderNumber"] == str(order.pk)
assert data["orderNumber"] == str(order.number)
assert data["paymentId"] == payment_dummy.token
assert data["paymentGateway"] == payment_dummy.gateway

Expand Down
11 changes: 9 additions & 2 deletions saleor/graphql/order/types.py
Original file line number Diff line number Diff line change
Expand Up @@ -289,8 +289,15 @@ def resolve_oversold_items(root: models.OrderEvent, _info):
return root.parameters.get("oversold_items", None)

@staticmethod
def resolve_order_number(root: models.OrderEvent, _info):
return root.order_id
def resolve_order_number(root: models.OrderEvent, info):
def _resolve_order_number(order: models.Order):
return order.number

return (
OrderByIdLoader(info.context)
.load(root.order_id)
.then(_resolve_order_number)
)

@staticmethod
def resolve_invoice_number(root: models.OrderEvent, _info):
Expand Down
8 changes: 6 additions & 2 deletions saleor/tests/fixtures.py
Original file line number Diff line number Diff line change
Expand Up @@ -3978,8 +3978,12 @@ def order_with_preorder_lines(

@pytest.fixture
def order_events(order):
for event_type, _ in OrderEvents.CHOICES:
OrderEvent.objects.create(type=event_type, order=order)
order_events = [
OrderEvent(type=event_type, order=order)
for event_type, _ in OrderEvents.CHOICES
]
OrderEvent.objects.bulk_create(order_events)
return order_events


@pytest.fixture
Expand Down

0 comments on commit bef5dc4

Please sign in to comment.