def test_rule_admin(rf, admin_user): shop = get_default_shop() tax = create_tax("test-1", rate=Decimal("0.12")) tax.save() tax_class = TaxClass.objects.create(name="test") view = TaxRuleEditView( request=apply_request_middleware(rf.get("/"), user=admin_user)) form_class = view.get_form_class() form_kwargs = view.get_form_kwargs() form = form_class(**form_kwargs) data = get_form_data(form) data.update({ "shop": shop.pk, "postal_codes_pattern": "99501-99511,99513-99524,99529-99530,99540,99590,99550,99567,99573,99577,99586-99588", "country_codes_pattern": "FI,CA,US,SE", "region_codes_pattern": "CA,AR,IA,AK,WY,TN", "tax": tax.id, "tax_classes": [tax_class.id] }) form = form_class(**dict(form_kwargs, data=data)) form.full_clean() assert not form.errors rule = form.save() assert rule._postal_codes_min == "99501" assert rule._postal_codes_max == "99590" postal_code = "99510" assert TaxRule.objects.may_match_postal_code(postal_code).count() == 1 postal_code = "99500" assert not TaxRule.objects.may_match_postal_code(postal_code).count()
def test_rule_admin(rf, admin_user): shop = get_default_shop() tax = create_tax("test-1", rate=Decimal("0.12")) tax.save() tax_class = TaxClass.objects.create(name="test") view = TaxRuleEditView(request=apply_request_middleware(rf.get("/"), user=admin_user)) form_class = view.get_form_class() form_kwargs = view.get_form_kwargs() form = form_class(**form_kwargs) data = get_form_data(form) data.update({ "shop": shop.pk, "postal_codes_pattern": "99501-99511,99513-99524,99529-99530,99540,99590,99550,99567,99573,99577,99586-99588", "country_codes_pattern": "FI,CA,US,SE", "region_codes_pattern": "CA,AR,IA,AK,WY,TN", "tax": tax.id, "tax_classes": [tax_class.id] }) form = form_class(**dict(form_kwargs, data=data)) form.full_clean() assert not form.errors rule = form.save() assert rule._postal_codes_min == "99501" assert rule._postal_codes_max == "99590" postal_code = "99510" assert TaxRule.objects.may_match_postal_code(postal_code).count() == 1 postal_code = "99500" assert not TaxRule.objects.may_match_postal_code(postal_code).count()