From c04ea3e0bb75080a31dc0b7fa1dd66ee4f3ca91e Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 24 Nov 2021 10:41:19 +1100 Subject: [PATCH] Adds unit test for "validated" filter option on BomItem list --- InvenTree/part/api.py | 16 ++++++++-------- InvenTree/part/test_api.py | 9 ++++++++- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/InvenTree/part/api.py b/InvenTree/part/api.py index 633f46d6e7..3cbe15d133 100644 --- a/InvenTree/part/api.py +++ b/InvenTree/part/api.py @@ -1081,6 +1081,14 @@ class BomFilter(rest_filters.FilterSet): inherited = rest_filters.BooleanFilter(label='BOM line is inherited') allow_variants = rest_filters.BooleanFilter(label='Variants are allowed') + # Filters for linked 'part' + part_active = rest_filters.BooleanFilter(label='Master part is active', field_name='part__active') + part_trackable = rest_filters.BooleanFilter(label='Master part is trackable', field_name='part__trackable') + + # Filters for linked 'sub_part' + sub_part_trackable = rest_filters.BooleanFilter(label='Sub part is trackable', field_name='sub_part__trackable') + sub_part_assembly = rest_filters.BooleanFilter(label='Sub part is an assembly', field_name='sub_part__assembly') + validated = rest_filters.BooleanFilter(label='BOM line has been validated', method='filter_validated') def filter_validated(self, queryset, name, value): @@ -1099,14 +1107,6 @@ class BomFilter(rest_filters.FilterSet): return queryset - # Filters for linked 'part' - part_active = rest_filters.BooleanFilter(label='Master part is active', field_name='part__active') - part_trackable = rest_filters.BooleanFilter(label='Master part is trackable', field_name='part__trackable') - - # Filters for linked 'sub_part' - sub_part_trackable = rest_filters.BooleanFilter(label='Sub part is trackable', field_name='sub_part__trackable') - sub_part_assembly = rest_filters.BooleanFilter(label='Sub part is an assembly', field_name='sub_part__assembly') - class BomList(generics.ListCreateAPIView): """ diff --git a/InvenTree/part/test_api.py b/InvenTree/part/test_api.py index ba38ffa879..99f531306f 100644 --- a/InvenTree/part/test_api.py +++ b/InvenTree/part/test_api.py @@ -925,7 +925,14 @@ class BomItemTest(InvenTreeAPITestCase): expected_code=200 ) - print("results:", len(response.data)) + # Filter by "validated" + response = self.get( + url, + data={ + 'validated': True, + }, + expected_code=200, + ) def test_get_bom_detail(self): """