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)
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)
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)
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')
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