"""Test ledger_vat_summary schemas.""" from ledger.schemas.ledger_vat_summary import ( LedgerVatSummaryDetailSchema, LedgerVatSummarySchema, ) from tests.utils.factories import LedgerVatSummaryFactory def test_ledger_vat_summary_schema(mock_event_fixtures): """Test base schema.""" ledger_vat_summary = LedgerVatSummaryFactory.create() res = LedgerVatSummarySchema().dump(ledger_vat_summary) assert res == { 'activity_statement_period_id': ledger_vat_summary.activity_statement_period_id, 'account_id': ledger_vat_summary.account_id, 'contract_id': ledger_vat_summary.contract_id, 'vat_category': ledger_vat_summary.vat_category, 'payee_currency_code': ledger_vat_summary.payee_currency_code, 'vat_currency_code': ledger_vat_summary.vat_currency_code, 'base_amount_payee_currency': str( ledger_vat_summary.base_amount_payee_currency ), 'vat_rate': str(ledger_vat_summary.vat_rate), 'vat_amount_payee_currency': str(ledger_vat_summary.vat_amount_payee_currency), 'vat_amount_vat_currency': str(ledger_vat_summary.vat_amount_vat_currency), 'wht_rate': str(ledger_vat_summary.wht_rate), 'wht_amount_vat_currency': str(ledger_vat_summary.wht_amount_vat_currency), 'wht_amount_payee_currency': str(ledger_vat_summary.wht_amount_payee_currency), 'net_amount_payee_currency': str(ledger_vat_summary.net_amount_payee_currency), 'abacus_exempt_reason': ledger_vat_summary.abacus_exempt_reason, 'description': ledger_vat_summary.description, } assert 'ledger_vat_summary' not in res def test_ledger_vat_summary_schema_load(mock_event_fixtures): """Test base schema.""" ledger_vat_summary = LedgerVatSummaryFactory.create() test_data = { 'activity_statement_period_id': ledger_vat_summary.activity_statement_period_id, 'account_id': ledger_vat_summary.account_id, 'contract_id': ledger_vat_summary.contract_id, 'vat_category': ledger_vat_summary.vat_category, 'payee_currency_code': ledger_vat_summary.payee_currency_code, 'vat_currency_code': ledger_vat_summary.vat_currency_code, 'base_amount_payee_currency': str( ledger_vat_summary.base_amount_payee_currency ), 'vat_rate': str(ledger_vat_summary.vat_rate), 'vat_amount_payee_currency': str(ledger_vat_summary.vat_amount_payee_currency), 'vat_amount_vat_currency': str(ledger_vat_summary.vat_amount_vat_currency), 'net_amount_payee_currency': str(ledger_vat_summary.net_amount_payee_currency), 'abacus_exempt_reason': ledger_vat_summary.abacus_exempt_reason, 'description': ledger_vat_summary.description, } res = LedgerVatSummarySchema().load(test_data) assert res == { 'activity_statement_period_id': ledger_vat_summary.activity_statement_period_id, 'account_id': ledger_vat_summary.account_id, 'contract_id': ledger_vat_summary.contract_id, 'vat_category': ledger_vat_summary.vat_category, 'payee_currency_code': ledger_vat_summary.payee_currency_code, 'vat_currency_code': ledger_vat_summary.vat_currency_code, 'base_amount_payee_currency': ledger_vat_summary.base_amount_payee_currency, 'vat_rate': ledger_vat_summary.vat_rate, 'vat_amount_payee_currency': ledger_vat_summary.vat_amount_payee_currency, 'vat_amount_vat_currency': ledger_vat_summary.vat_amount_vat_currency, 'net_amount_payee_currency': ledger_vat_summary.net_amount_payee_currency, 'abacus_exempt_reason': ledger_vat_summary.abacus_exempt_reason, 'description': ledger_vat_summary.description, } def test_ledger_vat_summary_schema_load_with_wht(mock_event_fixtures): """Test base schema.""" ledger_vat_summary = LedgerVatSummaryFactory.create() test_data = { 'activity_statement_period_id': ledger_vat_summary.activity_statement_period_id, 'account_id': ledger_vat_summary.account_id, 'contract_id': ledger_vat_summary.contract_id, 'vat_category': ledger_vat_summary.vat_category, 'payee_currency_code': ledger_vat_summary.payee_currency_code, 'vat_currency_code': ledger_vat_summary.vat_currency_code, 'base_amount_payee_currency': str( ledger_vat_summary.base_amount_payee_currency ), 'vat_rate': str(ledger_vat_summary.vat_rate), 'vat_amount_payee_currency': str(ledger_vat_summary.vat_amount_payee_currency), 'vat_amount_vat_currency': str(ledger_vat_summary.vat_amount_vat_currency), 'wht_rate': str(ledger_vat_summary.wht_rate), 'wht_amount_payee_currency': str(ledger_vat_summary.wht_amount_payee_currency), 'wht_amount_vat_currency': str(ledger_vat_summary.wht_amount_vat_currency), 'net_amount_payee_currency': str(ledger_vat_summary.net_amount_payee_currency), 'abacus_exempt_reason': ledger_vat_summary.abacus_exempt_reason, 'description': ledger_vat_summary.description, } res = LedgerVatSummarySchema().load(test_data) assert res == { 'activity_statement_period_id': ledger_vat_summary.activity_statement_period_id, 'account_id': ledger_vat_summary.account_id, 'contract_id': ledger_vat_summary.contract_id, 'vat_category': ledger_vat_summary.vat_category, 'payee_currency_code': ledger_vat_summary.payee_currency_code, 'vat_currency_code': ledger_vat_summary.vat_currency_code, 'base_amount_payee_currency': ledger_vat_summary.base_amount_payee_currency, 'vat_rate': ledger_vat_summary.vat_rate, 'vat_amount_payee_currency': ledger_vat_summary.vat_amount_payee_currency, 'vat_amount_vat_currency': ledger_vat_summary.vat_amount_vat_currency, 'wht_rate': ledger_vat_summary.wht_rate, 'wht_amount_payee_currency': ledger_vat_summary.wht_amount_payee_currency, 'wht_amount_vat_currency': ledger_vat_summary.wht_amount_vat_currency, 'net_amount_payee_currency': ledger_vat_summary.net_amount_payee_currency, 'abacus_exempt_reason': ledger_vat_summary.abacus_exempt_reason, 'description': ledger_vat_summary.description, } def test_ledger_vat_summary_detail_schema(mock_event_fixtures): """Test detail schema.""" ledger_vat_summary = LedgerVatSummaryFactory.create() res = LedgerVatSummaryDetailSchema().dump(ledger_vat_summary) assert res == { 'ledger_vat_summary_id': ledger_vat_summary.ledger_vat_summary_id, 'statement_period_id': ledger_vat_summary.statement_period_id, 'activity_statement_period_id': ledger_vat_summary.activity_statement_period_id, 'abacus_event_id': ledger_vat_summary.abacus_event_id, 'account_id': ledger_vat_summary.account_id, 'contract_id': ledger_vat_summary.contract_id, 'vat_category': ledger_vat_summary.vat_category, 'payee_currency_code': ledger_vat_summary.payee_currency_code, 'vat_currency_code': ledger_vat_summary.vat_currency_code, 'base_amount_payee_currency': str( ledger_vat_summary.base_amount_payee_currency ), 'vat_rate': str(ledger_vat_summary.vat_rate), 'vat_amount_payee_currency': str(ledger_vat_summary.vat_amount_payee_currency), 'vat_amount_vat_currency': str(ledger_vat_summary.vat_amount_vat_currency), 'wht_rate': str(ledger_vat_summary.wht_rate), 'wht_amount_payee_currency': str(ledger_vat_summary.wht_amount_payee_currency), 'wht_amount_vat_currency': str(ledger_vat_summary.wht_amount_vat_currency), 'net_amount_payee_currency': str(ledger_vat_summary.net_amount_payee_currency), 'abacus_exempt_reason': ledger_vat_summary.abacus_exempt_reason, 'description': ledger_vat_summary.description, }