File: test_masterpass.py

package info (click to toggle)
python-braintree 4.31.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,576 kB
  • sloc: python: 28,946; makefile: 9; sh: 8
file content (95 lines) | stat: -rw-r--r-- 4,473 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
from tests.test_helper import *

class TestMasterpass(unittest.TestCase):
    def test_create_from_nonce(self):
        customer = Customer.create().customer
        result = PaymentMethod.create({
            "customer_id": customer.id,
            "payment_method_nonce": Nonces.MasterpassVisa
        })

        self.assertTrue(result.is_success)

        masterpass_card = result.payment_method
        self.assertIsNotNone(masterpass_card.billing_address)
        self.assertIsNotNone(masterpass_card.bin)
        self.assertIsNotNone(masterpass_card.card_type)
        self.assertIsNotNone(masterpass_card.cardholder_name)
        self.assertIsNotNone(masterpass_card.commercial)
        self.assertIsNotNone(masterpass_card.country_of_issuance)
        self.assertIsNotNone(masterpass_card.created_at)
        self.assertIsNotNone(masterpass_card.customer_id)
        self.assertIsNotNone(masterpass_card.customer_location)
        self.assertIsNotNone(masterpass_card.debit)
        self.assertIsNotNone(masterpass_card.default)
        self.assertIsNotNone(masterpass_card.durbin_regulated)
        self.assertIsNotNone(masterpass_card.expiration_date)
        self.assertIsNotNone(masterpass_card.expiration_month)
        self.assertIsNotNone(masterpass_card.expiration_year)
        self.assertIsNotNone(masterpass_card.expired)
        self.assertIsNotNone(masterpass_card.healthcare)
        self.assertIsNotNone(masterpass_card.image_url)
        self.assertIsNotNone(masterpass_card.issuing_bank)
        self.assertIsNotNone(masterpass_card.last_4)
        self.assertIsNotNone(masterpass_card.masked_number)
        self.assertIsNotNone(masterpass_card.payroll)
        self.assertIsNotNone(masterpass_card.prepaid)
        self.assertIsNotNone(masterpass_card.product_id)
        self.assertIsNotNone(masterpass_card.subscriptions)
        self.assertIsNotNone(masterpass_card.token)
        self.assertIsNotNone(masterpass_card.unique_number_identifier)
        self.assertIsNotNone(masterpass_card.updated_at)

        customer = Customer.find(customer.id)
        self.assertEqual(len(customer.masterpass_cards), 1)
        self.assertEqual(result.payment_method.token, customer.masterpass_cards[0].token)

    def test_search_for_transaction(self):
        result = Transaction.sale({
            "payment_method_nonce": Nonces.MasterpassVisa,
            "amount": "1.23"
        })

        self.assertTrue(result.is_success)
        transaction = result.transaction

        collection = Transaction.search([
            TransactionSearch.id == transaction.id,
            TransactionSearch.payment_instrument_type == PaymentInstrumentType.MasterpassCard
        ])

        self.assertEqual(1, collection.maximum_size)
        self.assertEqual(transaction.id, collection.first.id)

    def test_create_transaction_from_nonce_and_vault(self):
        customer = Customer.create().customer
        result = Transaction.sale({
            "payment_method_nonce": Nonces.MasterpassVisa,
            "customer_id": customer.id,
            "amount": "1.23",
            "options": {
                "store_in_vault": "true"
            }
        })

        self.assertTrue(result.is_success)
        masterpass_card_details = result.transaction.masterpass_card_details

        self.assertIsNotNone(masterpass_card_details.bin)
        self.assertIsNotNone(masterpass_card_details.card_type)
        self.assertIsNotNone(masterpass_card_details.cardholder_name)
        self.assertIsNotNone(masterpass_card_details.commercial)
        self.assertIsNotNone(masterpass_card_details.country_of_issuance)
        self.assertIsNotNone(masterpass_card_details.debit)
        self.assertIsNotNone(masterpass_card_details.durbin_regulated)
        self.assertIsNotNone(masterpass_card_details.expiration_date)
        self.assertIsNotNone(masterpass_card_details.expiration_year)
        self.assertIsNotNone(masterpass_card_details.expiration_month)
        self.assertIsNotNone(masterpass_card_details.healthcare)
        self.assertIsNotNone(masterpass_card_details.image_url)
        self.assertIsNotNone(masterpass_card_details.issuing_bank)
        self.assertIsNotNone(masterpass_card_details.last_4)
        self.assertIsNotNone(masterpass_card_details.payroll)
        self.assertIsNotNone(masterpass_card_details.prepaid)
        self.assertIsNotNone(masterpass_card_details.product_id)
        self.assertIsNotNone(masterpass_card_details.token)