Esempio n. 1
0
    def test_payment_get_paid(self, mock_Request):
        Payment = apps.get_model("getpaid", "Payment")
        order = Order(name="Test EUR order", total="123.45", currency="PLN")
        order.save()
        payment = Payment(
            pk=99, order=order, amount=order.total, currency=order.currency, backend="getpaid.backends.payu"
        )
        payment.save(force_insert=True)
        payment = Payment.objects.get(
            pk=99
        )  # this line is because django bug https://code.djangoproject.com/ticket/5903
        processor = getpaid.backends.payu.PaymentProcessor(payment)
        processor.get_payment_status(u"99:1342616247.41")
        self.assertEqual(payment.status, u"paid")
        self.assertNotEqual(payment.paid_on, None)
        self.assertNotEqual(payment.amount_paid, Decimal("0"))

        url = "https://www.platnosci.pl/paygw/UTF/Payment/get/txt"
        callargs = mock_Request.call_args_list
        self.assertEqual(url, callargs[0][0][0])
        if six.PY3:
            self.assertIsInstance(callargs[0][0][1], bytes)
            self.assertTrue(b"pos_id=123456789" in callargs[0][0][1])
            self.assertTrue(b"session_id=99%3A1342616247.41" in callargs[0][0][1])
        else:
            self.assertIsInstance(callargs[0][0][1], str)
            self.assertTrue("pos_id=123456789" in callargs[0][0][1])
            self.assertTrue("session_id=99%3A1342616247.41" in callargs[0][0][1])
Esempio n. 2
0
    def test_payment_get_paid(self, mock_Request):
        Payment = apps.get_model('getpaid', 'Payment')
        order = Order(name='Test EUR order', total='123.45', currency='PLN')
        order.save()
        payment = Payment(pk=99,
                          order=order,
                          amount=order.total,
                          currency=order.currency,
                          backend='getpaid.backends.payu')
        payment.save(force_insert=True)
        payment = Payment.objects.get(
            pk=99
        )  # this line is because django bug https://code.djangoproject.com/ticket/5903
        processor = getpaid.backends.payu.PaymentProcessor(payment)
        processor.get_payment_status(u'99:1342616247.41')
        self.assertEqual(payment.status, u'paid')
        self.assertNotEqual(payment.paid_on, None)
        self.assertNotEqual(payment.amount_paid, Decimal('0'))

        url = 'https://www.platnosci.pl/paygw/UTF/Payment/get/txt'
        callargs = mock_Request.call_args_list
        self.assertEqual(url, callargs[0][0][0])
        if six.PY3:
            self.assertIsInstance(callargs[0][0][1], bytes)
            self.assertTrue(b'pos_id=123456789' in callargs[0][0][1])
            self.assertTrue(
                b'session_id=99%3A1342616247.41' in callargs[0][0][1])
        else:
            self.assertIsInstance(callargs[0][0][1], str)
            self.assertTrue('pos_id=123456789' in callargs[0][0][1])
            self.assertTrue(
                'session_id=99%3A1342616247.41' in callargs[0][0][1])
Esempio n. 3
0
    def test_payment_get_paid(self, mock_Request):
        Payment = apps.get_model('getpaid', 'Payment')
        order = Order(name='Test EUR order', total='123.45', currency='PLN')
        order.save()
        payment = Payment(pk=99, order=order, amount=order.total, currency=order.currency,
                          backend='getpaid.backends.payu')
        payment.save(force_insert=True)
        payment = Payment.objects.get(
            pk=99)  # this line is because django bug https://code.djangoproject.com/ticket/5903
        processor = getpaid.backends.payu.PaymentProcessor(payment)
        processor.get_payment_status(u'99:1342616247.41')
        self.assertEqual(payment.status, u'paid')
        self.assertNotEqual(payment.paid_on, None)
        self.assertNotEqual(payment.amount_paid, Decimal('0'))

        url = 'https://www.platnosci.pl/paygw/UTF/Payment/get/txt'
        callargs = mock_Request.call_args_list
        self.assertEqual(url, callargs[0][0][0])
        if six.PY3:
            self.assertIsInstance(callargs[0][0][1], bytes)
            self.assertTrue(b'pos_id=123456789' in callargs[0][0][1])
            self.assertTrue(b'session_id=99%3A1342616247.41' in callargs[0][0][1])
        else:
            self.assertIsInstance(callargs[0][0][1], str)
            self.assertTrue('pos_id=123456789' in callargs[0][0][1])
            self.assertTrue('session_id=99%3A1342616247.41' in callargs[0][0][1])
