mirror of
https://github.com/inventree/InvenTree
synced 2024-08-30 18:33:04 +00:00
Add unit tests for new purchase order API endpoints:
- PurchaseOrderCancel - PurchaseOrderComplete - PurchaseOrderIssue
This commit is contained in:
parent
88dbd5aa74
commit
7a5be35f10
@ -239,6 +239,98 @@ class PurchaseOrderTest(OrderTest):
|
|||||||
expected_code=201
|
expected_code=201
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def test_po_cancel(self):
|
||||||
|
"""
|
||||||
|
Test the PurchaseOrderCancel API endpoint
|
||||||
|
"""
|
||||||
|
|
||||||
|
po = models.PurchaseOrder.objects.get(pk=1)
|
||||||
|
|
||||||
|
self.assertEqual(po.status, PurchaseOrderStatus.PENDING)
|
||||||
|
|
||||||
|
url = reverse('api-po-cancel', kwargs={'pk': po.pk})
|
||||||
|
|
||||||
|
# Try to cancel the PO, but without reqiured permissions
|
||||||
|
self.post(
|
||||||
|
url,
|
||||||
|
{},
|
||||||
|
expected_code=403,
|
||||||
|
)
|
||||||
|
|
||||||
|
self.assignRole('purchase_order.add')
|
||||||
|
|
||||||
|
self.post(
|
||||||
|
url,
|
||||||
|
{},
|
||||||
|
expected_code=201,
|
||||||
|
)
|
||||||
|
|
||||||
|
po.refresh_from_db()
|
||||||
|
|
||||||
|
self.assertEqual(po.status, PurchaseOrderStatus.CANCELLED)
|
||||||
|
|
||||||
|
# Try to cancel again (should fail)
|
||||||
|
self.post(
|
||||||
|
url,
|
||||||
|
{},
|
||||||
|
expected_code=400,
|
||||||
|
)
|
||||||
|
|
||||||
|
def test_po_complete(self):
|
||||||
|
""" Test the PurchaseOrderComplete API endpoint """
|
||||||
|
|
||||||
|
po = models.PurchaseOrder.objects.get(pk=3)
|
||||||
|
|
||||||
|
url = reverse('api-po-complete', kwargs={'pk': po.pk})
|
||||||
|
|
||||||
|
self.assertEqual(po.status, PurchaseOrderStatus.PLACED)
|
||||||
|
|
||||||
|
# Try to complete the PO, without required permissions
|
||||||
|
response = self.post(
|
||||||
|
url,
|
||||||
|
{},
|
||||||
|
expected_code=403,
|
||||||
|
)
|
||||||
|
|
||||||
|
self.assignRole('purchase_order.add')
|
||||||
|
|
||||||
|
response = self.post(
|
||||||
|
url,
|
||||||
|
{},
|
||||||
|
expected_code=201,
|
||||||
|
)
|
||||||
|
|
||||||
|
po.refresh_from_db()
|
||||||
|
|
||||||
|
self.assertEqual(po.status, PurchaseOrderStatus.COMPLETE)
|
||||||
|
|
||||||
|
|
||||||
|
def test_po_issue(self):
|
||||||
|
""" Test the PurchaseOrderIssue API endpoint """
|
||||||
|
|
||||||
|
po = models.PurchaseOrder.objects.get(pk=2)
|
||||||
|
|
||||||
|
url = reverse('api-po-issue', kwargs={'pk': po.pk})
|
||||||
|
|
||||||
|
# Try to issue the PO, without required permissions
|
||||||
|
response = self.post(
|
||||||
|
url,
|
||||||
|
{},
|
||||||
|
expected_code=403,
|
||||||
|
)
|
||||||
|
|
||||||
|
self.assignRole('purchase_order.add')
|
||||||
|
|
||||||
|
response = self.post(
|
||||||
|
url,
|
||||||
|
{},
|
||||||
|
expected_code=201,
|
||||||
|
)
|
||||||
|
|
||||||
|
po.refresh_from_db()
|
||||||
|
|
||||||
|
self.assertEqual(po.status, PurchaseOrderStatus.PLACED)
|
||||||
|
|
||||||
|
|
||||||
class PurchaseOrderReceiveTest(OrderTest):
|
class PurchaseOrderReceiveTest(OrderTest):
|
||||||
"""
|
"""
|
||||||
|
Loading…
Reference in New Issue
Block a user