def test_using_api_names_as_payin_attributes(self): payin = BankWirePayIn( AuthorId=1, declared_debited_funds=Money(100, 'EUR'), DeclaredFees=Money(1, 'EUR'), credited_wallet=Wallet(Id=1), ) self.assertEqual(payin.AuthorId, 1) self.assertIs(payin.declared_debited_funds, payin.DeclaredDebitedFunds) self.assertIs(payin.DeclaredFees, payin.declared_fees) self.assertEqual(payin.credited_wallet.id, payin.CreditedWalletId) payin.Tag = 'x' self.assertIs(payin.Tag, payin.tag)
def test_create_bank_wire_payins(self): self.mock_natural_user() self.mock_legal_user() self.mock_user_wallet() self.register_mock({ 'method': responses.POST, 'url': settings.MANGOPAY_API_SANDBOX_URL + settings.MANGOPAY_CLIENT_ID + '/payins/bankwire/direct', 'body': { "Id": "117609", "Tag": "Custom data", "CreationDate": 1387805409, "ResultCode": None, "ResultMessage": None, "AuthorId": "95897", "CreditedUserId": "95897", "DebitedFunds": None, "CreditedFunds": None, "Fees": None, "Status": "CREATED", "ExecutionDate": None, "Type": "PAYIN", "Nature": "REGULAR", "CreditedWalletId": "95898", "DebitedWalletId": None, "PaymentType": "BANK_WIRE", "ExecutionType": "DIRECT", "DeclaredDebitedFunds": { "Currency": "EUR", "Amount": 1000 }, "DeclaredFees": { "Currency": "EUR", "Amount": 100 }, "WireReference": "071c9ac581", "BankAccount": { "Type": "IBAN", "OwnerName": "MangoPay Euro global", "OwnerAddress": { "AddressLine1": "AddressLine1", "AddressLine2": "AddressLine2", "City": "City", "Region": "Region", "PostalCode": "11222", "Country": "FR" }, "IBAN": "CRLYFRPP", "BIC": "FR70 3000 2005 5000 0015 7845 Z02" } }, 'status': 200 }) bank_wire_payin_params = { "author": self.natural_user, "tag": "Custom data", "credited_user": self.legal_user, "credited_wallet": self.legal_user_wallet, "declared_debited_funds": Money(amount=1000, currency='EUR'), "declared_fees": Money(amount=100, currency='EUR') } bank_wire_payin = BankWirePayIn(**bank_wire_payin_params) self.assertIsNone(bank_wire_payin.get_pk()) bank_wire_payin.save() self.assertIsInstance(bank_wire_payin, BankWirePayIn) self.assertEqual(bank_wire_payin.status, 'CREATED') self.assertEqual(bank_wire_payin.declared_debited_funds.amount, 1000) bank_wire_payin_params.pop('declared_debited_funds') self.assertEqual(bank_wire_payin.declared_fees.amount, 100) bank_wire_payin_params.pop('declared_fees') for key, value in bank_wire_payin_params.items(): self.assertEqual(getattr(bank_wire_payin, key), value) self.assertIsNotNone(bank_wire_payin.get_pk())