Esempio n. 4
0
    def test_failure_order_additional_validation(self):
        """
        Tests if HTTP304 when order additional validation signal raises
        ValidationError exception.
        """

        def custom_validation_listener(sender=None, request=None, order=None,
                                       backend=None, **kwargs):
            raise ValidationError("BOOM!")

        suid = 'test-order_additional_validation'
        signals.order_additional_validation.connect(custom_validation_listener,
                                                    dispatch_uid=suid)

        order = Order(name='Test order custom validation',
                      total=100,
                      currency='PLN')
        order.save()
        try:
            url = reverse('getpaid:new-payment', kwargs={'currency': 'PLN'})
            data = {'order': order.pk, 'backend': 'getpaid.backends.payu'}
            response = self.client.post(url, data)
            self.assertEqual(response.status_code, 403)
        finally:
            signals.order_additional_validation.disconnect(dispatch_uid=suid)
Esempio n. 5
0
    def test_failure_order_additional_validation(self):
        """
        Tests if HTTP304 when order additional validation signal raises
        ValidationError exception.
        """
        def custom_validation_listener(sender=None,
                                       request=None,
                                       order=None,
                                       backend=None,
                                       **kwargs):
            raise ValidationError("BOOM!")

        suid = 'test-order_additional_validation'
        signals.order_additional_validation.connect(custom_validation_listener,
                                                    dispatch_uid=suid)

        order = Order(name='Test order custom validation',
                      total=100,
                      currency='PLN')
        order.save()
        try:
            url = reverse('getpaid:new-payment', kwargs={'currency': 'PLN'})
            data = {'order': order.pk, 'backend': 'getpaid.backends.payu'}
            response = self.client.post(url, data)
            self.assertEqual(response.status_code, 403)
        finally:
            signals.order_additional_validation.disconnect(dispatch_uid=suid)
Esempio n. 6
0
 def test_online_payment_failure(self):
     Payment = get_model('getpaid', 'Payment')
     order = Order(name='Test EUR order', total='123.45', currency='PLN')
     order.save()
     payment = Payment(order=order, amount=order.total, currency=order.currency, backend='getpaid.backends.payu')
     payment.save(force_insert=True)
     self.assertEqual('TRUE', getpaid.backends.transferuj.PaymentProcessor.online('195.149.229.109', '1234', '1', '', payment.pk, '123.45', '23.45', '', False, 0, '', '21b028c2dbdcb9ca272d1cc67ed0574e'))
     payment = Payment.objects.get(pk=payment.pk)
     self.assertEqual(payment.status, 'failed')
Esempio n. 7
0
 def test_online_payment_failure(self):
     Payment = get_model('getpaid', 'Payment')
     order = Order(name='Test EUR order', total='123.45', currency='RUB')
     order.save()
     payment = Payment(order=order, amount=order.total, currency=order.currency, backend='getpaid.backends.platron')
     payment.save(force_insert=True)
     self.assertEqual('OK', getpaid.backends.platron.PaymentProcessor.online(self.xml_result % (payment.pk, '0', '84c11ec90ac8a6f637e3adfa912bab60'), 'result.php'))
     payment = Payment.objects.get(pk=payment.pk)
     self.assertEqual(payment.status, 'failed')
Esempio n. 8
0
    def setUp(self):
        self.client = Client()
        Payment = apps.get_model('getpaid', 'Payment')
        order = Order(name='Test DKK order', total='123.45', currency='DKK')
        order.save()

        payment = Payment(order=order,
                          amount=order.total,
                          currency=order.currency,
                          backend='getpaid.backends.epaydk')
        payment.save()
        self.test_payment = Payment.objects.get(pk=payment.id)
