"""Test account_payee schema.""" from abacus_common_logic.utils.dates import safe_format_date from abacus_account.schemas import AccountPayeeDetailSchema from abacus_account.schemas import AccountPayeePostSchema from abacus_account.schemas import AccountPayeePutSchema from 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, 'payment_description': '', } 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 }