mirror of
https://github.com/inventree/InvenTree.git
synced 2025-06-15 19:45:46 +00:00
add tests
This commit is contained in:
@ -19,6 +19,7 @@ import build.models
|
|||||||
import company.models
|
import company.models
|
||||||
import part.models
|
import part.models
|
||||||
from common.models import InvenTreeCustomUserStateModel, InvenTreeSetting
|
from common.models import InvenTreeCustomUserStateModel, InvenTreeSetting
|
||||||
|
from common.settings import set_global_setting
|
||||||
from InvenTree.unit_test import InvenTreeAPITestCase
|
from InvenTree.unit_test import InvenTreeAPITestCase
|
||||||
from part.models import Part, PartTestTemplate
|
from part.models import Part, PartTestTemplate
|
||||||
from stock.models import (
|
from stock.models import (
|
||||||
@ -671,6 +672,14 @@ class StockItemListTest(StockAPITestCase):
|
|||||||
for item in response:
|
for item in response:
|
||||||
self.assertIsNone(item['serial'])
|
self.assertIsNone(item['serial'])
|
||||||
|
|
||||||
|
def test_filter_top_level(self):
|
||||||
|
"""Filter StockItem by top level."""
|
||||||
|
response = self.get_stock(top_level=True)
|
||||||
|
self.assertEqual(len(response), 29)
|
||||||
|
|
||||||
|
response = self.get_stock(top_level=False)
|
||||||
|
self.assertEqual(len(response), 29)
|
||||||
|
|
||||||
def test_filter_by_has_batch(self):
|
def test_filter_by_has_batch(self):
|
||||||
"""Test the 'has_batch' filter, which tests if the stock item has been assigned a batch code."""
|
"""Test the 'has_batch' filter, which tests if the stock item has been assigned a batch code."""
|
||||||
with_batch = self.get_stock(has_batch=1)
|
with_batch = self.get_stock(has_batch=1)
|
||||||
@ -925,6 +934,40 @@ class StockItemListTest(StockAPITestCase):
|
|||||||
self.list_url, {'location_detail': True, 'tests': True}, max_query_count=35
|
self.list_url, {'location_detail': True, 'tests': True}, max_query_count=35
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def test_batch_apis(self):
|
||||||
|
"""Test helper APIs for batch management."""
|
||||||
|
set_global_setting(
|
||||||
|
'STOCK_BATCH_CODE_TEMPLATE', '{% if item %}{{ item.pk }}{% endif %}'
|
||||||
|
)
|
||||||
|
response = self.post(reverse('api-generate-batch-code'))
|
||||||
|
self.assertEqual(response.status_code, 201)
|
||||||
|
self.assertIn('batch_code', response.data)
|
||||||
|
self.assertEqual(len(response.data['batch_code']), 0)
|
||||||
|
|
||||||
|
# With data
|
||||||
|
response = self.post(reverse('api-generate-batch-code'), {'item': 1})
|
||||||
|
self.assertEqual(response.data['batch_code'], '1')
|
||||||
|
|
||||||
|
# With full data
|
||||||
|
response = self.post(
|
||||||
|
reverse('api-generate-batch-code'), {'item': 1, 'quantity': 2}
|
||||||
|
)
|
||||||
|
self.assertEqual(response.data['batch_code'], '1')
|
||||||
|
|
||||||
|
# Generate serial number
|
||||||
|
response = self.post(reverse('api-generate-serial-number'))
|
||||||
|
self.assertIn('serial_number', response.data)
|
||||||
|
|
||||||
|
# With full data
|
||||||
|
response = self.post(
|
||||||
|
reverse('api-generate-serial-number'), {'part': 1, 'quantity': 1}
|
||||||
|
)
|
||||||
|
self.assertEqual(response.data['serial_number'], '1001')
|
||||||
|
response = self.post(
|
||||||
|
reverse('api-generate-serial-number'), {'part': 1, 'quantity': 3}
|
||||||
|
)
|
||||||
|
self.assertEqual(response.data['serial_number'], '1001,1002,1003')
|
||||||
|
|
||||||
|
|
||||||
class CustomStockItemStatusTest(StockAPITestCase):
|
class CustomStockItemStatusTest(StockAPITestCase):
|
||||||
"""Tests for custom stock item statuses."""
|
"""Tests for custom stock item statuses."""
|
||||||
|
Reference in New Issue
Block a user