示例#1
0
    def testConnectPaypalSignalReceiver(self):
        payment_was_successful.connect(show_me_the_money)

        class ipn_obj:
            custom = 'atyala'

        payment_was_successful.send(sender=ipn_obj, message="Hello", level=1, object=self)
示例#2
0
 def send_signals(self):
     """Shout for the world to hear whether a txn was successful."""
     # Transaction signals:
     if self.is_transaction():
         if self.flag:
             payment_was_flagged.send(sender=self)
         elif self.is_refund():
             payment_was_refunded.send(sender=self)
         elif self.is_reversed():
             payment_was_reversed.send(sender=self)
         else:
             payment_was_successful.send(sender=self)
     # Recurring payment signals:
     # XXX: Should these be merged with subscriptions?
     elif self.is_recurring():
         if self.is_recurring_create():
             recurring_create.send(sender=self)
         elif self.is_recurring_payment():
             recurring_payment.send(sender=self)
         elif self.is_recurring_cancel():
             recurring_cancel.send(sender=self)
         elif self.is_recurring_skipped():
             recurring_skipped.send(sender=self)
         elif self.is_recurring_failed():
             recurring_failed.send(sender=self)
    # Subscription signals:
     else:
         if self.is_subscription_cancellation():
             subscription_cancel.send(sender=self)
         elif self.is_subscription_signup():
             subscription_signup.send(sender=self)
         elif self.is_subscription_end_of_term():
             subscription_eot.send(sender=self)
         elif self.is_subscription_modified():
             subscription_modify.send(sender=self)
示例#3
0
    def testConnectPaypalSignalReceiver(self):
        payment_was_successful.connect(show_me_the_money)

        class ipn_obj:
            custom = 'atyala'

        payment_was_successful.send(sender=ipn_obj,
                                    message="Hello",
                                    level=1,
                                    object=self)
示例#4
0
 def testConnectingSignals(self):
     payment_was_successful.connect(SimpleReceiver)
     self.assertFalse(self._signalReceived)
     payment_was_successful.send(sender="Sender", message="Hello", level=1, object=self)
     self.assertTrue(self._signalReceived)
     # test disconnect signal
     self._signalReceived = False
     payment_was_successful.disconnect(SimpleReceiver)
     payment_was_successful.send(sender="Sender", message="Hello", level=1, object=self)
     self.assertFalse(self._signalReceived)
示例#5
0
 def testConnectingSignals(self):
     payment_was_successful.connect(SimpleReceiver)
     self.assertFalse(self._signalReceived)
     payment_was_successful.send(sender="Sender",
                                 message="Hello",
                                 level=1,
                                 object=self)
     self.assertTrue(self._signalReceived)
     # test disconnect signal
     self._signalReceived = False
     payment_was_successful.disconnect(SimpleReceiver)
     payment_was_successful.send(sender="Sender",
                                 message="Hello",
                                 level=1,
                                 object=self)
     self.assertFalse(self._signalReceived)
示例#6
0
 def test_handler_sends_email(self):
     ipn = PayPalIPN()
     ipn.invoice = str(self.user_order.id)
     payment_was_successful.send(sender=ipn)
     message = self.email_message % dict(
         order_number=self.user_order.id,
         total=UserOrder.objects.get(id=self.user_order.id).total,
     )
     self.__class__.send_mail.assert_called_once_with(
         'Your UCBC Order #%d' % self.user_order.id,
         message,
         settings.ORDER_FROM_EMAIL,
         [self.user.email, settings.ORDER_FROM_EMAIL],
         fail_silently=True,
         auth_user=settings.ORDER_EMAIL_HOST_USER,
         auth_password=settings.ORDER_EMAIL_HOST_PASSWORD,
     )
示例#7
0
 def test_payment_was_successful_handler_user_order_doesnt_exist(self, getLogger):
     log = getLogger()
     ipn = PayPalIPN()
     ipn.invoice = "5"
     payment_was_successful.send(sender=ipn)
     log.error.assert_called_once_with("No UserOrder with id: %d" % 5)
示例#8
0
 def test_payment_was_successful_handler_no_invoice(self, getLogger):
     log = getLogger()
     payment_was_successful.send(sender=PayPalIPN())
     log.error.assert_called_once_with("Invalid invoice id: ")
示例#9
0
 def test_handler_flags_user_order_as_paid(self):
     ipn = PayPalIPN()
     ipn.invoice = str(self.user_order.id)
     payment_was_successful.send(sender=ipn)
     self.assert_order_paid()