Skip to content

Commit

Permalink
Simplify update code, update test improvement
Browse files Browse the repository at this point in the history
  • Loading branch information
Tomasz Szymanski committed Mar 23, 2020
1 parent 797d8d6 commit 431308c
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 5 deletions.
5 changes: 1 addition & 4 deletions saleor/graphql/order/mutations/orders.py
Original file line number Diff line number Diff line change
Expand Up @@ -579,11 +579,8 @@ class Meta:
@classmethod
def perform_mutation(cls, _root, info, **data):
invoice = cls.get_instance(info, **data)
update_fields = ("number", "url")
with transaction.atomic():
invoice.update_invoice(
**{arg: data[arg] for arg in update_fields if data.get(arg) is not None}
)
invoice.update_invoice(number=data.get("number"), url=data.get("url"))
invoice.status = InvoiceStatus.READY
invoice.save()
if not (invoice.number and invoice.url):
Expand Down
4 changes: 3 additions & 1 deletion tests/api/test_order.py
Original file line number Diff line number Diff line change
Expand Up @@ -2940,7 +2940,8 @@ def test_update_invoice(user_api_client, permission_manage_orders, orders):


def test_update_invoice_single_value(user_api_client, permission_manage_orders, orders):
invoice = Invoice.objects.create(order=orders[0], number="01/12/2020/TEST")
number = "01/12/2020/TEST"
invoice = Invoice.objects.create(order=orders[0], number=number)
url = "http://www.example.com"
variables = {
"id": graphene.Node.to_global_id("Invoice", invoice.pk),
Expand All @@ -2951,6 +2952,7 @@ def test_update_invoice_single_value(user_api_client, permission_manage_orders,
content = get_graphql_content(response)
invoice.refresh_from_db()
assert invoice.status == InvoiceStatus.READY
assert invoice.number == number
assert invoice.url == content["data"]["updateInvoice"]["invoice"]["url"]


Expand Down

0 comments on commit 431308c

Please sign in to comment.