Esempio n. 9
0
 def test_failure_create_payment_eur(self):
     """
     Tests if payment fails when wrong currency for backend.
     PayU accepts only PLN currency payments.
     """
     order = Order(name='Test EUR order', total=100, currency='EUR')
     order.save()
     response = self.client.post(reverse('getpaid-new-payment',
                                         kwargs={'currency': 'EUR'}),
                                 {'order': order.pk,
                                  'backend': 'getpaid.backends.payu'})
     self.assertEqual(response.status_code, 403)
Esempio n. 10
0
 def test_payment_get_failed(self):
     Payment = get_model('getpaid', 'Payment')
     order = Order(name='Test EUR order', total='123.45', currency='PLN')
     order.save()
     payment = Payment(pk=98, order=order, amount=order.total, currency=order.currency, backend='getpaid.backends.payu')
     payment.save(force_insert=True)
     payment = Payment.objects.get(pk=98) # this line is because django bug https://code.djangoproject.com/ticket/5903
     processor = getpaid.backends.payu.PaymentProcessor(payment)
     processor.get_payment_status('98:1342616247.41')
     self.assertEqual(payment.status, 'failed')
     self.assertEqual(payment.paid_on, None)
     self.assertEqual(payment.amount_paid, Decimal('0'))
Esempio n. 11
0
    def setUp(self):
        self.client = Client()
        Payment = apps.get_model('getpaid', 'Payment')
        order = Order(name='Test DKK order', total='123.45', currency='DKK')
        order.save()

        payment = Payment(order=order,
                          amount=order.total,
                          currency=order.currency,
                          backend='getpaid.backends.epaydk')
        payment.save()
        self.test_payment = Payment.objects.get(pk=payment.id)
Esempio n. 12
0
 def test_online_payment_failure(self):
     Payment = get_model('getpaid', 'Payment')
     order = Order(name='Test EUR order', total='123.45', currency='PLN')
     order.save()
     payment = Payment(order=order, amount=order.total, currency=order.currency, backend='getpaid.backends.payu')
     payment.save(force_insert=True)
     self.assertEqual('TRUE', transferuj.PaymentProcessor.online('195.149.229.109', '1234', '1', '',
                                                                                  payment.pk, '123.45', '23.45', '',
                                                                                  False, 0, '',
                                                                                  '21b028c2dbdcb9ca272d1cc67ed0574e'))
     payment = Payment.objects.get(pk=payment.pk)
     self.assertEqual(payment.status, 'failed')
Esempio n. 13
0
    def test_get_payment_status_failed(self):
        Payment = get_model('getpaid', 'Payment')
        order = Order(name='Test PLN order', total='123.45', currency='PLN')
        order.save()

        payment = Payment(pk=192, order=order, amount=order.total, currency=order.currency, backend='getpaid.backends.przelewy24')
        payment.save(force_insert=True)
        payment = Payment.objects.get(pk=192)
        processor = getpaid.backends.przelewy24.PaymentProcessor(payment)
        processor.get_payment_status(p24_session_id='192:xxx:xxx', p24_order_id='192:external', p24_kwota='12245')
        self.assertEqual(payment.status, 'failed')
        self.assertEqual(payment.paid_on, None)
        self.assertEqual(payment.amount_paid, Decimal('0.0'))
Esempio n. 14
0
 def setUp(self):
     self.client = Client()
     Payment = get_model('getpaid', 'Payment')
     order = Order(name='Test DKK order', total='123.45', currency='BRL')
     order.save()
     payment = Payment(
                       external_id="REF1234",
                       order=order,
                       amount=order.total,
                       currency=order.currency,
                       backend='getpaid.backends.pagseguro')
     payment.save()
     self.test_payment = Payment.objects.get(pk=payment.id)
