"""Tests for payment_entity_payoneer_program logic.""" from unittest.mock import patch from abacus_account.logic import payment_entity_payoneer_program as logic from tests.utils.factories import PaymentEntityPayoneerProgramFactory, \ ReferencePayoneerProgramFactory @patch('abacus_account.logic.payment_entity_payoneer_program.models') def test_get_by_payment_entity_id(mock_models, reference_payment_entity_fixture): """Test get_by_payment_entity_id.""" reference_payment_entity_id = 6 payoneer_program = ReferencePayoneerProgramFactory.create() payment_entity_payoneer_program = PaymentEntityPayoneerProgramFactory( payoneer_program_id=payoneer_program.payoneer_program_id, reference_payment_entity_id=reference_payment_entity_id ) mock_models.PaymentEntityPayoneerProgram.get_by_payment_entity_id.return_value = [ payment_entity_payoneer_program] res = logic.get_by_payment_entity_id(reference_payment_entity_id) mock_models.PaymentEntityPayoneerProgram \ .get_by_payment_entity_id \ .assert_called_once_with(reference_payment_entity_id) assert res.status == 200 assert len(res.message['items']) == 1 assert res.message['total_count'] == 1 @patch('abacus_account.logic.payment_entity_payoneer_program.models') def test_get_payment_entity_payoneer_programs( mock_models, reference_payment_entity_fixture ): """Test get_payment_entity_payoneer_programs function.""" mock_response = { 'agreement_type': 'AWAL Core', 'reference_agreement_type_id': '1', 'payment_currency': 'EUR', 'payoneer_program_id': 100176119, 'reference_payment_entity_id': 1, 'reference_payment_type_id': 7, 'payment_service': 'service', } params = { 'limit': 10, 'offset': 0 } mock_models.ReferencePaymentEntity \ .get_payment_entity_payoneer_programs.return_value = ([mock_response], 2) res = logic.get_payment_entity_payoneer_programs(params) assert res.status == 200 assert res.message['total_count'] == 2 assert res.message['items'] == [mock_response] mock_models.ReferencePaymentEntity \ .get_payment_entity_payoneer_programs.assert_called_once_with( limit=10, offset=0 )