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)
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)
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)
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, )
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)
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: ")
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()