Skip to content

Commit 2a4b379

Browse files
committed
refactor(invoice): update save calls to pass user object instead of username
- Replace `save(username=self.user.username)` with `save(user=self.user)` in invoice and payment services - Ensures consistency by passing the full user object for better tracking and auditing - Applied to InvoicePaymentsService, PaymentInvoiceService, and related tests
1 parent 345e3fd commit 2a4b379

File tree

5 files changed

+15
-15
lines changed

5 files changed

+15
-15
lines changed

invoice/services/invoicePayments.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ def payment_received(self, invoice_payment: InvoicePayment, payment_status: Invo
4040

4141
self._update_invoice_status(invoice_payment.invoice, Invoice.Status.PAID)
4242

43-
invoice_payment.invoice.save(username=self.user.username)
43+
invoice_payment.invoice.save(user=self.user)
4444
return self.save_instance(invoice_payment)
4545
except Exception as exc:
4646
return output_exception(model_name="InvoicePayment", method="payment_received", exception=exc)
@@ -52,7 +52,7 @@ def payment_refunded(self, invoice_payment):
5252
self._update_payment_status(invoice_payment, InvoicePayment.PaymentStatus.REFUNDED)
5353
self._update_invoice_status(invoice_payment.invoice, Invoice.Status.SUSPENDED)
5454

55-
invoice_payment.invoice.save(username=self.user.username)
55+
invoice_payment.invoice.save(user=self.user)
5656
return self.save_instance(invoice_payment)
5757
except Exception as exc:
5858
return output_exception(model_name="InvoicePayment", method="payment_refunded", exception=exc)
@@ -65,7 +65,7 @@ def payment_cancelled(self, invoice_payment):
6565
self._update_payment_status(invoice_payment.invoice, InvoicePayment.PaymentStatus.CANCELLED)
6666
self._update_invoice_status(invoice_payment.invoice, Invoice.Status.SUSPENDED)
6767

68-
invoice_payment.invoice.save(username=self.user.username)
68+
invoice_payment.invoice.save(user=self.user)
6969
return self.save_instance(invoice_payment)
7070
except Exception as exc:
7171
return output_exception(model_name="InvoicePayment", method="payment_refunded", exception=exc)

invoice/services/paymentInvoice.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,15 +35,15 @@ def create_with_detail(self, payment_invoice: dict, payment_detail: DetailPaymen
3535
try:
3636
with transaction.atomic():
3737
payment = PaymentInvoice(**payment_invoice)
38-
payment.save(username=self.user.username)
38+
payment.save(user=self.user)
3939
payment_detail.payment = payment
4040
payment_detail.subject = self._get_generic_object(
4141
payment_detail.subject_id,
4242
payment_detail.subject_type
4343
)
4444
if 'reconciliation' in payment.json_ext:
4545
payment_detail.reconcilation_id = payment.json_ext['reconciliation']['id']
46-
payment_detail.save(username=self.user.username)
46+
payment_detail.save(user=self.user)
4747
dict_repr = model_representation(payment)
4848
dict_repr['payment_detail_uuid'] = payment_detail.uuid
4949
return output_result_success(dict_representation=dict_repr)
@@ -115,7 +115,7 @@ def _update_detail(self, detail_collection, status):
115115
for detail in detail_collection:
116116
if detail.status != status:
117117
detail.status = status
118-
detail.save(username=self.user.username)
118+
detail.save(user=self.user)
119119

120120
@classmethod
121121
def _get_generic_object(cls, subject_id, subject_type):

invoice/tests/services/invoice.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,7 @@ def test_invoice_match_items_no_subject_valid_line_item(self):
245245
response = self.insuree_service.create(payload)
246246
invoice = Invoice.objects.filter(code=payload['code']).get()
247247
invoice.subject = None
248-
invoice.save(username=self.user.username)
248+
invoice.save(user=self.user)
249249
invoice_line_item = create_test_invoice_line_item(invoice=invoice, line_item=self.policy, user=self.user)
250250

251251
output = self.insuree_service.invoice_match_items(invoice)
@@ -264,9 +264,9 @@ def test_invoice_match_items_no_subject_id_invalid_no_line_item(self):
264264
invoice = Invoice.objects.filter(code=payload['code']).get()
265265
invoice_line_item = create_test_invoice_line_item(invoice=invoice, line_item=self.policy, user=self.user)
266266
invoice.subject = None
267-
invoice.save(username=self.user.username)
267+
invoice.save(user=self.user)
268268
invoice_line_item.line = None
269-
invoice_line_item.save(username=self.user.username)
269+
invoice_line_item.save(user=self.user)
270270

271271
output = self.insuree_service.invoice_match_items(invoice)
272272
expected_output = {

invoice/tests/services/invoicePayment.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
from product.test_helpers import create_test_product
77

88
from core.forms import User
9+
from core.test_helpers import create_test_interactive_user
910
from django.test import TestCase
1011

1112
from invoice.models import Invoice, InvoicePayment
@@ -53,10 +54,9 @@ class ServiceTestInvoicePayments(TestCase):
5354
def setUpClass(cls):
5455
super(ServiceTestInvoicePayments, cls).setUpClass()
5556
cls.maxDiff = None
56-
if not User.objects.filter(username='admin_invoice').exists():
57-
User.objects.create_superuser(username='admin_invoice', password='S\/pe®Pąßw0rd™')
57+
5858

59-
cls.user = User.objects.filter(username='admin_invoice').first()
59+
cls.user = create_test_interactive_user(username='admin_invoice')
6060
cls.invoice_payment_service = InvoicePaymentsService(cls.user)
6161

6262
cls.policy_holder = create_test_policy_holder()
@@ -79,7 +79,7 @@ def test_ref_received(self):
7979
payload['status'] = InvoicePayment.PaymentStatus.ACCEPTED
8080

8181
payment = self._create_payment(payload)
82-
payment.save(username=self.user.username)
82+
payment.save(user=self.user)
8383

8484
out = self.invoice_payment_service.ref_received(payment, 'code_ext1')
8585
expected = self.BASE_EXPECTED_SUCCESS_RESPONSE.copy()

invoice/tests/services/paymentInvoice.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -137,13 +137,13 @@ def test_payment_cancelled(self):
137137
def _create_payment(self, payment, payment_detail):
138138
payment = PaymentInvoice(**payment)
139139
payment.invoice = self.invoice
140-
payment.save(username=self.user.username)
140+
payment.save(user=self.user)
141141
payload_detail = DEFAULT_TEST_DETAIL_PAYMENT_INVOICE_PAYLOAD.copy()
142142
payload_detail['subject'] = self.invoice
143143
payload_detail['subject_type'] = ContentType.objects.get_for_model(self.invoice)
144144
payment_detail = DetailPaymentInvoice(**payload_detail)
145145
payment_detail.payment = payment
146-
payment_detail.save(username=self.user.username)
146+
payment_detail.save(user=self.user)
147147
return payment, payment_detail
148148

149149
def _assert_output_valid(self, out, payment, expected):

0 commit comments

Comments
 (0)