2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-09-18 08:31:33 +00:00

Shipment delivery date (#4825)

* Add delivery date setting to Shipment model

* Add delivery_date to serializer

* Correct test for is_delivered

* Add relevant fields to API and forms

* Add test

* Increment API version

* Move migration file because of conflict
This commit is contained in:
miggland
2023-05-16 13:28:09 +02:00
committed by GitHub
parent 397419f365
commit 98d87c84e3
8 changed files with 119 additions and 1 deletions

View File

@@ -1829,6 +1829,7 @@ class SalesOrderAllocateTest(OrderTest):
'link': 'http://test.com/link.html',
'tracking_number': 'TRK12345',
'shipment_date': '2020-12-05',
'delivery_date': '2023-12-05',
},
expected_code=201,
)
@@ -1839,6 +1840,48 @@ class SalesOrderAllocateTest(OrderTest):
self.assertEqual(self.shipment.tracking_number, 'TRK12345')
self.assertEqual(self.shipment.invoice_number, 'INV01234')
self.assertEqual(self.shipment.link, 'http://test.com/link.html')
self.assertEqual(self.shipment.delivery_date, datetime(2023, 12, 5).date())
self.assertTrue(self.shipment.is_delivered())
def test_shipment_deliverydate(self):
"""Test delivery date functions via API."""
url = reverse('api-so-shipment-detail', kwargs={'pk': self.shipment.pk})
# Attempt remove delivery_date from shipment
response = self.patch(
url,
{
'delivery_date': None,
},
expected_code=200,
)
# Shipment should not be marked as delivered
self.assertFalse(self.shipment.is_delivered())
# Attempt to set delivery date
response = self.patch(
url,
{
'delivery_date': 'asfasd',
},
expected_code=400,
)
self.assertIn('Date has wrong format', str(response.data))
response = self.patch(
url,
{
'delivery_date': '2023-05-15',
},
expected_code=200,
)
self.shipment.refresh_from_db()
# Shipment should now be marked as delivered
self.assertTrue(self.shipment.is_delivered())
self.assertEqual(self.shipment.delivery_date, datetime(2023, 5, 15).date())
def test_sales_order_shipment_list(self):
"""Test the SalesOrderShipment list API endpoint"""