"""Tests reference payoneer program model.""" from abacus_account.models.reference_payoneer_program import ReferencePayoneerProgram from tests.utils.factories import PaymentEntityPayoneerProgramFactory def test_get_reference_payoneer_program_by_id( mock_reference_payoneer_program: ReferencePayoneerProgram ) -> None: """Test GET reference_payoneer_program by payoneer_program_id.""" result = ReferencePayoneerProgram.get_by_id( mock_reference_payoneer_program.payoneer_program_id ) assert result == mock_reference_payoneer_program def test_get_payoneer_program_by_params( mock_reference_payoneer_program: ReferencePayoneerProgram, reference_payment_entity_fixture ) -> None: """Test GET reference_payoneer_program by params.""" payment_entity_payoneer_program = PaymentEntityPayoneerProgramFactory.create( reference_payment_entity_id=5, payoneer_program_id=7777, ) result = ReferencePayoneerProgram.get_payoneer_program_by_params( currency_code=payment_entity_payoneer_program.payment_currency, agreement_type_id=payment_entity_payoneer_program.agreement_type_id, payment_entity_id=5 ) assert result == mock_reference_payoneer_program result = ReferencePayoneerProgram.get_payoneer_program_by_params( currency_code=payment_entity_payoneer_program.payment_currency, agreement_type_id=payment_entity_payoneer_program.agreement_type_id, payment_entity_id=5, reference_payment_type_id=mock_reference_payoneer_program.reference_payment_type_id, # noqa: E501 ) assert result == mock_reference_payoneer_program result = ReferencePayoneerProgram.get_payoneer_program_by_params( currency_code=payment_entity_payoneer_program.payment_currency, agreement_type_id=payment_entity_payoneer_program.agreement_type_id, payment_entity_id=5, reference_payment_type_id=999, ) assert result is None