Example #1
0
    def test_contabilizar(self, TaskQueueCommandClassMock):
        # Setando banco de dados
        Venda(preco=Decimal('0.99'), status=CONTABILIZADA).put()
        vendas_novas = [Venda(preco=Decimal('0.99'), status=NOVA),
                        Venda(preco=Decimal('1.99'), status=NOVA)]
        vendas_chaves = ndb.put_multi(vendas_novas)

        # Criação de Mock para objeto do Tipos TaskQueueCommand
        cmd = Mock()

        subtotais = {'i': 1, 1: '0.99', 2: '2.98'}

        def _contabilizar():
            params = TaskQueueCommandClassMock.call_args[1]['params']
            subtotal = params['total']
            execucao = subtotais['i']
            self.assertEqual(subtotais[execucao], subtotal)
            subtotais['i'] = execucao + 1
            contabilizar(subtotal,
                         params['cursor'])

        cmd.side_effect = _contabilizar

        TaskQueueCommandClassMock.return_value = cmd

        # Executanto handler sob teste
        contabilizar()

        # Asserções
        vendas_novas = ndb.get_multi(vendas_chaves)
        vendas_status = [v.status for v in vendas_novas]
        self.assertListEqual([CONTABILIZADA, CONTABILIZADA], vendas_status)
        self.assertEqual(2, cmd.call_count)
Example #2
0
 def _contabilizar():
     params = TaskQueueCommandClassMock.call_args[1]['params']
     subtotal = params['total']
     execucao = subtotais['i']
     self.assertEqual(subtotais[execucao], subtotal)
     subtotais['i'] = execucao + 1
     contabilizar(subtotal,
                  params['cursor'])