Exemplo n.º 1
0
 def test_deve_montar_dados_de_pagamento_sem_transacao(self):
     registrador = servicos.RegistraResultado(1234,
                                              dados={
                                                  'sucesso': 'true',
                                                  'referencia': 2222
                                              })
     registrador.resposta = mock.MagicMock(
         sucesso=True,
         conteudo={
             'ack': 'success',
             'token': 'token-zas',
             'paymentinfo_0_amt': '233.40',
             'paymentinfo_0_paymentstatus': 'refunded'
         })
     registrador.monta_dados_pagamento()
     registrador.resultado.should.be.equal({
         'fatal': False,
         'pago': False,
         'resultado': 'sucesso'
     })
     registrador.dados_pagamento.should.be.equal({
         'identificador_id': 'TOKEN-ZAS',
         'valor_pago': 233.40
     })
     registrador.situacao_pedido.should.be.equal(7)
Exemplo n.º 2
0
 def test_deve_definir_credenciais(self, credenciador_mock):
     registrador = servicos.RegistraResultado(1234, dados={})
     credenciador_mock.return_value = 'credenciador'
     registrador.configuracao = 'configuracao'
     registrador.define_credenciais()
     registrador.conexao.credenciador.should.be.equal('credenciador')
     credenciador_mock.assert_called_with(configuracao='configuracao')
Exemplo n.º 3
0
 def test_deve_montar_dados_de_pagamento_sem_token(self):
     registrador = servicos.RegistraResultado(1234,
                                              dados={
                                                  'sucesso': 'true',
                                                  'referencia': 2222
                                              })
     registrador.resposta = mock.MagicMock(
         sucesso=True,
         conteudo={
             'ack': 'success',
             'paymentinfo_0_transactionid': 'transacao-id',
             'paymentinfo_0_amt': '233.40',
             'paymentinfo_0_paymentstatus': 'completed'
         })
     registrador.monta_dados_pagamento()
     registrador.resultado.should.be.equal({
         'fatal': False,
         'pago': True,
         'resultado': 'sucesso'
     })
     registrador.dados_pagamento.should.be.equal({
         'transacao_id': 'TRANSACAO-ID',
         'valor_pago': 233.40
     })
     registrador.situacao_pedido.should.be.equal(4)
Exemplo n.º 4
0
 def test_nao_deve_obter_informacaoes_de_pagamento_qdo_cancelado(
         self, gera_mock):
     registrador = servicos.RegistraResultado(1234,
                                              dados={
                                                  'sucesso': 'false',
                                                  'referencia': 2222
                                              })
     registrador.obtem_informacoes_pagamento()
     gera_mock.called.should.be.falsy
Exemplo n.º 5
0
 def test_deve_gerar_dados_envio(self, pagador_mock, extensao_mock):
     registrador = servicos.RegistraResultado(1234,
                                              dados={
                                                  'sucesso': 'true',
                                                  'referencia': 2222
                                              })
     pagador_mock.side_effect = ['pedido', mock.MagicMock()]
     malote_mock = mock.MagicMock()
     malote_mock.to_dict.return_value = 'dados-gerados'
     extensao_mock.return_value = malote_mock
     registrador.obtem_informacoes_pagamento()
     registrador.dados_enviados.should.be.equal('dados-gerados')
Exemplo n.º 6
0
 def test_deve_obter_informacaoes_de_pagamento_qdo_sucesso(
         self, gera_mock, conexao_mock):
     gera_mock.return_value = 'dados_envio'
     conexao_mock.return_value.get.return_value = 'resultado-get'
     registrador = servicos.RegistraResultado(1234,
                                              dados={
                                                  'sucesso': 'true',
                                                  'referencia': 2222
                                              })
     registrador.obtem_informacoes_pagamento()
     registrador.resposta.should.be.equal('resultado-get')
     registrador.dados_enviados = 'dados_envio'
Exemplo n.º 7
0
 def test_deve_obter_informacaoes_de_pagamento_chamando_metodos(
         self, gera_mock, conexao_mock):
     gera_mock.return_value = 'dados_envio'
     conexao_mock.return_value.get.return_value = 'resultado-get'
     registrador = servicos.RegistraResultado(1234,
                                              dados={
                                                  'sucesso': 'true',
                                                  'referencia': 2222
                                              })
     registrador.obtem_informacoes_pagamento()
     gera_mock.called.should.be.truthy
     conexao_mock.return_value.get.assert_called_with(
         'https://api-3t.sandbox.paypal.com/nvp', dados='dados_envio')
