"""Tests payment minimum serialization.""" from payment.schemas import PaymentMinimumPutSchema, PaymentMinimumSchema from tests.utils.factories import PaymentMinimumFactory def test_payment_minimum_schema(): """Tests payment minimum schema.""" usd_minimums = PaymentMinimumFactory.create() result = PaymentMinimumSchema().dump(usd_minimums) assert result['payment_minimum_id'] assert result['currency_name'] == usd_minimums.currency_name assert result['currency_code'] == usd_minimums.currency_code assert result['check_amount'] == str(usd_minimums.check_amount) assert result['wire_transfer_amount'] == str(usd_minimums.wire_transfer_amount) assert result['western_union_amount'] == str(usd_minimums.western_union_amount) def test_payment_minimum_list_schema(): """Tests schema returns list.""" usd_minimums = PaymentMinimumFactory.build() cad_minimums = PaymentMinimumFactory.build( currency_code='CAD', western_union_amount=None ) mock_minimums = [usd_minimums, cad_minimums] result = PaymentMinimumSchema(many=True).dump(mock_minimums) assert len(result) == len(mock_minimums) def test_payment_minimum_put_schema(): """Tests put schema for payment minimums.""" usd_mins = PaymentMinimumFactory.build() cad_mins = PaymentMinimumFactory.build( currency_code='CAD', western_union_amount=None ) usd_schema = PaymentMinimumPutSchema().dump(usd_mins) assert usd_schema['check_amount'] == str(usd_mins.check_amount) assert usd_schema['western_union_amount'] == str(usd_mins.western_union_amount) assert usd_schema['wire_transfer_amount'] == str(usd_mins.wire_transfer_amount) cad_schema = PaymentMinimumPutSchema().dump(cad_mins) assert cad_schema['check_amount'] == str(cad_mins.check_amount) assert cad_schema['wire_transfer_amount'] == str(cad_mins.wire_transfer_amount) assert not cad_schema['western_union_amount']