mirror of
https://github.com/inventree/InvenTree
synced 2024-08-30 18:33:04 +00:00
Further improvements to unit tests
This commit is contained in:
parent
47f6b709c9
commit
82cfc5423a
@ -151,7 +151,7 @@ class BomUploadTest(InvenTreeAPITestCase):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
url = reverse('api-bom-import-extract')
|
url = reverse('api-bom-import-extract')
|
||||||
|
|
||||||
rows = [
|
rows = [
|
||||||
['1', 'test'],
|
['1', 'test'],
|
||||||
['2', 'test'],
|
['2', 'test'],
|
||||||
@ -262,9 +262,14 @@ class BomUploadTest(InvenTreeAPITestCase):
|
|||||||
10,
|
10,
|
||||||
])
|
])
|
||||||
|
|
||||||
response = self.post_bom(
|
url = reverse('api-bom-import-extract')
|
||||||
'test.csv',
|
|
||||||
bytes(dataset.csv, 'utf8'),
|
response = self.post(
|
||||||
|
url,
|
||||||
|
{
|
||||||
|
'columns': dataset.headers,
|
||||||
|
'rows': [row for row in dataset],
|
||||||
|
},
|
||||||
expected_code=201,
|
expected_code=201,
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -273,7 +278,7 @@ class BomUploadTest(InvenTreeAPITestCase):
|
|||||||
self.assertEqual(len(rows), 10)
|
self.assertEqual(len(rows), 10)
|
||||||
|
|
||||||
for idx in range(10):
|
for idx in range(10):
|
||||||
self.assertEqual(rows[idx]['part'], components[idx].pk)
|
self.assertEqual(rows[idx]['data']['part'], components[idx].pk)
|
||||||
|
|
||||||
# Should also be able to 'guess' part by the IPN value
|
# Should also be able to 'guess' part by the IPN value
|
||||||
dataset = tablib.Dataset()
|
dataset = tablib.Dataset()
|
||||||
@ -286,9 +291,12 @@ class BomUploadTest(InvenTreeAPITestCase):
|
|||||||
10,
|
10,
|
||||||
])
|
])
|
||||||
|
|
||||||
response = self.post_bom(
|
response = self.post(
|
||||||
'test.csv',
|
url,
|
||||||
bytes(dataset.csv, 'utf8'),
|
{
|
||||||
|
'columns': dataset.headers,
|
||||||
|
'rows': [row for row in dataset],
|
||||||
|
},
|
||||||
expected_code=201,
|
expected_code=201,
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -297,13 +305,15 @@ class BomUploadTest(InvenTreeAPITestCase):
|
|||||||
self.assertEqual(len(rows), 10)
|
self.assertEqual(len(rows), 10)
|
||||||
|
|
||||||
for idx in range(10):
|
for idx in range(10):
|
||||||
self.assertEqual(rows[idx]['part'], components[idx].pk)
|
self.assertEqual(rows[idx]['data']['part'], components[idx].pk)
|
||||||
|
|
||||||
def test_levels(self):
|
def test_levels(self):
|
||||||
"""
|
"""
|
||||||
Test that multi-level BOMs are correctly handled during upload
|
Test that multi-level BOMs are correctly handled during upload
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
url = reverse('api-bom-import-extract')
|
||||||
|
|
||||||
dataset = tablib.Dataset()
|
dataset = tablib.Dataset()
|
||||||
|
|
||||||
dataset.headers = ['level', 'part', 'quantity']
|
dataset.headers = ['level', 'part', 'quantity']
|
||||||
@ -317,11 +327,20 @@ class BomUploadTest(InvenTreeAPITestCase):
|
|||||||
2,
|
2,
|
||||||
])
|
])
|
||||||
|
|
||||||
response = self.post_bom(
|
response = self.post(
|
||||||
'test.csv',
|
url,
|
||||||
bytes(dataset.csv, 'utf8'),
|
{
|
||||||
|
'rows': [row for row in dataset],
|
||||||
|
'columns': dataset.headers,
|
||||||
|
},
|
||||||
expected_code=201,
|
expected_code=201,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
rows = response.data['rows']
|
||||||
|
|
||||||
# Only parts at index 1, 4, 7 should have been returned
|
# Only parts at index 1, 4, 7 should have been returned
|
||||||
self.assertEqual(len(response.data['rows']), 3)
|
self.assertEqual(len(response.data['rows']), 3)
|
||||||
|
|
||||||
|
self.assertEqual(rows[0]['data']['part'], 3)
|
||||||
|
self.assertEqual(rows[1]['data']['part'], 6)
|
||||||
|
self.assertEqual(rows[2]['data']['part'], 9)
|
||||||
|
Loading…
Reference in New Issue
Block a user