Esempio n. 15
0
 def test_online_payment_ok(self):
     Payment = apps.get_model('getpaid', 'Payment')
     order = Order(name='Test EUR order', total='123.45', currency='PLN')
     order.save()
     payment = Payment(order=order, amount=order.total, currency=order.currency, backend='getpaid.backends.payu')
     payment.save(force_insert=True)
     self.assertEqual('TRUE', PaymentProcessor.online('195.149.229.109', '1234', '1', '',
                                                                                  payment.pk, '123.45', '123.45', '',
                                                                                  'TRUE', 0, '',
                                                                                  '21b028c2dbdcb9ca272d1cc67ed0574e'))
     payment = Payment.objects.get(pk=payment.pk)
     self.assertEqual(payment.status, 'paid')
     self.assertNotEqual(payment.paid_on, None)
     self.assertEqual(payment.amount_paid, Decimal('123.45'))
Esempio n. 16
0
 def test_online_payment_partial(self):
     Payment = apps.get_model('getpaid', 'Payment')
     order = Order(name='Test EUR order', total='123.45', currency='PLN')
     order.save()
     payment = Payment(order=order, amount=order.total, currency=order.currency, backend='getpaid.backends.payu')
     payment.save(force_insert=True)
     self.assertEqual('TRUE', PaymentProcessor.online('195.149.229.109', '1234', '1', '',
                                                                                  payment.pk, '123.45', '23.45', '',
                                                                                  'TRUE', 0, '',
                                                                                  '21b028c2dbdcb9ca272d1cc67ed0574e'))
     payment = Payment.objects.get(pk=payment.pk)
     self.assertEqual(payment.status, 'partially_paid')
     self.assertNotEqual(payment.paid_on, None)
     self.assertEqual(payment.amount_paid, Decimal('23.45'))
Esempio n. 17
0
 def test_payment_get_failed(self):
     Payment = apps.get_model('getpaid', 'Payment')
     order = Order(name='Test EUR order', total='123.45', currency='PLN')
     order.save()
     payment = Payment(pk=98, order=order, amount=order.total, currency=order.currency,
                       backend='getpaid.backends.payu')
     payment.save(force_insert=True)
     payment = Payment.objects.get(
         pk=98)  # this line is because django bug https://code.djangoproject.com/ticket/5903
     processor = getpaid.backends.payu.PaymentProcessor(payment)
     processor.get_payment_status(u'98:1342616247.41')
     self.assertEqual(payment.status, u'failed')
     self.assertEqual(payment.paid_on, None)
     self.assertEqual(payment.amount_paid, Decimal('0'))
Esempio n. 18
0
    def test_get_payment_status_failed(self):
        Payment = apps.get_model("getpaid", "Payment")
        order = Order(name="Test PLN order", total="123.45", currency="PLN")
        order.save()

        payment = Payment(
            pk=192, order=order, amount=order.total, currency=order.currency, backend="getpaid.backends.przelewy24"
        )
        payment.save(force_insert=True)
        payment = Payment.objects.get(pk=192)
        processor = getpaid.backends.przelewy24.PaymentProcessor(payment)
        processor.get_payment_status(p24_session_id=u"192:xxx:xxx", p24_order_id=u"192:external", p24_kwota=u"12245")
        self.assertEqual(payment.status, u"failed")
        self.assertEqual(payment.paid_on, None)
        self.assertEqual(payment.amount_paid, Decimal("0.0"))
Esempio n. 19
0
    def test_success_init_payment(self):
        Payment = get_model('getpaid', 'Payment')
        order = Order(name='Test EUR order', total='123.45', currency='RUB')
        order.save()
        payment = Payment(pk=99, order=order, amount=order.total, currency=order.currency, backend='getpaid.backends.platron')
        payment.save(force_insert=True)
        payment = Payment.objects.get(pk=99)
        processor = getpaid.backends.platron.PaymentProcessor(payment)

        fake_request = RequestFactory()
        ip = {'REMOTE_ADDR': '123.123.123.123'}
        setattr(fake_request, 'META', ip)
        url, method, params = processor.get_gateway_url(fake_request)

        self.assertEqual(url, 'https://www.platron.ru/payment_params.php?customer=ccaa41a4f425d124a23c3a53a3140bdc15826')
