Exemple #1
0
 def test_payment_country_without_profile(self, mock_client):
     # For anonymous donations the default from settings should be used.
     instance = mock_client.return_value
     instance.create.return_value = {'order_key': 123, 'order_id': 123}
     order_payment = OrderPaymentFactory(
         payment_method='docdataCreditcard',
         integration_data={'default_pm': 'mastercard'})
     self.adapter = DocdataPaymentAdapter(order_payment=order_payment)
     payment = self.adapter.payment
     self.assertEqual(payment.country, 'BG')
Exemple #2
0
    def test_status_without_order(self, mock_client):
        credentials = {
            'merchant_name': 'test',
            'merchant_password': '******',
        }
        self.gateway = DocdataClient(credentials)
        order_payment = OrderPaymentFactory()
        DocdataDirectdebitPaymentFactory(order_payment=order_payment)

        with self.assertRaisesMessage(PaymentException, 'Missing order_key!'):
            self.gateway.status(order_key=None)
Exemple #3
0
 def setUp(self):
     super(TestProjectExport, self).setUp()
     self.project = ProjectFactory.create(amount_asked=5000)
     self.user = BlueBottleUserFactory.create()
     self.orders = OrderFactory.create_batch(7)
     for order in self.orders:
         DonationFactory.create(project=self.project, order=order)
         order_payment = OrderPaymentFactory(order=order)
         payment = PaymentFactory(order_payment=order_payment)
         payment.status = 'settled'
         payment.save()
Exemple #4
0
    def test_start_remote_payment(self, mock_client):
        credentials = {
            'merchant_name': 'test',
            'merchant_password': '******',
        }
        self.gateway = DocdataClient(credentials)
        order_payment = OrderPaymentFactory()
        payment = DocdataDirectdebitPaymentFactory(order_payment=order_payment)

        result = self.gateway.start_remote_payment(order_key='123',
                                                   payment=payment)
        self.assertEqual(result, 'GHGHGHG')
Exemple #5
0
    def test_status(self, mock_client):
        credentials = {
            'merchant_name': 'test',
            'merchant_password': '******',
        }
        self.gateway = DocdataClient(credentials)
        order_payment = OrderPaymentFactory()
        DocdataDirectdebitPaymentFactory(order_payment=order_payment)

        with self.assertRaisesMessage(PaymentException,
                                      'Payment not found here...'):
            self.gateway.status(order_key=123)
Exemple #6
0
    def test_start_remote_payment(self, mock_client):
        credentials = {
            'merchant_name': 'test',
            'merchant_password': '******',
        }
        self.gateway = DocdataClient(credentials)
        order_payment = OrderPaymentFactory()
        payment = DocdataDirectdebitPaymentFactory(order_payment=order_payment)

        with self.assertRaisesMessage(
                PaymentException, 'Received unknown reply from DocData. '
                'WebDirect payment not created.'):
            self.gateway.start_remote_payment(order_key='123', payment=payment)
Exemple #7
0
 def test_payment_country_without_user(self, mock_client):
     # For donations without users some defaults should be used
     instance = mock_client.return_value
     instance.create.return_value = {'order_key': 123, 'order_id': 123}
     order_payment = OrderPaymentFactory(
         payment_method='docdataCreditcard',
         integration_data={'default_pm': 'ideal'})
     order_payment.order.user = None
     order_payment.order.save()
     self.adapter = DocdataPaymentAdapter(order_payment=order_payment)
     payment = self.adapter.payment
     self.assertEqual(payment.first_name, 'Nomen')
     self.assertEqual(payment.last_name, 'Nescio')
Exemple #8
0
 def test_payment_country_with_profile_without_country(self, mock_client):
     # If no country specified in profile the default from settings should be used
     instance = mock_client.return_value
     instance.create.return_value = {'order_key': 123, 'order_id': 123}
     user = BlueBottleUserFactory()
     order_payment = OrderPaymentFactory(
         user=user,
         payment_method='docdataCreditcard',
         integration_data={'default_pm': 'mastercard'})
     order_payment.order.user = user
     self.adapter = DocdataPaymentAdapter(order_payment=order_payment)
     payment = self.adapter.payment
     self.assertEqual(payment.country, 'BG')
Exemple #9
0
 def test_ideal_payment_country_with_profile(self, mock_client):
     # Even a yankees should get NL for country when selecting iDEAL.
     instance = mock_client.return_value
     instance.create.return_value = {'order_key': 123, 'order_id': 123}
     user = BlueBottleUserFactory()
     user.address.country = CountryFactory(name='Merica', alpha2_code='US')
     order_payment = OrderPaymentFactory(
         user=user,
         payment_method='docdataIdeal',
         integration_data={'default_pm': 'ideal'})
     order_payment.order.user = user
     self.adapter = DocdataPaymentAdapter(order_payment=order_payment)
     payment = self.adapter.payment
     self.assertEqual(payment.country, 'NL')
Exemple #10
0
 def test_payment_country_with_profile(self, mock_client):
     # When a country is set in profile, that should be used.
     instance = mock_client.return_value
     instance.create.return_value = {'order_key': 123, 'order_id': 123}
     user = BlueBottleUserFactory()
     user.address.country = CountryFactory(name='Netherlands',
                                           alpha2_code='NL')
     order_payment = OrderPaymentFactory(
         user=user,
         payment_method='docdataCreditcard',
         integration_data={'default_pm': 'mastercard'})
     order_payment.order.user = user
     self.adapter = DocdataPaymentAdapter(order_payment=order_payment)
     payment = self.adapter.payment
     self.assertEqual(payment.country, 'NL')
Exemple #11
0
 def setUp(self):
     super(TestPayoutExport, self).setUp()
     self.project = ProjectFactory.create(amount_asked=5000)
     self.user = BlueBottleUserFactory.create()
     self.orders = OrderFactory.create_batch(7)
     for order in self.orders:
         DonationFactory.create(project=self.project, order=order)
         order_payment = OrderPaymentFactory(order=order)
         payment = PaymentFactory(order_payment=order_payment)
         payment.status = 'settled'
         payment.save()
     self.payout = ProjectPayoutFactory(project=self.project,
                                        amount_payable=Money(125.00, 'EUR'),
                                        amount_raised=Money(175.0, 'EUR'),
                                        status='settled')