"""Test for exchange rate serialization.""" from royalties.schemas.exchange_rate import ExchangeRatePostSchema, ExchangeRateSchema from royalties.tests.utils.factories import ExchangeRateFactory, StatementPeriodFactory def test_exchange_rate_schema(): """Test exchange rate schema.""" statement_period = StatementPeriodFactory.build() exchange_rate = ExchangeRateFactory.build(statement_period=statement_period) result = ExchangeRateSchema().dump(exchange_rate) assert result == { 'statement_period_id': exchange_rate.statement_period_id, 'exchange_rate_id': exchange_rate.exchange_rate_id, 'from_currency_code': exchange_rate.from_currency_code, 'to_currency_code': exchange_rate.to_currency_code, 'rate': str(exchange_rate.rate), } def test_exchange_rate_post_schema(): """Test exchange rate POST schema.""" mock_post_schema = {'statement_period_id': 274, 'exchange_rates': 'csv data'} result = ExchangeRatePostSchema().dump(mock_post_schema) assert result == { 'statement_period_id': mock_post_schema['statement_period_id'], 'exchange_rates': mock_post_schema['exchange_rates'], }