Esempio n. 20
0
 def test_get_payment_status_success(self):
     Payment = get_model('getpaid', 'Payment')
     order = Order(name='Test PLN order', total='123.45', currency='PLN')
     order.save()
     payment = Payment(pk=191, order=order, amount=order.total, currency=order.currency,
                       backend='getpaid.backends.przelewy24')
     payment.save(force_insert=True)
     payment = Payment.objects.get(pk=191)
     processor = getpaid.backends.przelewy24.PaymentProcessor(payment)
     processor.get_payment_status(p24_session_id=u'191:xxx:xxx',
                                  p24_order_id=u'191:external', p24_kwota=u'12345')
     self.assertEqual(payment.status, 'paid')
     self.assertEqual(payment.external_id, '191:external')
     self.assertNotEqual(payment.paid_on, None)
     self.assertEqual(payment.amount_paid, Decimal('123.45'))
Esempio n. 21
0
 def test_payment_get_failed(self):
     Payment = apps.get_model("getpaid", "Payment")
     order = Order(name="Test EUR order", total="123.45", currency="PLN")
     order.save()
     payment = Payment(
         pk=98, order=order, amount=order.total, currency=order.currency, backend="getpaid.backends.payu"
     )
     payment.save(force_insert=True)
     payment = Payment.objects.get(
         pk=98
     )  # this line is because django bug https://code.djangoproject.com/ticket/5903
     processor = getpaid.backends.payu.PaymentProcessor(payment)
     processor.get_payment_status(u"98:1342616247.41")
     self.assertEqual(payment.status, u"failed")
     self.assertEqual(payment.paid_on, None)
     self.assertEqual(payment.amount_paid, Decimal("0"))
Esempio n. 22
0
    def test_fail_init_payment(self):
        Payment = get_model('getpaid', 'Payment')
        order = Order(name='Test EUR order', total='123.45', currency='RUB')
        order.save()
        payment = Payment(pk=99, order=order, amount=order.total, currency=order.currency, backend='getpaid.backends.platron')
        payment.save(force_insert=True)
        payment = Payment.objects.get(pk=99)
        processor = getpaid.backends.platron.PaymentProcessor(payment)

        fake_request = RequestFactory()
        ip = {'REMOTE_ADDR': '123.123.123.123'}
        setattr(fake_request, 'META', ip)
        setattr(fake_request, 'path', '/getpaid.backends.platron/failure/')
        url, method, params = processor.get_gateway_url(fake_request)

        self.assertEqual(url, '/getpaid.backends.platron/failure/?pg_error_code=101&pg_order_id=99&pg_error_description=Empty+merchant')
Esempio n. 23
0
 def test_successful_create_payment_payu_pln(self):
     """
     Tests if payment is successfully created
     """
     order = Order(name='Test PLN order', total=100, currency='PLN')
     order.save()
     test_url = reverse('getpaid:new-payment', kwargs={'currency': 'PLN'})
     data = {'order': order.pk, 'backend': 'getpaid.backends.payu'}
     response = self.client.post(test_url, data)
     self.assertEqual(response.status_code, 302)
     Payment = apps.get_model('getpaid', 'Payment')
     payment = Payment.objects.get(order=order.pk)
     self.assertEqual(payment.backend, 'getpaid.backends.payu')
     self.assertEqual(payment.amount, order.total)
     self.assertEqual(payment.currency, order.currency)
     self.assertEqual(payment.status, 'in_progress')
     self.assertEqual(payment.paid_on, None)
     self.assertEqual(payment.amount_paid, 0)
Esempio n. 24
0
 def test_successful_create_payment_dummy_eur(self):
     """
     Tests if payment is successfully created
     """
     order = Order(name='Test EUR order', total=100, currency='EUR')
     order.save()
     url = reverse('getpaid-new-payment', kwargs={'currency': 'EUR'})
     data = {'order': order.pk, 'backend': 'getpaid.backends.dummy'}
     response = self.client.post(url, data)
     self.assertEqual(response.status_code, 302)
     Payment = get_model('getpaid', 'Payment')
     payment = Payment.objects.get(order=order.pk)
     self.assertEqual(payment.backend, 'getpaid.backends.dummy')
     self.assertEqual(payment.amount, order.total)
     self.assertEqual(payment.currency, order.currency)
     self.assertEqual(payment.status, 'in_progress')
     self.assertEqual(payment.paid_on, None)
     self.assertEqual(payment.amount_paid, 0)
