def test_both_paymethod_nonce(self): method = create_method(create_braintree_buyer()[1]) form, errors = self.process({ 'nonce': 'abc', 'paymethod': method.get_uri() }) assert '__all__' in errors, errors.as_text()
def test_pay_method(self): self.mocks['sale'].create.return_value = successful_method() self.product_mock.get('moz-brick').recurrence = None seller, seller_product = create_seller() method = create_method(create_braintree_buyer()[1]) res = self.client.post( self.url, data={ 'amount': '10.00', 'paymethod': method.get_uri(), 'product_id': 'moz-brick' } ) self.mocks['sale'].create.assert_called_with({ 'amount': Decimal('10.00'), 'type': 'sale', 'options': {'submit_for_settlement': True}, 'payment_method_token': mock.ANY} ) eq_(res.status_code, 200) generic = res.json['mozilla']['generic'] eq_(generic['buyer'], method.braintree_buyer.buyer.get_uri()) braintree = res.json['mozilla']['braintree'] eq_(braintree['paymethod'], method.get_uri())
def setUp(self): self.buyer, self.braintree_buyer = create_braintree_buyer() self.method = create_method(self.braintree_buyer) self.seller, self.seller_product = create_seller() self.sub = create_subscription(self.method, self.seller_product) self.url = reverse('braintree:mozilla:transaction-list') self.transaction = Transaction.objects.create(uuid='some:uid') super(TestBraintreeTransactionrMethod, self).setUp()
def setUp(self): self.buyer, self.braintree_buyer = create_braintree_buyer() self.method = create_method(self.braintree_buyer) self.seller, self.seller_product = create_seller() self.sub = create_subscription(self.method, self.seller_product) self.url = reverse('braintree:mozilla:transaction-list') self.transaction = Transaction.objects.create(uuid='some:uid', buyer=self.buyer) super(TestBraintreeTransaction, self).setUp()
def setUp(self): self.buyer, self.braintree_buyer = create_braintree_buyer() self.method = create_method(self.braintree_buyer) self.seller, self.seller_product = create_seller() self.braintree_sub = BraintreeSubscription.objects.create( paymethod=self.method, seller_product=self.seller_product, provider_id='some-bt:id') self.sub = subscription(id='some-bt:id')
def setUp(self): self.buyer, self.braintree_buyer = create_braintree_buyer() self.method = create_method(self.braintree_buyer) self.seller, self.seller_product = create_seller() self.braintree_sub = BraintreeSubscription.objects.create( paymethod=self.method, seller_product=self.seller_product, provider_id='some-bt:id' ) self.sub = subscription(id='some-bt:id')
def test_ok_method(self): seller, seller_product = create_seller() self.product_mock.get('moz-brick').recurrence = None method = create_method(create_braintree_buyer()[1]) form, errors = self.process({ 'amount': '10.00', 'paymethod': method.get_uri(), 'product_id': seller_product.public_id }) assert not errors, errors.as_text() assert 'payment_method_nonce' not in form.braintree_data eq_(form.braintree_data['payment_method_token'], method.provider_id)
def test_create_with_custom_amount(self): self.mocks['sub'].create.return_value = successful_subscription() buyer, braintree_buyer = create_braintree_buyer() seller, seller_product = create_seller(seller_product_data={ 'public_id': 'charity-donation-monthly', }) method = create_method(braintree_buyer) res = self.post(paymethod=method.get_uri(), amount='4.99', plan=seller_product.public_id) eq_(res.status_code, 201, res.content) subscription = BraintreeSubscription.objects.get() eq_(subscription.amount, Decimal('4.99')) # Make sure price is in braintree creation. data = self.mocks['sub'].create.call_args[0][0] eq_(data['price'], '4.99')
def test_filter_by_buyer(self): # Create the first transaction: trans1 = self.create() # Create another transaction: gen_buyer2, bt_buyer2 = create_braintree_buyer(braintree_id='bt2') gen_trans2 = Transaction.objects.create(uuid='t2', buyer=gen_buyer2) paymethod2 = create_method(bt_buyer2) trans2 = self.create(paymethod=paymethod2, transaction=gen_trans2) objects = self.get( transaction__buyer__uuid=self.buyer.uuid).json['objects'] eq_(len(objects), 1, objects) eq_(objects[0]['resource_uri'], trans1.get_uri()) objects = self.get( transaction__buyer__uuid=gen_buyer2.uuid).json['objects'] eq_(len(objects), 1, objects) eq_(objects[0]['resource_uri'], trans2.get_uri())
def test_patch_read_only(self): obj = self.create() paymethod = create_method(self.braintree_buyer) seller, seller_product = create_seller(seller_product_data={"public_id": "a-different-brick"}) data = { "paymethod": paymethod.get_uri(), "seller_product": seller_product.get_uri(), "provider_id": "different:id", } res = self.client.patch(obj.get_uri(), data=data) eq_(res.status_code, 200, res.content) res = self.client.get(obj.get_uri()) eq_(res.json["paymethod"], self.method.get_uri()) eq_(res.json["seller_product"], self.seller_product.get_uri()) eq_(res.json["provider_id"], "some:id")
def test_patch_read_only(self): obj = self.create() paymethod = create_method(self.braintree_buyer) seller, seller_product = create_seller() data = { 'paymethod': paymethod.get_uri(), 'seller_product': seller_product.get_uri(), 'provider_id': 'different:id', } res = self.client.patch(obj.get_uri(), data=data) eq_(res.status_code, 200, res.content) res = self.client.get(obj.get_uri()) eq_(res.json['paymethod'], self.method.get_uri()) eq_(res.json['seller_product'], self.seller_product.get_uri()) eq_(res.json['provider_id'], 'some:id')
def test_patch_read_only(self): obj = self.create() paymethod = create_method(self.braintree_buyer) seller, seller_product = create_seller( seller_product_data={'public_id': 'a-different-brick'}) data = { 'paymethod': paymethod.get_uri(), 'seller_product': seller_product.get_uri(), 'provider_id': 'different:id', } res = self.client.patch(obj.get_uri(), data=data) eq_(res.status_code, 200, res.content) res = self.client.get(obj.get_uri()) eq_(res.json['paymethod'], self.method.get_uri()) eq_(res.json['seller_product'], self.seller_product.get_uri()) eq_(res.json['provider_id'], 'some:id')
def test_create_with_custom_amount(self): self.mocks['sub'].create.return_value = successful_subscription() buyer, braintree_buyer = create_braintree_buyer() seller, seller_product = create_seller( seller_product_data={ 'public_id': 'charity-donation-monthly', }) method = create_method(braintree_buyer) res = self.post(paymethod=method.get_uri(), amount='4.99', plan=seller_product.public_id) eq_(res.status_code, 201, res.content) subscription = BraintreeSubscription.objects.get() eq_(subscription.amount, Decimal('4.99')) # Make sure price is in braintree creation. data = self.mocks['sub'].create.call_args[0][0] eq_(data['price'], '4.99')
def create_subscription_methods(self): self.first_method, product = create_method_all() self.second_method = create_method(self.first_method.braintree_buyer) return BraintreeSubscription.objects.create( paymethod=self.first_method, seller_product=product)
def setUp(self): self.buyer, self.braintree_buyer = create_braintree_buyer() self.method = create_method(self.braintree_buyer) self.seller, self.seller_product = create_seller() self.url = reverse('braintree:mozilla:subscription-list') super(TestSubscriptionViewSet, self).setUp()
def create_paymethod(self): buyer, braintree_buyer = create_braintree_buyer() return create_method(braintree_buyer)
def create_method_all(): buyer, braintree_buyer = create_braintree_buyer() seller, seller_product = create_seller() method = create_method(braintree_buyer) return method, seller_product