summaryrefslogtreecommitdiff
path: root/tests/test_product.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_product.py')
-rw-r--r--tests/test_product.py43
1 files changed, 43 insertions, 0 deletions
diff --git a/tests/test_product.py b/tests/test_product.py
index 947c427d..e915f832 100644
--- a/tests/test_product.py
+++ b/tests/test_product.py
@@ -369,3 +369,46 @@ def test_variant_availability_status(unavailable_product):
stock.save()
status = get_variant_availability_status(variant)
assert status == VariantAvailabilityStatus.AVAILABLE
+
+
+def test_product_filter_before_filtering(
+ authorized_client, product_in_stock, default_category):
+ products = models.Product.objects.all()
+ url = reverse(
+ 'product:category', kwargs={'path': default_category.slug,
+ 'category_id': default_category.pk})
+ response = authorized_client.get(url)
+ assert list(products) == list(response.context['filter'].qs)
+
+
+def test_product_filter_product_exists(authorized_client, product_in_stock,
+ default_category):
+ products = models.Product.objects.all()
+ url = reverse(
+ 'product:category', kwargs={'path': default_category.slug,
+ 'category_id': default_category.pk})
+ data = {'price_0': [''], 'price_1': ['20']}
+ response = authorized_client.get(url, data)
+ assert list(response.context['filter'].qs) == list(products)
+
+
+def test_product_filter_product_does_not_exists(
+ authorized_client, product_in_stock, default_category):
+ url = reverse(
+ 'product:category', kwargs={'path': default_category.slug,
+ 'category_id': default_category.pk})
+ data = {'price_0': ['20'], 'price_1': ['']}
+ response = authorized_client.get(url, data)
+ assert list(response.context['filter'].qs) == []
+
+
+def test_product_filter_form(authorized_client, product_in_stock,
+ default_category):
+ products = models.Product.objects.all()
+ url = reverse(
+ 'product:category', kwargs={'path': default_category.slug,
+ 'category_id': default_category.pk})
+ response = authorized_client.get(url)
+ assert 'price' in response.context['filter'].form.fields.keys()
+ assert 'sort_by' in response.context['filter'].form.fields.keys()
+ assert list(response.context['filter'].qs) == list(products)