Esempio n. 25
0
 def test_successful_create_payment_payu_pln(self):
     """
     Tests if payment is successfully created
     """
     order = Order(name='Test PLN order', total=100, currency='PLN')
     order.save()
     response = self.client.post(reverse('getpaid-new-payment', kwargs={'currency': 'PLN'}),
                                 {'order': order.pk,
                                  'backend': 'getpaid.backends.payu'}
     )
     self.assertEqual(response.status_code, 302)
     Payment = apps.get_model('getpaid', 'Payment')
     payment = Payment.objects.get(order=order.pk)
     self.assertEqual(payment.backend, 'getpaid.backends.payu')
     self.assertEqual(payment.amount, order.total)
     self.assertEqual(payment.currency, order.currency)
     self.assertEqual(payment.status, 'in_progress')
     self.assertEqual(payment.paid_on, None)
     self.assertEqual(payment.amount_paid, 0)
Esempio n. 26
0
    def test_online_payment_ok(self):
        Payment = get_model('getpaid', 'Payment')
        order = Order(name='Test EUR order', total='100.00', currency='RUB')
        order.save()
        payment = Payment(order=order, amount=order.total, currency=order.currency, backend='getpaid.backends.platron')
        payment.save(force_insert=True)
        self.assertEqual('OK', getpaid.backends.platron.PaymentProcessor.online(self.xml_result % (payment.pk, '1', 'e668147fe238a3053d7aa1328749d31d'), 'result.php'))
        payment = Payment.objects.get(pk=payment.pk)
        self.assertEqual(payment.status, 'paid')
        self.assertNotEqual(payment.paid_on, None)
        self.assertEqual(payment.amount_paid, Decimal('100.00'))

        # repeat
        payment = Payment.objects.get(pk=payment.pk)
        self.assertEqual('OK', getpaid.backends.platron.PaymentProcessor.online(self.xml_result % (payment.pk, '1', 'e668147fe238a3053d7aa1328749d31d'), 'result.php'))
        payment = Payment.objects.get(pk=payment.pk)
        self.assertEqual(payment.status, 'paid')
        self.assertNotEqual(payment.paid_on, None)
        self.assertEqual(payment.amount_paid, Decimal('100.00'))
Esempio n. 27
0
 def test_successful_create_payment_dummy_eur(self):
     """
     Tests if payment is successfully created
     """
     order = Order(name='Test EUR order', total=100, currency='EUR')
     order.save()
     response = self.client.post(
         reverse('getpaid-new-payment', kwargs={'currency': 'EUR'}), {
             'order': order.pk,
             'backend': 'getpaid.backends.dummy'
         })
     self.assertEqual(response.status_code, 302)
     Payment = get_model('getpaid', 'Payment')
     payment = Payment.objects.get(order=order.pk)
     self.assertEqual(payment.backend, 'getpaid.backends.dummy')
     self.assertEqual(payment.amount, order.total)
     self.assertEqual(payment.currency, order.currency)
     self.assertEqual(payment.status, 'in_progress')
     self.assertEqual(payment.paid_on, None)
     self.assertEqual(payment.amount_paid, 0)
Esempio n. 28
0
    def test_online_crc_error(self):
        params = {
            'command': 'CHECK',
            'id': '1234',
            'transaction_id': 'xxx',
            'operation_id': '5678',
            'amount': '123.00',
            'currency_code': 'RUB',
            'test_mode': '0',
            'signature': '2c7ead8d6aef684842edb2806b4cb178',
        }
        self.assertEqual('FAIL CRC ERR', getpaid.backends.payanyway.PaymentProcessor.online(**params))

        Payment = get_model('getpaid', 'Payment')
        order = Order(name='Test transaction_id', total='123.00', currency='RUB')
        order.save()
        payment = Payment(pk=1234, order=order, amount=order.total, currency=order.currency, backend='getpaid.backends.payanyway')
        payment.save(force_insert=True)
        params['transaction_id'] = '1234'
        params['signature'] = '102153d9e5b8e97e7f0d608448e3e18f'
        self.assertNotEqual('FAIL CRC ERR', getpaid.backends.payanyway.PaymentProcessor.online(**params))
