diff options
Diffstat (limited to 'tests/test_product.py')
-rw-r--r-- | tests/test_product.py | 43 |
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) |