def test_category_create_with_parent(rf, admin_user): shop = get_default_shop() default_category = get_default_category() default_category.shops.clear() assert shop not in default_category.shops.all() with override_settings(LANGUAGES=[("en", "en")]): view = CategoryEditView.as_view() cat_name = "Random name" data = { "base-name__en": cat_name, "base-status": CategoryStatus.VISIBLE.value, "base-visibility": CategoryVisibility.VISIBLE_TO_ALL.value, "base-ordering": 1, "base-parent": default_category.pk } assert Category.objects.count() == 1 request = apply_request_middleware(rf.post("/", data=data), user=admin_user, shop=shop) response = view(request, pk=None) if hasattr(response, "render"): response.render() assert response.status_code in [200, 302] assert Category.objects.count() == 1 default_category.shops.add(shop) request = apply_request_middleware(rf.post("/", data=data), user=admin_user, shop=shop) response = view(request, pk=None) if hasattr(response, "render"): response.render() assert response.status_code in [200, 302] assert Category.objects.count() == 2
def test_sorts_and_filter_in_category_edit(rf, admin_user): get_default_shop() cache.clear() activate("en") with override_provides("front_extend_product_list_form", DEFAULT_FORM_MODIFIERS): category = get_default_category() view = CategoryEditView.as_view() assert get_configuration( category=category ) == settings.SHUUP_FRONT_DEFAULT_SORT_CONFIGURATION data = { "base-name__en": category.name, "base-status": category.status.value, "base-visibility": category.visibility.value, "base-ordering": category.ordering, "product_list_facets-sort_products_by_name": True, "product_list_facets-sort_products_by_name_ordering": 1, "product_list_facets-sort_products_by_date_created": True, "product_list_facets-sort_products_by_date_created_ordering": 2, } request = apply_request_middleware(rf.post("/", data=data), user=admin_user) response = view(request, pk=category.pk) if hasattr(response, "render"): response.render() assert response.status_code in [200, 302] expected_configurations = { "sort_products_by_name": True, "sort_products_by_name_ordering": 1, "sort_products_by_date_created": True, "sort_products_by_date_created_ordering": 2 } assert get_configuration(category=category) == expected_configurations
def test_sorts_and_filter_in_category_edit(rf, admin_user): get_default_shop() cache.clear() activate("en") with override_provides("front_extend_product_list_form", DEFAULT_FORM_MODIFIERS): category = get_default_category() view = CategoryEditView.as_view() assert get_configuration(category=category) == settings.SHUUP_FRONT_DEFAULT_SORT_CONFIGURATION data = { "base-name__en": category.name, "base-status": category.status.value, "base-visibility": category.visibility.value, "base-ordering": category.ordering, "product_list_facets-sort_products_by_name": True, "product_list_facets-sort_products_by_name_ordering": 6, "product_list_facets-sort_products_by_price": False, "product_list_facets-sort_products_by_price_ordering": 32, "product_list_facets-filter_products_by_manufacturer": True, "product_list_facets-filter_products_by_manufacturer_ordering": 1 } request = apply_request_middleware(rf.post("/", data=data), user=admin_user) response = view(request, pk=category.pk) if hasattr(response, "render"): response.render() assert response.status_code in [200, 302] expected_configurations = { "sort_products_by_name": True, "sort_products_by_name_ordering": 6, "sort_products_by_price": False, "sort_products_by_price_ordering": 32, "filter_products_by_manufacturer": True, "filter_products_by_manufacturer_ordering": 1 } assert get_configuration(category=category) == expected_configurations
def test_category_create(rf, admin_user): get_default_shop() with override_settings(LANGUAGES=[("en", "en")]): view = CategoryEditView.as_view() cat_name = "Random name" data = { "base-name__en": cat_name, "base-status": CategoryStatus.VISIBLE.value, "base-visibility": CategoryVisibility.VISIBLE_TO_ALL.value, "base-ordering": 1 } assert Category.objects.count() == 0 request = apply_request_middleware(rf.post("/", data=data), user=admin_user) response = view(request, pk=None) if hasattr(response, "render"): response.render() assert response.status_code in [200, 302] assert Category.objects.count() == 1 assert Category.objects.first().name == cat_name