"""Test for accounting period serialization.""" from abacus_common_logic.utils.dates import safe_format_date from royalties.schemas.accounting_period import AccountingPeriodDetailSchema from royalties.tests.utils.factories import AccountingPeriodFactory def test_accounting_period_detail_schema(): """Test accounting period detail serialization.""" accounting_period = AccountingPeriodFactory.build() result = AccountingPeriodDetailSchema().dump(accounting_period) assert result['accounting_period_id'] == accounting_period.accounting_period_id assert result['accounting_period_name'] == accounting_period.accounting_period_name assert ( result['accounting_period_status'] == accounting_period.accounting_period_status ) assert result['closed_date'] == safe_format_date(accounting_period.closed_date) assert result['contract_type'] == accounting_period.contract_type assert result['is_visible'] == accounting_period.is_visible assert result['statement_period_id'] == accounting_period.statement_period_id assert result['visible_reason'] == accounting_period.visible_reason