fix order
This commit is contained in:
1 parent
ae4dbab3cc
commit
4dc6d98abf
3 files changed
+39
-4
No files matched your search
@@ -418,6 +418,39 @@ class OrderingRegressionTests(RegressionFixtures):
|
||||
self.assertIsNone(response.data['category_img'])
|
||||
self.assertEqual([row['name'] for row in response.data['products']], ['B', 'A'])
|
||||
|
||||
def test_catalog_order_changes_follow_database_and_zero_precedes_null(self):
|
||||
Product.objects.create(name='Unordered product', category=self.unordered, sys_ws=self.workspace, price=1)
|
||||
self.use_role()
|
||||
ProductCategory.objects.filter(pk=self.second.pk).update(order_cat=0)
|
||||
response = self.client.get('/shop/v2/product-category/list/')
|
||||
self.assertEqual([row['name'] for row in response.data], ['Second', 'First', 'Unordered'])
|
||||
Product.objects.filter(pk=self.a.pk).update(order_prd=0)
|
||||
Product.objects.filter(pk=self.b.pk).update(order_prd=None)
|
||||
response = self.client.get(f'/shop/product/list/{self.first.pk}/')
|
||||
self.assertEqual([row['name'] for row in response.data['products']], ['A', 'B'])
|
||||
Product.objects.create(name='Custom later', category=self.first, sys_ws=self.workspace, price=1, view_only=True, order_prd=None)
|
||||
Product.objects.create(name='Custom first', category=self.first, sys_ws=self.workspace, price=1, view_only=True, order_prd=0)
|
||||
response = self.client.get(f'/shop/product/list/{self.first.pk}/')
|
||||
self.assertEqual([row['name'] for row in response.data['view_only_products']], ['Custom first', 'Custom later'])
|
||||
|
||||
def test_order_excel_uses_current_database_order_independently_of_insertion(self):
|
||||
order = Order.objects.create(customer=self.customer, total_price=60, factor_type=1, sys_ws=self.workspace)
|
||||
for product in [self.c, self.b, self.a]:
|
||||
OrderItem.objects.create(order=order, product=product, product_name=product.name, price=product.price, amount=1)
|
||||
self.use_role(self.operator)
|
||||
ProductCategory.objects.filter(pk=self.first.pk).update(excel_order=0)
|
||||
Product.objects.filter(pk=self.b.pk).update(excel_order=0)
|
||||
response = self.client.get(f'/shop/order/{order.pk}/operator/excel/')
|
||||
self.assertEqual(response.status_code, 200)
|
||||
sheet = load_workbook(BytesIO(response.content)).active
|
||||
self.assertEqual([row[0] for row in list(sheet.values)[1:]], ['FirstB', 'FirstA', 'SecondC'])
|
||||
ProductCategory.objects.update(excel_order=None)
|
||||
Product.objects.update(excel_order=None)
|
||||
ProductCategory.objects.filter(pk=self.second.pk).update(order_cat=0)
|
||||
response = self.client.get(f'/shop/order/{order.pk}/operator/excel/')
|
||||
sheet = load_workbook(BytesIO(response.content)).active
|
||||
self.assertEqual([row[0] for row in list(sheet.values)[1:]], ['SecondC', 'FirstB', 'FirstA'])
|
||||
|
||||
def test_order_excel_matches_independent_order_and_handles_empty_order(self):
|
||||
order = Order.objects.create(customer=self.customer, total_price=60, factor_type=1, sys_ws=self.workspace)
|
||||
for product in [self.b, self.a, self.c]:
|
||||
|
||||
Reference in new issue
Block a user