"""Test for accounting run serialization.""" import datetime from abacus_common_logic.utils.dates import safe_format_date from royalties.schemas.accounting_run import AccountingRunSchema from royalties.tests.utils.factories import AccountingRunFactory def test_accounting_run_detail_schema(): """Test accounting run detail serialization.""" accounting_run = AccountingRunFactory.build(end_date=datetime.datetime.today()) result = AccountingRunSchema().dump(accounting_run) assert result['accounting_run_id'] == accounting_run.accounting_run_id assert result['accounting_run_status'] == accounting_run.run_status assert result['start_date'] == safe_format_date(accounting_run.start_date) assert result['end_date'] == safe_format_date(accounting_run.end_date) assert result['accounting_period_id'] == accounting_run.accounting_period_id assert ( result['accounting_period_name'] == accounting_run.accounting_period.accounting_period_name ) assert ( result['run_controller_id'] == accounting_run.run_controller.run_controller_id ) assert ( result['run_controller_name'] == accounting_run.run_controller.run_controller_name )