示例#1
0
 def test_get_by_codigo(self):
     """Compra by codigo"""
     compra1 = Compra()
     compra1.codigo = 'AAA-1000'
     compra1.valor = 2000.00
     compra1.data = date(2020, 2, 11)
     compra1.revendedor_cpf = '377.432.218-40'
     compra1.put(self.session)
     compra2 = Compra()
     compra2.codigo = 'AAA-1001'
     compra2.valor = 2055.13
     compra2.data = date(2020, 3, 11)
     compra2.revendedor_cpf = '377.432.218-40'
     compra2.put(self.session)
     compra = Compra.get_by_codigo(self.session, 'AAA-1001')
     self.assertEqual(float(compra.valor), 2055.13)
示例#2
0
 def _create_compra(self, revendedor_cpf, codigo):
     """Create Compra for test"""
     compra = Compra()
     compra.codigo = codigo
     compra.valor = 1600
     compra.data = str_date_to_date('2020-02-10')
     compra.revendedor_cpf = revendedor_cpf
     compra.put(self.session)                
示例#3
0
 def test_delete(self):
     """Delete Compra"""
     compra = Compra()
     compra.codigo = 'AAA-1000'
     compra.valor = 2000.00
     compra.data = date(2020, 2, 11)
     compra.revendedor_cpf = '377.432.218-40'
     compra.put(self.session)
     self.assertEqual(len(Compra.get_all(self.session)), 1)
     compra.delete(self.session)
     self.assertEqual(len(Compra.get_all(self.session)), 0)
示例#4
0
 def test_create(self):
     """Compra creation"""
     compra = Compra()
     compra.codigo = 'AAA-1000'
     compra.valor = 2000.00
     compra.data = date(2020, 2, 11)
     compra.revendedor_cpf = '377.432.218-40'
     compra.put(self.session)
     self.assertEqual(compra.cashback_percentual, float(20))
     self.assertEqual(compra.cashback_valor, 400)
     self.assertEqual(compra.status, 'Em validação')
     compra = Compra()
     compra.codigo = 'AAA-1001'
     compra.valor = float_to_decimal(1340.50)
     compra.data = date(2020, 2, 11)
     compra.revendedor_cpf = '153.509.460-56'
     compra.put(self.session)
     self.assertEqual(compra.cashback_percentual, float(15))
     self.assertEqual(compra.cashback_valor, float_to_decimal(201.07))
     self.assertEqual(compra.status, 'Aprovado')
示例#5
0
    def post(self):
        """Create a new Compra"""
        session = DBSessionManagement().get_db_session()
        try:
            params = request.get_json()
            required_params = ['codigo', 'valor', 'data', 'revendedor_cpf']
            if not post_params_is_valid(params, required_params):
                return 'Bad request', 400
            compra = Compra()
            compra.codigo = params['codigo']
            compra.valor = params['valor']
            compra.data = str_date_to_date(params['data']).date()
            compra.revendedor_cpf = params['revendedor_cpf']
            compra.put(session)

            return '', 204
        except Exception as error:
            session.rollback()
            return str(error), 500