2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-07-19 19:26:29 +00:00
Files
InvenTree/InvenTree/order/test_views.py
Matthias Mair 6f0b2b31a8 Seperate CUI url paths and tests ()
* move CUI JS files to CUI url section

* add flag to seperate CUI code and tests

* re-enable tests

* move urls back to backend patterns

* swap switch logic

* fix merge

* returning PUI paths if CUI not enabled

* revert test changes

* fix plugin settings url

* URL is not dependant on UI generation

* small fixes

Co-authored-by: Oliver <oliver.henry.walters@gmail.com>

---------

Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2024-02-22 22:56:50 +00:00

99 lines
2.7 KiB
Python

"""Unit tests for Order views (see views.py)."""
from django.test import tag
from django.urls import reverse
from InvenTree.unit_test import InvenTreeTestCase
class OrderViewTestCase(InvenTreeTestCase):
"""Base unit test class for order views."""
fixtures = [
'category',
'part',
'bom',
'location',
'company',
'supplier_part',
'stock',
'order',
'sales_order',
'return_order',
]
roles = [
'purchase_order.change',
'purchase_order.add',
'purchase_order.delete',
'sales_order.change',
'sales_order.add',
'sales_order.delete',
'return_order.change',
'return_order.add',
'return_order.delete',
]
@tag('cui')
class PurchaseOrderListTest(OrderViewTestCase):
"""Unit tests for the PurchaseOrder index page."""
def test_order_list(self):
"""Tests for the PurchaseOrder index page."""
response = self.client.get(reverse('purchase-order-index'))
self.assertEqual(response.status_code, 200)
@tag('cui')
class PurchaseOrderTests(OrderViewTestCase):
"""Tests for PurchaseOrder views."""
def test_detail_view(self):
"""Retrieve PO detail view."""
response = self.client.get(reverse('po-detail', args=(1,)))
self.assertEqual(response.status_code, 200)
keys = response.context.keys()
self.assertIn('PurchaseOrderStatus', keys)
def test_po_export(self):
"""Export PurchaseOrder."""
response = self.client.get(
reverse('po-export', args=(1,)),
headers={'x-requested-with': 'XMLHttpRequest'},
)
# Response should be streaming-content (file download)
self.assertIn('streaming_content', dir(response))
@tag('cui')
class SalesOrderViews(OrderViewTestCase):
"""Unit tests for the SalesOrder pages."""
def test_index(self):
"""Test the SalesOrder index page."""
response = self.client.get(reverse('sales-order-index'))
self.assertEqual(response.status_code, 200)
def test_detail(self):
"""Test SalesOrder detail view."""
response = self.client.get(reverse('so-detail', args=(1,)))
self.assertEqual(response.status_code, 200)
@tag('cui')
class ReturnOrderVIews(OrderViewTestCase):
"""Unit tests for the ReturnOrder pages."""
def test_index(self):
"""Test the ReturnOrder index page."""
response = self.client.get(reverse('return-order-index'))
self.assertEqual(response.status_code, 200)
def test_detail(self):
"""Test ReturnOrder detail view."""
response = self.client.get(reverse('return-order-detail', args=(1,)))
self.assertEqual(response.status_code, 200)