Esempio n. 29
0
 def test_online_payment_ok(self):
     params = {
         'command': '',
         'id': '1234',
         'transaction_id': '1234',
         'operation_id': '5678',
         'amount': '123.00',
         'currency_code': 'RUB',
         'test_mode': '0',
         'signature': 'dd0c3cb8216302bbd3a1aa21518667bc',
     }
     Payment = get_model('getpaid', 'Payment')
     order = Order(name='Test pay', total='123.00', currency='RUB')
     order.save()
     payment = Payment(pk=1234, order=order, amount=order.total, currency=order.currency, backend='getpaid.backends.payanyway')
     payment.save(force_insert=True)
     self.assertEqual('SUCCESS', getpaid.backends.payanyway.PaymentProcessor.online(**params))
     payment = Payment.objects.get(pk=payment.pk)
     self.assertEqual(payment.status, 'paid')
     self.assertNotEqual(payment.paid_on, None)
     self.assertEqual(payment.amount_paid, Decimal('123.00'))
Esempio n. 30
0
    def test_send_response(self):
        check_url = reverse('getpaid:platron:check')
        result_url = reverse('getpaid:platron:result')

        response = self.client.post(check_url, {'pg_xml': self.xml_check % ('1234', 'RUR', 'xxxx')})
        self.assertContains(response, '<pg_status>error</pg_status>')
        response = self.client.post(check_url, {'pg_xml': self.xml_check % ('1234', 'EUR', '78ae32e1e005d37d56be3342a292050b')})
        self.assertContains(response, '<pg_status>error</pg_status>')
        response = self.client.post(check_url, {'pg_xml': self.xml_check % ('1111', 'RUR', 'e2947c340f12b8878fd86decdf09df37')})
        self.assertContains(response, '<pg_status>error</pg_status>')
        #TODO: with payment
        #response = self.client.post(check_url, {'pg_xml': self.xml_check % ('1234', 'RUR', 'ed57bad3c1b30649033bb7b3e3d33b86')})
        #self.assertContains(response, '<pg_status>ok</pg_status>')

        Payment = get_model('getpaid', 'Payment')
        order = Order(name='Test EUR order', total='100.00', currency='RUB')
        order.save()
        payment = Payment(order=order, amount=order.total, currency=order.currency, backend='getpaid.backends.platron')
        payment.save(force_insert=True)
        response = self.client.post(result_url, {'pg_xml': self.xml_result % (payment.pk, '1', '9b1a28ddd3a7317c5916a0bf42b2756c')})
        self.assertContains(response, '<pg_status>ok</pg_status>')
Esempio n. 31
0
 def test_order_view(self):
     order = Order(name='Test EUR order', total=100, currency='EUR')
     order.save()
     resp = self.client.get(order.get_absolute_url())
     self.assertEqual(200, resp.status_code)
     self.assertTemplateUsed(resp, 'orders/order_detail.html')
Esempio n. 32
0
 def test_order_view(self):
     order = Order(name='Test EUR order', total=100, currency='EUR')
     order.save()
     self.assertTemplateUsed(self.client.get(order.get_absolute_url()),
                             'orders/order_detail.html')
Esempio n. 33
0
 def test_order_view(self):
     order = Order(name='Test EUR order', total=100, currency='EUR')
     order.save()
     self.assertTemplateUsed(self.client.get(order.get_absolute_url()), 'orders/order_detail.html')
Esempio n. 34
0
 def test_order_view(self):
     order = Order(name='Test EUR order', total=100, currency='EUR')
     order.save()
     resp = self.client.get(order.get_absolute_url())
     self.assertEqual(200, resp.status_code)
     self.assertTemplateUsed(resp, 'orders/order_detail.html')