mirror of
https://github.com/pretix/pretix.git
synced 2026-05-08 15:44:02 +00:00
New data model for default tax rule and new options for cancellation fees (#4962)
* New data model for default tax rule * Remove misleading empty label when field is not optional * Allow to split cancellation fee * Fix API and tests * Update migration * Update src/tests/api/test_taxrules.py Co-authored-by: luelista <weller@rami.io> * Update src/tests/api/test_taxrules.py Co-authored-by: luelista <weller@rami.io> * Review note * Update src/pretix/base/models/tax.py Co-authored-by: luelista <weller@rami.io> * Flip API behaviour for default * Fix failing tests * Fix failing test * Split migration --------- Co-authored-by: luelista <weller@rami.io>
This commit is contained in:
@@ -56,9 +56,22 @@ class TaxRateFormTest(SoupTest):
|
||||
assert doc.select(".alert-success")
|
||||
self.assertIn("VAT", doc.select("#page-wrapper table")[0].text)
|
||||
with scopes_disabled():
|
||||
assert self.event1.tax_rules.get(
|
||||
tr = self.event1.tax_rules.get(
|
||||
rate=19, price_includes_tax=True, eu_reverse_charge=False
|
||||
)
|
||||
assert tr.default
|
||||
|
||||
def test_set_default(self):
|
||||
with scopes_disabled():
|
||||
tr = self.event1.tax_rules.create(rate=19, name="VAT")
|
||||
tr2 = self.event1.tax_rules.create(rate=7, name="VAT", default=True)
|
||||
doc = self.post_doc('/control/event/%s/%s/settings/tax/%s/default' % (self.orga1.slug, self.event1.slug, tr.id),
|
||||
{})
|
||||
assert doc.select(".alert-success")
|
||||
tr.refresh_from_db()
|
||||
assert tr.default
|
||||
tr2.refresh_from_db()
|
||||
assert not tr2.default
|
||||
|
||||
def test_update(self):
|
||||
with scopes_disabled():
|
||||
@@ -98,8 +111,8 @@ class TaxRateFormTest(SoupTest):
|
||||
|
||||
def test_delete_default_rule(self):
|
||||
with scopes_disabled():
|
||||
tr = self.event1.tax_rules.create(rate=19, name="VAT")
|
||||
self.event1.settings.tax_rate_default = tr
|
||||
tr = self.event1.tax_rules.create(rate=19, name="VAT", default=True)
|
||||
self.event1.tax_rules.create(rate=7, name="V2")
|
||||
doc = self.get_doc('/control/event/%s/%s/settings/tax/%s/delete' % (self.orga1.slug, self.event1.slug, tr.id))
|
||||
form_data = extract_form_fields(doc.select('.container-fluid form')[0])
|
||||
doc = self.post_doc('/control/event/%s/%s/settings/tax/%s/delete' % (self.orga1.slug, self.event1.slug, tr.id),
|
||||
|
||||
Reference in New Issue
Block a user