|
6 | 6 | import base64
|
7 | 7 | from unittest import mock
|
8 | 8 |
|
9 |
| -from odoo.modules import get_module_resource |
10 | 9 | from odoo.tests import Form, common
|
11 | 10 |
|
12 | 11 | _module_ns = "odoo.addons.delivery_ups_oca"
|
13 | 12 | _provider_class = _module_ns + ".models.ups_request.UpsRequest"
|
14 | 13 |
|
15 | 14 |
|
16 |
| -class TestDeliveryUpsBase(common.SavepointCase): |
| 15 | +class TestDeliveryUpsBase(common.TransactionCase): |
17 | 16 | @classmethod
|
18 | 17 | def setUpClass(cls):
|
19 | 18 | super().setUpClass()
|
@@ -70,7 +69,8 @@ def _create_sale_order(self):
|
70 | 69 | sale = order_form.save()
|
71 | 70 | delivery_wizard = Form(
|
72 | 71 | self.env["choose.delivery.carrier"].with_context(
|
73 |
| - {"default_order_id": sale.id, "default_carrier_id": self.carrier.id} |
| 72 | + default_order_id=sale.id, |
| 73 | + default_carrier_id=self.carrier.id, |
74 | 74 | )
|
75 | 75 | ).save()
|
76 | 76 | delivery_wizard.button_confirm()
|
@@ -123,47 +123,44 @@ def test_order_ups_rate_shipment_currency_extra(self):
|
123 | 123 | def test_delivery_carrier_ups_integration(self):
|
124 | 124 | self.picking.action_confirm()
|
125 | 125 | self.picking.action_assign()
|
126 |
| - dummy_pdf_path = get_module_resource( |
127 |
| - "delivery_carrier_label_batch", "tests", "dummy.pdf" |
128 |
| - ) |
129 |
| - with open(dummy_pdf_path, "rb") as dummy_pdf: |
130 |
| - label = dummy_pdf.read() |
131 |
| - with mock.patch( |
132 |
| - _provider_class + "._send_shipping", |
133 |
| - return_value={ |
134 |
| - "price": {"CurrencyCode": "USD", "MonetaryValue": "0.0"}, |
135 |
| - "ShipmentIdentificationNumber": "123456", |
136 |
| - "labels": [ |
137 |
| - { |
138 |
| - "tracking_ref": "123456", |
139 |
| - "format_code": "png", |
140 |
| - "datas": base64.b64encode(label), |
141 |
| - } |
142 |
| - ], |
143 |
| - }, |
144 |
| - ): |
145 |
| - self.picking.send_to_shipper() |
146 |
| - self.assertEqual(self.picking.message_attachment_count, 1) |
147 |
| - self.assertTrue(self.picking.carrier_tracking_ref) |
148 |
| - self.assertFalse(self.picking.tracking_state_history) |
149 |
| - self.assertEqual( |
150 |
| - self.picking.delivery_state, "shipping_recorded_in_carrier" |
151 |
| - ) |
152 |
| - if self.picking.carrier_id.ups_tracking_state_update_sync: |
153 |
| - with mock.patch( |
154 |
| - _provider_class + ".tracking_state_update", |
155 |
| - return_value={ |
156 |
| - "delivery_state": "in_transit", |
157 |
| - "tracking_state_history": "history", |
158 |
| - }, |
159 |
| - ): |
160 |
| - self.picking.tracking_state_update() |
161 |
| - self.assertEqual(self.picking.delivery_state, "in_transit") |
162 |
| - self.assertTrue(self.picking.tracking_state_history) |
| 126 | + # Create a simple PDF-like bytes object for testing |
| 127 | + label = b"%PDF-1.4\n%EOF" |
| 128 | + with mock.patch( |
| 129 | + _provider_class + "._send_shipping", |
| 130 | + return_value={ |
| 131 | + "price": {"CurrencyCode": "USD", "MonetaryValue": "0.0"}, |
| 132 | + "ShipmentIdentificationNumber": "123456", |
| 133 | + "labels": [ |
| 134 | + { |
| 135 | + "tracking_ref": "123456", |
| 136 | + "format_code": "png", |
| 137 | + "datas": base64.b64encode(label), |
| 138 | + } |
| 139 | + ], |
| 140 | + }, |
| 141 | + ): |
| 142 | + self.picking.send_to_shipper() |
| 143 | + self.assertEqual(self.picking.message_attachment_count, 1) |
| 144 | + self.assertTrue(self.picking.carrier_tracking_ref) |
| 145 | + self.assertFalse(self.picking.tracking_state_history) |
| 146 | + self.assertEqual( |
| 147 | + self.picking.delivery_state, "shipping_recorded_in_carrier" |
| 148 | + ) |
| 149 | + if self.picking.carrier_id.ups_tracking_state_update_sync: |
163 | 150 | with mock.patch(
|
164 |
| - _provider_class + ".cancel_shipment", |
165 |
| - return_value=True, |
| 151 | + _provider_class + ".tracking_state_update", |
| 152 | + return_value={ |
| 153 | + "delivery_state": "in_transit", |
| 154 | + "tracking_state_history": "history", |
| 155 | + }, |
166 | 156 | ):
|
167 |
| - self.picking.cancel_shipment() |
168 |
| - self.assertFalse(self.picking.carrier_tracking_ref) |
169 |
| - self.assertEqual(self.picking.delivery_state, "canceled_shipment") |
| 157 | + self.picking.tracking_state_update() |
| 158 | + self.assertEqual(self.picking.delivery_state, "in_transit") |
| 159 | + self.assertTrue(self.picking.tracking_state_history) |
| 160 | + with mock.patch( |
| 161 | + _provider_class + ".cancel_shipment", |
| 162 | + return_value=True, |
| 163 | + ): |
| 164 | + self.picking.cancel_shipment() |
| 165 | + self.assertFalse(self.picking.carrier_tracking_ref) |
| 166 | + self.assertEqual(self.picking.delivery_state, "canceled_shipment") |
0 commit comments