"""Reference VAT Rate model tests.""" from datetime import date from decimal import Decimal from ledger.models.reference_vat_rate import ReferenceVatRate from tests.utils.factories import ReferenceVatRateFactory def test_reference_vat_rate_model_create(): """Create a Reference VAT Rate entry.""" ReferenceVatRate.create( vat_type='supplier', country_of_tax_residence='GBR', country_of_tax_policy='GBR', is_sba_signed=1, is_tax_applicable=1, is_vat_registered_in_country_of_tax_policy=1, transaction_type='SP,RF', tax_rate=20.00, effective_date='2002-05-10', ) reference_vat_rates = ReferenceVatRate.query.all() assert len(reference_vat_rates) == 1 assert reference_vat_rates[0].vat_type == 'supplier' assert reference_vat_rates[0].country_of_tax_residence == 'GBR' assert reference_vat_rates[0].country_of_tax_policy == 'GBR' assert reference_vat_rates[0].is_sba_signed == 1 assert reference_vat_rates[0].is_tax_applicable == 1 assert reference_vat_rates[0].is_vat_registered_in_country_of_tax_policy == 1 assert reference_vat_rates[0].transaction_type == 'SP,RF' assert reference_vat_rates[0].tax_rate == Decimal('20.00') assert reference_vat_rates[0].effective_date == date(2002, 5, 10) def test_reference_vat_rate_get_all(): """Test reference vat rate's get_all method.""" ReferenceVatRateFactory.create(tax_rate=Decimal('19.00')) ReferenceVatRateFactory.create(tax_rate=Decimal('10.00')) rates = ReferenceVatRate.get_all() assert len(rates) == 2 assert rates[0].tax_rate == Decimal('19.00') assert rates[1].tax_rate == Decimal('10.00')