"""Test account_payee schema.""" from abacus_common_logic.utils.dates import safe_format_date from abacus_account.schemas import ( AccountPayeeDetailSchema, AccountPayeePostSchema, AccountPayeePutSchema, ) from abacus_account.tests.utils.factories import ( AccountPayeeFactory, ReferencePayoneerProgramFactory, ) def test_account_payee_schema(fresh_db): """Test account_payee schema.""" account_payee = AccountPayeeFactory.build( reference_payoneer_program=ReferencePayoneerProgramFactory.create() ) res = AccountPayeeDetailSchema().dump(account_payee) assert res == { 'account_payee_id': account_payee.account_payee_id, 'account_id': account_payee.account_id, 'last_modified': safe_format_date(account_payee.last_modified), 'payoneer_program_id': account_payee.payoneer_program_id, 'payoneer_payee_id': account_payee.payoneer_payee_id, 'payoneer_payee_name': account_payee.payoneer_payee_name, 'payoneer_iframe_url': account_payee.payoneer_iframe_url, 'payoneer_iframe_url_date': safe_format_date( account_payee.payoneer_iframe_url_date ), 'payoneer_session_id': account_payee.payoneer_session_id, 'sap_vendor_id': account_payee.sap_vendor_id, 'reference_payment_type_id': 7, } def test_account_payee_post_schema(): """Test account_payee POST schema.""" account_payee = AccountPayeeFactory.build() mock_post_body = { 'account_id': account_payee.account_id, 'payoneer_payee_id': account_payee.payoneer_payee_id, 'payoneer_payee_name': account_payee.payoneer_payee_name, 'payoneer_iframe_url': account_payee.payoneer_iframe_url, 'payoneer_iframe_url_date': account_payee.payoneer_iframe_url_date, 'payoneer_session_id': account_payee.payoneer_session_id, 'sap_vendor_id': account_payee.sap_vendor_id, } result = AccountPayeePostSchema().dump(mock_post_body) assert result == { 'account_id': account_payee.account_id, 'payoneer_payee_id': account_payee.payoneer_payee_id, 'payoneer_payee_name': account_payee.payoneer_payee_name, 'payoneer_iframe_url': account_payee.payoneer_iframe_url, 'payoneer_iframe_url_date': safe_format_date( account_payee.payoneer_iframe_url_date ), 'payoneer_session_id': account_payee.payoneer_session_id, 'sap_vendor_id': account_payee.sap_vendor_id, } def test_account_payee_put_schema(): """Test account_payee PUT schema.""" account_payee = AccountPayeeFactory.build() mock_post_body = { 'payoneer_payee_id': account_payee.payoneer_payee_id, 'payoneer_payee_name': account_payee.payoneer_payee_name, 'payoneer_iframe_url': account_payee.payoneer_iframe_url, 'payoneer_iframe_url_date': account_payee.payoneer_iframe_url_date, 'payoneer_session_id': account_payee.payoneer_session_id, 'sap_vendor_id': account_payee.sap_vendor_id, } result = AccountPayeePutSchema().dump(mock_post_body) assert result == { 'payoneer_payee_id': account_payee.payoneer_payee_id, 'payoneer_payee_name': account_payee.payoneer_payee_name, 'payoneer_iframe_url': account_payee.payoneer_iframe_url, 'payoneer_iframe_url_date': safe_format_date( account_payee.payoneer_iframe_url_date ), 'payoneer_session_id': account_payee.payoneer_session_id, 'sap_vendor_id': account_payee.sap_vendor_id, }