mirror of
https://github.com/inventree/InvenTree.git
synced 2025-06-17 12:35:46 +00:00
Add 'Tag' management (#4367)
* 'Tag' management Fixes #83 * Add for ManufacturerPart, SupplierPart * Add tags for StockLocation, StockItem * fix serializer definition * add migrations * update pre-commit * bump dependencies * revert updates * set version for bugbear * remove bugbear * readd bugbear remove isort * and remove bugbear again * remove bugbear * make tag fields not required * add ruleset * Merge migrations * fix migrations * add unittest for detail * test tag add * order api * reduce database access * add tag modification test * use overriden serializer to ensuer the manager is always available * fix typo * fix serializer * increae query thershold by 1 * move tag serializer * fix migrations * content_types are changing between tests - removing them * remove unneeded fixture * Add basic docs * bump API version * add api access to the docs * add python code * Add tags to search and filters for all models
This commit is contained in:
@ -1425,6 +1425,7 @@ class PartDetailTests(PartAPITestBase):
|
||||
'name': 'my test api part',
|
||||
'description': 'a part created with the API',
|
||||
'category': 1,
|
||||
'tags': '["tag1", "tag2"]',
|
||||
}
|
||||
)
|
||||
|
||||
@ -1438,6 +1439,8 @@ class PartDetailTests(PartAPITestBase):
|
||||
part = Part.objects.get(pk=pk)
|
||||
|
||||
self.assertEqual(part.name, 'my test api part')
|
||||
self.assertEqual(part.tags.count(), 2)
|
||||
self.assertEqual([a.name for a in part.tags.order_by('slug')], ['tag1', 'tag2'])
|
||||
|
||||
# Edit the part
|
||||
url = reverse('api-part-detail', kwargs={'pk': pk})
|
||||
@ -1468,6 +1471,13 @@ class PartDetailTests(PartAPITestBase):
|
||||
|
||||
self.assertEqual(response.status_code, 200)
|
||||
|
||||
# Try to remove a tag
|
||||
response = self.patch(url, {
|
||||
'tags': ['tag1',],
|
||||
})
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertEqual(response.data['tags'], ['tag1'])
|
||||
|
||||
# Try to remove the part
|
||||
response = self.delete(url)
|
||||
|
||||
|
Reference in New Issue
Block a user