"""Test for sales file serialization.""" from royalties.schemas.sales_file import ( AccountingPeriodSalesFileSchema, SalesFileDetailSchema, ) from royalties.tests.utils.factories import AccountingPeriodFactory, SalesFileFactory def test_sales_file_detail_schema(): """Test sales file detail schema.""" sales_file = SalesFileFactory.build() result = SalesFileDetailSchema().dump(sales_file) assert result['accounting_period_id'] == sales_file.accounting_period_id assert result['amount_usd'] == sales_file.amount_usd assert result['file_name'] == sales_file.file_name assert result['main_url'] == sales_file.main_url assert result['row_count'] == sales_file.row_count assert result['sales_file_id'] == sales_file.sales_file_id def test_accounting_period_sales_file_schema(): """Test sales file workflow schema.""" period = AccountingPeriodFactory.build() sales_file_1 = SalesFileFactory.build(accounting_period=period) sales_file_2 = SalesFileFactory.build(accounting_period=period) result = AccountingPeriodSalesFileSchema().dump(period.sales_files, many=True) assert result[0].get('accounting_period_name') == period.accounting_period_name assert result[0].get('main_url') == sales_file_1.main_url assert result[1].get('accounting_period_name') == period.accounting_period_name assert result[1].get('main_url') == sales_file_2.main_url