def test_criacao_carrinho_com_configuracoes(self): from django_pagseguro.pagseguro import CarrinhoPagSeguro from django.conf import settings carrinho = CarrinhoPagSeguro(ref_transacao=42) self.assertEquals(carrinho.config['ref_transacao'], 42)
def test_criacao_carrinho_simples(self): from django_pagseguro.pagseguro import CarrinhoPagSeguro from django.conf import settings carrinho = CarrinhoPagSeguro() self.assertEquals(carrinho.config['tipo'], 'CP') self.assertEquals(carrinho.config['encoding'], 'UTF-8') self.assertEquals(carrinho.config['moeda'], 'BRL') self.assertEquals(carrinho.config['email_cobranca'], settings.PAGSEGURO_EMAIL_COBRANCA) self.assertEquals(carrinho.config['ref_transacao'], '')
def test_configuracao_cliente(self): from django_pagseguro.pagseguro import CarrinhoPagSeguro from django.conf import settings carrinho = CarrinhoPagSeguro() carrinho.set_cliente(email='*****@*****.**') carrinho.set_cliente(nome='Fulano da Silva') carrinho.set_cliente(cep='60000000', end='Rua Beltrano de Sousa') self.assertEquals(carrinho.cliente['email'], '*****@*****.**') self.assertEquals(carrinho.cliente['nome'], 'Fulano da Silva') self.assertEquals(carrinho.cliente['cep'], '60000000') self.assertEquals(carrinho.cliente['end'], 'Rua Beltrano de Sousa')
def test_render_form(self): from django_pagseguro.pagseguro import ItemPagSeguro, CarrinhoPagSeguro from django.conf import settings carrinho = CarrinhoPagSeguro(ref_transcao=42) carrinho.set_cliente(email='*****@*****.**') carrinho.add_item(ItemPagSeguro(1, "Camisa Azul", 2, 32.40)) carrinho.add_item(ItemPagSeguro(2, "Camisa Verde", 3, 35.50)) form_pagseguro = carrinho.form() self.assertTrue(isinstance(form_pagseguro, SafeUnicode)) self.assertTrue('https://pagseguro.uol.com.br/security/webpagamentos/webpagto.aspx' in form_pagseguro) for k,v in carrinho.config.items(): self.assertTrue('<input type="hidden" name="%s" value="%s" />' % (k, v) in form_pagseguro) for k,v in carrinho.cliente.items(): self.assertTrue('<input type="hidden" name="cliente_%s" value="%s" />' % (k, v) in form_pagseguro) for i,item in enumerate(carrinho.itens, 1): self.assertTrue('<input type="hidden" name="item_id_%d" value="%s" />' % (i, item.cod) in form_pagseguro) self.assertTrue('<input type="hidden" name="item_descr_%d" value="%s" />' % (i, item.descr) in form_pagseguro) self.assertTrue('<input type="hidden" name="item_quant_%d" value="%s" />' % (i, item.quant) in form_pagseguro) self.assertTrue('<input type="hidden" name="item_valor_%d" value="%s" />' % (i, item.valor) in form_pagseguro)
def test_adicao_de_itens(self): from django_pagseguro.pagseguro import ItemPagSeguro, CarrinhoPagSeguro from django.conf import settings carrinho = CarrinhoPagSeguro() carrinho.add_item(ItemPagSeguro(1, "Camisa Azul", 2, 32.40)) carrinho.add_item(ItemPagSeguro(2, "Camisa Verde", 3, 35.50)) carrinho.add_item(ItemPagSeguro(cod=3, descr="Camisa Vermelha", quant=1, valor=35.0)) self.assertEquals(len(carrinho.itens), 3) self.assertEquals(carrinho.itens[0].cod, 1) self.assertEquals(carrinho.itens[0].valor, 3240) self.assertEquals(carrinho.itens[1].descr, "Camisa Verde") self.assertEquals(carrinho.itens[1].valor, 3550) self.assertEquals(carrinho.itens[2].quant, 1) self.assertEquals(carrinho.itens[2].valor, 3500)
def pay(request): from django_pagseguro.pagseguro import ItemPagSeguro, CarrinhoPagSeguro user = request.user member = user.get_profile() if request.method == 'POST': p = Payment.objects.create(status="Aguardando", user=user) carrinho = CarrinhoPagSeguro(ref_transacao=p.pk) carrinho.set_cliente(email=user.email, cep=member.address_zip) carrinho.add_item(ItemPagSeguro(cod=1, descr='Anuidade Ciclocidade', quant=1, valor=60.00)) payment_form = carrinho.form() return render_to_response("pay-forward.html", {'payment_form': payment_form}, context_instance=RequestContext(request)) return render_to_response("pay.html", context_instance=RequestContext(request))
def pay(request): from django_pagseguro.pagseguro import ItemPagSeguro, CarrinhoPagSeguro user = request.user member = user.get_profile() if request.method == "POST": p = Payment.objects.create(status="Aguardando", user=user) carrinho = CarrinhoPagSeguro(ref_transacao=p.pk) carrinho.set_cliente(email=user.email, cep=member.address_zip) valor = calculate_membership_fee(datetime.today()) donations = request.POST["donation"].replace(",", ".") try: donations = float(donations) except ValueError: donations = 0 carrinho.add_item(ItemPagSeguro(cod=1, descr="Anuidade Ciclocidade", quant=1, valor=float(valor))) if donations > 0: carrinho.add_item(ItemPagSeguro(cod=1, descr="Doação Ciclocidade", quant=1, valor=float(donations))) payment_form = carrinho.form() return render_to_response( "pay-forward.html", {"payment_form": payment_form}, context_instance=RequestContext(request) ) paids = user.payment_set.filter(paid=True) now = datetime.now() year = now.year if now.month >= 8 else now.year - 1 last_year = paids.filter(created_at__gt=date(year, 8, 1)) show_form = not bool(last_year.count()) if not show_form: messages.add_message(request, messages.SUCCESS, "Você esta em dia com o pagamento da anuidade!") year = None else: messages.add_message( request, messages.WARNING, "Por favor, leia as instruções e efetue o pagamento da anuidade via PagSeguro" ) year = datetime.now().year return render_to_response( "pay.html", {"paids": paids, "show_form": show_form, "year": year}, context_instance=RequestContext(request) )