def test_emissao_de_signal_aguardando(self): from django_pagseguro.signals import PagSeguroSignal from django_pagseguro.signals import pagamento_aguardando, pagamento_atualizado dados = {'StatusTransacao': 'Aguardando Pagamento', 'Referencia': 42} emissor = PagSeguroSignal(dados) emissor.send() def my_callback_aguardando(sender, **kwargs): self.assertEquals(sender.referencia, 42) def my_callback_atualizado(sender, **kwargs): self.assertEquals(sender.referencia, 42) pagamento_aguardando.connect(my_callback_aguardando) pagamento_atualizado.connect(my_callback_atualizado)
import logging def update_payment(pk, status): p = Payment.objects.get(pk=pk) p.status = status p.save() return p def pagseguro_approved(sender, **kwargs): logging.debug("signal pagseguro_approved received") p = update_payment(sender.referencia, "Aprovado") p.paid = True p.save() logging.debug("signal pagseguro_approved finished") def pagseguro_waiting(sender, **kwargs): logging.debug("signal pagseguro_waiting received") p = update_payment(sender.referencia, "Aguardando") logging.debug("signal pagseguro_waiting finished") def pagseguro_canceled(sender, **kwargs): logging.debug("signal pagseguro_canceled received") p = update_payment(sender.referencia, "Cancelado") logging.debug("signal pagseguro_canceled finished") pagamento_aprovado.connect(pagseguro_approved) pagamento_aguardando.connect(pagseguro_waiting) pagamento_em_analise.connect(pagseguro_waiting) pagamento_devolvido.connect(pagseguro_canceled) pagamento_cancelado.connect(pagseguro_canceled)