Exemplo n.º 8
0
 def test_deve_montar_dados_de_pagamento_qdo_cancelado(self):
     registrador = servicos.RegistraResultado(1234,
                                              dados={
                                                  'sucesso': 'false',
                                                  'referencia': 2222
                                              })
     registrador.resposta = mock.MagicMock(sucesso=False, conteudo={})
     registrador.monta_dados_pagamento()
     registrador.resultado.should.be.equal({
         'fatal': False,
         'pago': False,
         'resultado': 'cancelado'
     })
     registrador.dados_pagamento.should.be.equal({})
     registrador.situacao_pedido.should.be.none
Exemplo n.º 9
0
 def test_deve_montar_dados_de_pagamento_com_falha(self):
     registrador = servicos.RegistraResultado(1234,
                                              dados={
                                                  'sucesso': 'true',
                                                  'referencia': 2222
                                              })
     registrador.resposta = mock.MagicMock(sucesso=True,
                                           conteudo={
                                               'ack': 'failure',
                                           })
     registrador.monta_dados_pagamento()
     registrador.resultado.should.be.equal({
         'fatal': False,
         'pago': False,
         'resultado': 'pendente'
     })
     registrador.dados_pagamento.should.be.equal({})
     registrador.situacao_pedido.should.be.none
Exemplo n.º 10
0
 def test_deve_gerar_dados_envio_criando_entidades(self, pagador_mock,
                                                   extensao_mock):
     registrador = servicos.RegistraResultado(1234,
                                              dados={
                                                  'sucesso': 'true',
                                                  'referencia': 2222
                                              })
     registrador.configuracao = 'configuracao'
     parametros_mock = mock.MagicMock()
     parametros_mock.return_value.obter_para.return_value = 'parametros-extensao'
     pagador_mock.side_effect = ['pedido', parametros_mock]
     malote_mock = mock.MagicMock()
     extensao_mock.return_value = malote_mock
     registrador.obtem_informacoes_pagamento()
     pagador_mock.call_args_list[0].should.be.equal(
         mock.call('Pedido', numero=2222, loja_id=1234))
     extensao_mock.assert_called_with('Malote',
                                      configuracao='configuracao',
                                      metodo='DoExpressCheckoutPayment')
     pagador_mock.call_args_list[1].should.be.equal(
         mock.call('ParametrosDeContrato', loja_id=1234))
Exemplo n.º 11
0
 def test_deve_gerar_dados_envio_chamando_metodos(self, pagador_mock,
                                                  extensao_mock):
     registrador = servicos.RegistraResultado(1234,
                                              dados={
                                                  'sucesso': 'true',
                                                  'referencia': 2222
                                              })
     registrador.configuracao = 'configuracao'
     registrador.extensao = 'extensao_teste'
     parametros_mock = mock.MagicMock()
     parametros_mock.obter_para.return_value = 'parametros-extensao'
     pagador_mock.side_effect = ['pedido', parametros_mock]
     malote_mock = mock.MagicMock()
     extensao_mock.return_value = malote_mock
     registrador.obtem_informacoes_pagamento()
     parametros_mock.obter_para.assert_called_with('extensao_teste')
     malote_mock.monta_conteudo.assert_called_with(
         parametros_contrato='parametros-extensao',
         dados={
             'referencia': 2222,
             'sucesso': 'true'
         },
         pedido='pedido')
Exemplo n.º 12
0
 def test_deve_ter_redirect_para(self):
     registrador = servicos.RegistraResultado(
         1234, dados={'next_url': 'url-next'})
     registrador.redirect_para.should.be.equal('url-next')
Exemplo n.º 13
0
 def test_deve_montar_conexao(self, obter_mock):
     obter_mock.return_value = 'conexao'
     registrador = servicos.RegistraResultado(1234, dados={})
     registrador.conexao.should.be.equal('conexao')
     obter_mock.assert_called_with(formato_envio='text/html',
                                   formato_resposta='text/html')
Exemplo n.º 14
0
 def test_deve_definir_url_sem_sandbox(self):
     registrador = servicos.RegistraResultado(1234, dados={})
     registrador.url.should.be.equal('https://api-3t.paypal.com/nvp')
Exemplo n.º 15
0
 def test_deve_definir_resposta(self):
     registrador = servicos.RegistraResultado(1234, dados={})
     registrador.resposta.should.be.none
Exemplo n.º 16
0
 def test_deve_dizer_que_faz_http(self):
     registrador = servicos.RegistraResultado(1234, dados={})
     registrador.faz_http.should.be.truthy