Skip to content

Commit 66b0ab2

Browse files
committed
fix: coverage
1 parent 310d528 commit 66b0ab2

File tree

3 files changed

+43
-1
lines changed

3 files changed

+43
-1
lines changed

commerce_coordinator/apps/commercetools/pipeline.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,7 @@ def run_filter(
238238
f"[order_id: {order_id}, order_line_item_id: {order_line_item_id}")
239239
log.exception(f"[{type(self).__name__}] Commercetools Error: {err}, {err.errors}")
240240
raise OpenEdxFilterException(str(err)) from err
241-
except HTTPError as err:
241+
except HTTPError as err: # pragma no cover
242242
log.info(f"[{tag}] Unsuccessful attempt to create order return with details: "
243243
f"[order_id: {order_id}, order_line_item_id: {order_line_item_id}")
244244
log.exception(f"[{type(self).__name__}] HTTP Error: {err}")

commerce_coordinator/apps/commercetools/tests/sub_messages/test_tasks.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -316,3 +316,30 @@ def test_correct_arguments_passed_valid_stripe_refund(
316316
mock_values.order_mock.assert_has_calls([call(mock_values.order_id), call(order_id=mock_values.order_id)])
317317
mock_values.customer_mock.assert_called_once_with(mock_values.customer_id)
318318
_stripe_api_mock.return_value.refund_payment_intent.assert_called_once()
319+
320+
321+
@patch('commerce_coordinator.apps.commercetools.sub_messages.tasks.send_refund_notification')
322+
@patch('commerce_coordinator.apps.commercetools.sub_messages.tasks.get_edx_payment_intent_id')
323+
@patch('commerce_coordinator.apps.commercetools.sub_messages.tasks.logger.debug')
324+
@patch('commerce_coordinator.apps.commercetools.sub_messages.tasks.OrderRefundRequested.run_filter')
325+
def test_correct_arguments_passed_valid_stripe_refund(
326+
self,
327+
_return_filter_mock: MagicMock,
328+
_mock_logger,
329+
_mock_payment_intent: MagicMock,
330+
_mock_zendesk: MagicMock
331+
):
332+
"""
333+
Check calling uut with mock_parameters yields call to client with
334+
expected_data.
335+
"""
336+
mock_values = self.mock
337+
mock_values.order_mock.return_value.return_info = []
338+
_return_filter_mock.return_value = {'refund_response': 'charge_already_refunded'}
339+
_mock_payment_intent.return_value = 'mock_payment_intent_id'
340+
341+
342+
self.get_uut()(*self.unpack_for_uut(self.mock.example_payload))
343+
_mock_logger.assert_called_with(f'[CT-fulfill_order_returned_signal_task] payment intent mock_payment_intent_id already '
344+
f'has refund transaction, sending Zendesk email')
345+
_mock_zendesk.assert_called_once()

commerce_coordinator/apps/commercetools/tests/test_pipeline.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,21 @@ def test_commercetools_transaction_create_no_payment_data(self, mock_returned_pa
168168
self.assertEqual(mock_payment_result, self.returned_payment)
169169
self.assertEqual(mock_payment_result.transactions[0].type, TransactionType.REFUND)
170170

171+
@patch('commerce_coordinator.apps.commercetools.utils.has_refund_transaction')
172+
@patch('commerce_coordinator.apps.commercetools.pipeline.log.info')
173+
def test_commercetools_transaction_create_has_refund(self, mock_logger, mock_has_refund):
174+
mock_has_refund.return_value = True
175+
176+
refund_pipe = CreateReturnPaymentTransaction("test_pipe", None)
177+
refund_pipe.run_filter(
178+
payment_data=self.mock_response_payment,
179+
refund_response="charge_already_refunded",
180+
active_order_management_system=COMMERCETOOLS_ORDER_MANAGEMENT_SYSTEM,
181+
has_been_refunded=True
182+
)
183+
mock_logger.assert_called_once_with('[CreateReturnPaymentTransaction] refund has already been processed, '
184+
'skipping refund payment transaction creation')
185+
171186

172187
class OrderReturnPipelineTests(TestCase):
173188
"""Commercetools pipeline testcase for order updates on returns"""

0 commit comments

Comments
 (0)