def test_vender_aparelho(self): venda = Venda("Ela", "Casa dela","Samsung Galaxy", "SAMSUNG", "I8150", "26/10/2012") self.produto.estoque[0].numeros_de_serie[0] |should| equal_to("HWWx3") venda.fazer_venda() venda.nome_cli |should| equal_to("Ela") venda.lista_vendas_2[0] |should| equal_to("LKJ#2") venda.lista_vendas_1[0].marca_prod |should| equal_to("SAMSUNG")
def func_vendas(): while True: menu_vendas() opção = func_entrada(int, '', limite=True, lim_inf=1, lim_sup=3) if opção == 1: lançar_venda() elif opção == 2: Venda.mostrar_vendas() elif opção == 3: return
def test_esta_na_garantia(self): self.venda = Venda("Ela", "Casa dela", "Samsung Galaxy", "SAMSUNG", "I8150", "26/10/2012") self.venda.fazer_venda() self.venda.lista_vendas_1[0].nome_cli | should | equal_to("Ela") self.venda.lista_vendas_1[0].descricao_prod | should | equal_to( 'Samsung Galaxy') self.venda.consultar_garantia("26/10/2012") | should | equal_to( "Ainda está na garantia!")
def test_vender_aparelho(self): venda = Venda("Ela", "Casa dela", "Samsung Galaxy", "SAMSUNG", "I8150", "26/10/2012") self.produto.estoque[0].numeros_de_serie[0] | should | equal_to( "HWWx3") venda.fazer_venda() venda.nome_cli | should | equal_to("Ela") venda.lista_vendas_2[0] | should | equal_to("LKJ#2") venda.lista_vendas_1[0].marca_prod | should | equal_to("SAMSUNG")
def test_venda_duplicacao_item(): itemUm = Produto(codigo1, descricao1, unidade1, valorUnitario1, substituicaoTributaria1) vendaCom2Itens = Venda(loja_completa, ccf, coo, datahora) vendaCom2Itens.adicionar_item(itemUm, 1, quantidade1) validacao_item( TEXTO_ESPERADO_VENDA_DUPLICADA, 1, itemUm, quantidade1, vendaCom2Itens )
def venda(id=None): try: data = request.get_json() if request.method == 'POST': date = datetime.now().strftime('%Y-%m-%d') insert_venda( Venda(None, date, data['codigo_cliente'], data['codigo_produtos'])) db_commit() return jsonify({'message': 'Sucesso'}), 201 if request.method == 'GET': # Retorna vendas if id != None: if "-" in id: date = datetime.strptime(id, '%d-%m-%Y').strftime( '%Y-%m-%d') # Converte data para formato do MySQL date vendas = find_venda_date(date) return jsonify({ 'message': '', 'vendas': objetos_to_dicionarios(vendas) }), 200 else: venda = find_venda(id) return jsonify({ 'message': '', 'venda': objeto_to_dicionario(venda) }) vendas = find_all_vendas( ) # "vendas" é do tipo object, é necessario converter para dict para ser serializado para json return jsonify({ 'message': '', 'vendas': objetos_to_dicionarios(vendas) }), 200 if request.method == 'DELETE': delete_venda(id) db_commit() return jsonify({'message': 'Sucesso'}), 200 if request.method == 'PUT': update_venda( id, Venda( data['codigo'], datetime.strptime(data['data'], '%d-%m-%Y').strftime('%Y-%m-%d'), data['codigo_cliente'], data['codigo_produtos'])) db_commit() return jsonify({'message': 'Sucesso'}), 200 except: # Erro de sintaxe do cliente db_rollback() return jsonify({'message': 'Erro'}), 400
class Test_Venda_Spec(unittest.TestCase): def setUp(self): self.cliente = Cliente("Ela", "Casa dela") self.produto = Produto('Samsung Galaxy', 'SAMSUNG', 'I8150', 3) self.produto.inserir_numeros_de_serie(["HWWx3", "HXD#F","LKJ#2"]) def test_vender_aparelho(self): venda = Venda("Ela", "Casa dela","Samsung Galaxy", "SAMSUNG", "I8150", "26/10/2012") self.produto.estoque[0].numeros_de_serie[0] |should| equal_to("HWWx3") venda.fazer_venda() venda.nome_cli |should| equal_to("Ela") venda.lista_vendas_2[0] |should| equal_to("LKJ#2") venda.lista_vendas_1[0].marca_prod |should| equal_to("SAMSUNG") def test_impossivel_vender_produto_so_tem_no_mostruario(self): venda = Venda("Ela", "Casa dela","Samsung Galaxy", "SAMSUNG", "I8150", "26/10/2012") venda.fazer_venda() venda.fazer_venda() venda.fazer_venda() |should| equal_to("impossivel vender") def test_esta_na_garantia(self): self.venda = Venda("Ela", "Casa dela","Samsung Galaxy", "SAMSUNG", "I8150", "26/10/2012") self.venda.fazer_venda() self.venda.lista_vendas_1[0].nome_cli |should| equal_to("Ela") self.venda.lista_vendas_1[0].descricao_prod |should| equal_to('Samsung Galaxy') self.venda.consultar_garantia("26/10/2012") |should| equal_to("Ainda está na garantia!") def test_esta_fora_da_garantia(self): self.venda = Venda("Ela", "Casa dela","Samsung Galaxy", "SAMSUNG", "I8150", "26/10/2012") self.venda.fazer_venda() self.venda.consultar_garantia("26/10/2016") |should| equal_to("Esta fora da garantia")
def confirm_venda(self): mat = self.mat_vend_entry.get() cpf = self.cpf_comp_entry.get() preco = float(self.preco_venda_entry.get()) vend = None comp = None for v in self.control.bd.show_vend(): if mat == v.get_matricula(): vend = v for c in self.control.bd.show_comp(): if cpf == c.get_cpf(): comp = c if vend is not None and comp is not None: venda = Venda(self.carro, vend, comp, preco) self.control.bd.adc_venda(venda) self.control.bd.remove_car(self.carro) self.control.jn.janela_nota() self.control.jn.atualizar() self.control.bd.salv_carro() self.control.bd.salv_vendas() self.gerar_nota(vend, comp, preco) super().destroy() else: messagebox.showerror( 'Venda', 'Dados digitados incorretos. Por favor verificá-los.')
def confirm_venda(self): mat = self.mat_vend_entry.get() cpf = self.cpf_comp_entry.get() preco = float(self.preco_venda_entry.get()) vend = None comp = None self.data_venda() for v in self.control.bd.get_vendedor(): if mat == v.get_matricula(): vend = v for c in self.control.bd.get_comprador(): if cpf == c.get_cpf(): comp = c if vend is not None and comp is not None: venda = Venda(self.carro, vend, comp, preco) self.control.bd.add_venda(venda) self.control.bd.remover_carro(self.carro) self.control.jn.atualizar_patio() self.control.bd.save_carros() self.control.bd.save_vendas() self.gerar_nota(vend, comp, preco) super().destroy() nota = open('nota_fiscal.txt', 'r') messagebox.showinfo('Notal fiscal', nota.read()) else: messagebox.showerror('Venda', 'Dados digitados incorretos. Por favor verificá-los.')
def text_vendas(self): if os.path.exists('Vendas.txt'): file = open('Vendas.txt', 'r') for c in file.readlines(): c = c.strip().lstrip('(').rstrip(')').split(',') carro = Carro(c[0].strip().strip('"').strip("'"), c[1].strip().strip('"').strip("'"), c[2].strip().strip('"').strip("'"), float(c[3].strip().strip('"').strip("'")), c[4].strip().strip('"').strip("'")) venda = Vendedor(c[5].strip().strip('"').strip("'"), c[6].strip().strip('"').strip("'")) compra = Comprador(c[7].strip().strip('"').strip("'"), c[8].strip().strip('"').strip("'")) preco = float(c[9]) venda = Venda(carro, venda, compra, preco) self.vendas.append(venda) else: file = open('Vendas.txt', 'w') file.close()
def showJanela(event=None): window = tkinter.Toplevel(root) window.title("Registro de Vendas") window.geometry("400x230") window.transient(root) Venda(window) root.wait_window(window)
def register_venda(self): venda = Venda(self.entry_cliente.get(), self.entry_vendedor.get(), self.entry_carro.get(), self.entry_desconto.get(), self.entry_preco.get(), self.entry_data.get(), self.entry_forma_pagamento.get()) lista = open('lista_venda', 'a') lista.write(f'{venda.to_string()}\n') View_Nota_Fiscal(self) messagebox.showinfo('Venda Registrada', 'Venda Registrada com Sucesso!!!')
def test_quant_item(): itemTres = Produto(codigo3, descricao3, unidade3, valorUnitario3, substituicaoTributaria3) vendaComQuantNegativa = Venda(loja_completa, ccf, coo, datahora) validacao_item( TEXTO_ESPERADO_VALORUNI_ZERO, 1, itemTres, quantidade3, vendaComQuantNegativa )
def test_valor_produto(): itemDois = Produto(codigo2, descricao2, unidade2, valorUnitario2, substituicaoTributaria2) vendaCom2ItensNegativos = Venda(loja_completa, ccf, coo, datahora) validacao_item( TEXTO_ESPERADO_VALOR_ZERO_OU_NEGATIVO, 1, itemDois, quantidade2, vendaCom2ItensNegativos )
class TestPessoa(unittest.TestCase): def setUp(self): self.pessoa = Pessoa("0", "Bruno", 27997743714, "Rua qualquer") self.produto = Produto(0,"miojo",3,5,3.2,40) self.fornecedor = Fornecedor("Casas Bahia","Rua 1", 999, 0, 122) self.compra = Compra(1,111,0,0,"12/01/2015") self.venda = Venda(0,"13/01/2015",0,1) def testAtributosPessoa(self): self.assertEqual(self.pessoa.getCod(), "0") self.assertEqual(self.pessoa.getNome(), "Bruno") self.assertEqual(self.pessoa.getTel(), 27997743714) self.assertEqual(self.pessoa.getEnd(), "Rua qualquer") def testAtributosProduto(self): self.assertEqual(self.produto.getCod(), 0) self.assertEqual(self.produto.getDesc(), "miojo") self.assertEqual(self.produto.getEstmin(), 3) self.assertEqual(self.produto.getQtdatual(), 5) self.assertEqual(self.produto.getCusto(), 3.2) self.assertEqual(self.produto.getPctlucro(), 40) def testAtributosFornecedor(self): self.assertEqual(self.fornecedor.getNome(), "Casas Bahia") self.assertEqual(self.fornecedor.getEnd(), "Rua 1") self.assertEqual(self.fornecedor.getTel(), 999) self.assertEqual(self.fornecedor.getCod(), 0) self.assertEqual(self.fornecedor.getCnpj(), 122) def testAtributosCompra(self): self.assertEqual(self.compra.getQtd(), 1) self.assertEqual(self.compra.getNotaf(), 111) self.assertEqual(self.compra.getCodfornec(), 0) self.assertEqual(self.compra.getCodprod(), 0) self.assertEqual(self.compra.getDtcompra(), "12/01/2015") def testAtributosVenda(self): self.assertEqual(self.venda.getCliente(), 0) self.assertEqual(self.venda.getDt(), "13/01/2015") self.assertEqual(self.venda.getProd(), 0) self.assertEqual(self.venda.getQtd(), 1)
def find_venda(codigo): cursor.execute("SELECT * FROM Venda WHERE ven_codigo = " + codigo) resultado_venda = cursor.fetchall() cursor.execute( "SELECT pv_pro_codigo FROM Produto_Venda WHERE pv_ven_codigo = " + codigo) resultado_produtos = cursor.fetchall() produtos = [] for produto in resultado_produtos: produtos.append(produto[0]) return (Venda(resultado_venda[0][0], resultado_venda[0][1], resultado_venda[0][2], produtos))
def lançar_venda(): print('\n-=-=- REGISTRAR VENDA -=-=-') venda = Venda() valor = func_entrada(float, 'Valor da venda: R$') data_venda = date.today() print('Empregado responsável pela venda:') aux_func = Empregado.localizar_empregado() if not aux_func: print('\nNão há empregados com esse ID!') input() return print('\nFuncionário localizado!') venda.valor = valor venda.ativo = True venda.data = data_venda.strftime('%d/%m/%Y') venda.id_empregado = aux_func.id_empregado Venda.vendas.append(venda) Transação.trns_ultima_undo.append(['Venda', venda.id_empregado]) Transação.trns_undo.append(venda) Transação.trns_redo.clear() Transação.trns_ultima_redo.clear() print('\nVenda registrada com sucesso!') input()
class Test_Trocar_Spec(unittest.TestCase): def setUp(self): self.cliente_1 = Cliente("Tu", "Tua Residencia") self.cliente_2 = Cliente("Ela", "Residencia dela") self.produto = Produto('Samsung Galaxy', 'SAMSUNG', 'I8150', 5) self.produto.inserir_numeros_de_serie(["HWWx3", "HXD#F","LKJ#2","LKJ#3","L45#2"]) self.venda = Venda("Tu", "Tua Residencia",'Samsung Galaxy', 'SAMSUNG', 'I8150', "29/10/2012") def test_trocar_produto(self): self.venda.fazer_venda() self.venda.fazer_venda() troca = Troca("29/10/2012", "Ela","Não liga","Tu", "Tua Residencia",'Samsung Galaxy', 'SAMSUNG', 'I8150','LKJ#2' ) troca.fazer_uma_troca() |should| equal_to("Produto Trocado") def test_trocar_produto_nao_encontrado(self): troca = Troca("29/10/2012", "Ela","Não liga","Tu", "Tua Residencia",'Samsung Galaxy', 'LG', 'I8150','LKJ#2' ) troca.fazer_uma_troca() |should| equal_to("Produto não encontrado") def test_trocar_produto_garantia_acabou(self): troca = Troca("29/10/2015", "Ela","Não liga","Tu", "Tua Residencia",'Samsung Galaxy', 'SAMSUNG', 'I8150','LKJ#2' ) troca.fazer_uma_troca() |should| equal_to("Garantia acabou")
def find_all_vendas(): cursor.execute("SELECT * FROM Venda") resultados_venda = cursor.fetchall() vendas = [] for venda in resultados_venda: cursor.execute( "SELECT pv_pro_codigo FROM Produto_Venda WHERE pv_ven_codigo = " + str(venda[0])) resultado_produtos = cursor.fetchall() produtos = [] for produto in resultado_produtos: produtos.append(produto[0]) vendas.append(Venda(venda[0], venda[1], venda[2], produtos)) return (vendas)
def api_newvenda(): global myVenda req_data = request.get_json() idcliente = req_data['idcliente'] idproduto = req_data['idproduto'] quantidade = req_data['quantidade'] total = 0 for elem in myProduto: if idproduto == elem.getId(): total = int(elem.getValor()) * int(quantidade) new_venda = Venda(idcliente, idproduto, quantidade, total) myVenda.append(new_venda) res = {'status': 'ok'} return jsonify(res)
class Test_Venda_Spec(unittest.TestCase): def setUp(self): self.cliente = Cliente("Ela", "Casa dela") self.produto = Produto('Samsung Galaxy', 'SAMSUNG', 'I8150', 3) self.produto.inserir_numeros_de_serie(["HWWx3", "HXD#F", "LKJ#2"]) def test_vender_aparelho(self): venda = Venda("Ela", "Casa dela", "Samsung Galaxy", "SAMSUNG", "I8150", "26/10/2012") self.produto.estoque[0].numeros_de_serie[0] | should | equal_to( "HWWx3") venda.fazer_venda() venda.nome_cli | should | equal_to("Ela") venda.lista_vendas_2[0] | should | equal_to("LKJ#2") venda.lista_vendas_1[0].marca_prod | should | equal_to("SAMSUNG") def test_impossivel_vender_produto_so_tem_no_mostruario(self): venda = Venda("Ela", "Casa dela", "Samsung Galaxy", "SAMSUNG", "I8150", "26/10/2012") venda.fazer_venda() venda.fazer_venda() venda.fazer_venda() | should | equal_to("impossivel vender") def test_esta_na_garantia(self): self.venda = Venda("Ela", "Casa dela", "Samsung Galaxy", "SAMSUNG", "I8150", "26/10/2012") self.venda.fazer_venda() self.venda.lista_vendas_1[0].nome_cli | should | equal_to("Ela") self.venda.lista_vendas_1[0].descricao_prod | should | equal_to( 'Samsung Galaxy') self.venda.consultar_garantia("26/10/2012") | should | equal_to( "Ainda está na garantia!") def test_esta_fora_da_garantia(self): self.venda = Venda("Ela", "Casa dela", "Samsung Galaxy", "SAMSUNG", "I8150", "26/10/2012") self.venda.fazer_venda() self.venda.consultar_garantia("26/10/2016") | should | equal_to( "Esta fora da garantia")
def api_newVenda(): global myVenda req_data = request.get_json() idCliente = req_data['idCliente'] idProduto = req_data['idProduto'] quantidade = req_data['quantidade'] preco = 0 total = 0 for elem in myProduto: if idProduto == elem.getIdProduto(): preco = elem.getPrecoProduto() total = int(quantidade) * int(preco) else: print("Produto não esta cadastrado!!") break new_venda = Venda(idCliente, idProduto, quantidade, preco, str(total)) myVenda.append(new_venda) res = {'status': 'ok'} return jsonify(res)
def carregar_vendas(self): file = open('venda.txt', 'r') for c in file.readlines(): c = c.strip().lstrip('((').rstrip(')').split(',') carro = Carro(c[0].strip().strip('"').strip("'"), c[1].strip().strip('"').strip("'"), c[2].strip().strip('"').strip("'"), c[3].strip().strip('"').strip("'"), c[4].strip().strip('"').strip("'"), c[5].strip().strip('),').strip("'").strip('"')) vend = Vendedor(c[6].strip().strip('(').strip('"').strip("'"), c[7].strip().strip('"').strip("'"), c[8].strip().strip('),').strip("'").strip('"')) comp = Comprador(c[9].strip().strip('(').strip('"').strip("'"), c[10].strip().strip('),').strip("'").strip('"')) preco = float(c[11]) venda = Venda(carro, vend, comp, preco) self.vendas.append(venda) file.close()
def botaoVenda(self): global sscpf nomeProduto = self.telaVenda.lineEdit_4.text() quantidade = int(self.telaVenda.lineEdit_6.text()) cpfcliente = self.telaVenda.lineEdit_5.text() if not (nomeProduto == '' or quantidade == '' or cpfcliente == '' or sscpf == ''): if self.pessoa.vazio(): QMessageBox.information(None, "Erro!", "Sem clientes cadastrados!") self.QtStack.setCurrentIndex(2) elif(self.pessoa.busca(cpfcliente)==None): QMessageBox.information(None, "Erro!", "Cliente com CPF não cadastrado!") self.QtStack.setCurrentIndex(2) else: v = Venda(nomeProduto,quantidade,cpfcliente,sscpf) if (self.produto.venda(v)): QMessageBox.information(None, "Ok!", "Venda realizada!") self.telaVenda.lineEdit_4.setText('') self.telaVenda.lineEdit_6.setText('') self.telaVenda.lineEdit_5.setText('') else: QMessageBox.information(None, "Erro!", "Produto inválido ou fora de estoque!") else: QMessageBox.information(None, "Erro!", "Todos os valores devem ser preenchidos!") self.QtStack.setCurrentIndex(8)
def test_impossivel_vender_produto_so_tem_no_mostruario(self): venda = Venda("Ela", "Casa dela", "Samsung Galaxy", "SAMSUNG", "I8150", "26/10/2012") venda.fazer_venda() venda.fazer_venda() venda.fazer_venda() | should | equal_to("impossivel vender")
def test_esta_fora_da_garantia(self): self.venda = Venda("Ela", "Casa dela", "Samsung Galaxy", "SAMSUNG", "I8150", "26/10/2012") self.venda.fazer_venda() self.venda.consultar_garantia("26/10/2016") | should | equal_to( "Esta fora da garantia")
import pymongo from funcionario import Funcionario from produto import Produto from cliente import Cliente from venda import Venda myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["dbvendas"] funcionario = Funcionario() produto = Produto() cliente = Cliente() venda = Venda() while True: option = input("\n1 - Manter Funcionário\n" "2 - Manter Produto\n" "3 - Manter Cliente\n" "4 - Vender\n" "0 - Sair\n" "Opção escolhida: ") if option == "1": option = input("\n1 - Cadastrar Funcionário\n" "2 - Alterar Funcionário\n" "3 - Excluir Funcionário\n" "4 - Consultar Funcionário\n" "0 - Sair\n" "Opção escolhida: ") if option == "1":
def setUp(self): self.pessoa = Pessoa("0", "Bruno", 27997743714, "Rua qualquer") self.produto = Produto(0,"miojo",3,5,3.2,40) self.fornecedor = Fornecedor("Casas Bahia","Rua 1", 999, 0, 122) self.compra = Compra(1,111,0,0,"12/01/2015") self.venda = Venda(0,"13/01/2015",0,1)
def setUp(self): self.cliente_1 = Cliente("Tu", "Tua Residencia") self.cliente_2 = Cliente("Ela", "Residencia dela") self.produto = Produto('Samsung Galaxy', 'SAMSUNG', 'I8150', 5) self.produto.inserir_numeros_de_serie(["HWWx3", "HXD#F","LKJ#2","LKJ#3","L45#2"]) self.venda = Venda("Tu", "Tua Residencia",'Samsung Galaxy', 'SAMSUNG', 'I8150', "29/10/2012")
CEP = "11111-111" TELEFONE = "(11) 1111-1111" OBSERVACAO = "Obs 1" CNPJ = "11.111.111/1111-11" INSCRICAO_ESTADUAL = "123456789" ccf = "1234" coo = "123456" datahora = datetime.datetime(2020, 10, 27, 9, 20, 15) # Venda sem itens ------------------------- endereco_completo = cupom.Endereco(LOGRADOURO, NUMERO, COMPLEMENTO, BAIRRO, MUNICIPIO, ESTADO, CEP) loja_completa = cupom.Loja(NOME_LOJA, endereco_completo, TELEFONE, OBSERVACAO, CNPJ, INSCRICAO_ESTADUAL) TEXTO_ESPERADO_VENDA_SEM_ITENS = "O campo item da venda é obrigatório" v_sem_itens = Venda(loja_completa, datahora, ccf, coo) def valida_impressao(mensagem_esperada, venda): with pytest.raises(Exception) as excinfo: venda.imprimir_cupom() the_exception = excinfo.value assert mensagem_esperada == str(the_exception) def test_venda_sem_itens(): valida_impressao( TEXTO_ESPERADO_VENDA_SEM_ITENS, v_sem_itens ) # Venda com dois itens (mesmo produto) -------------------------
def test_esta_na_garantia(self): self.venda = Venda("Ela", "Casa dela","Samsung Galaxy", "SAMSUNG", "I8150", "26/10/2012") self.venda.fazer_venda() self.venda.lista_vendas_1[0].nome_cli |should| equal_to("Ela") self.venda.lista_vendas_1[0].descricao_prod |should| equal_to('Samsung Galaxy') self.venda.consultar_garantia("26/10/2012") |should| equal_to("Ainda está na garantia!")
def test_esta_fora_da_garantia(self): self.venda = Venda("Ela", "Casa dela","Samsung Galaxy", "SAMSUNG", "I8150", "26/10/2012") self.venda.fazer_venda() self.venda.consultar_garantia("26/10/2016") |should| equal_to("Esta fora da garantia")
def test_impossivel_vender_produto_so_tem_no_mostruario(self): venda = Venda("Ela", "Casa dela","Samsung Galaxy", "SAMSUNG", "I8150", "26/10/2012") venda.fazer_venda() venda.fazer_venda() venda.fazer_venda() |should| equal_to("impossivel vender")
from venda import Venda from item_vendido import ItemVendido from produto import Produto if __name__ == '__main__': leite_condensado: Produto = Produto(nome="leite moça", valor_unitario=6.50) nescau: Produto = Produto(nome="nescau 150ml", valor_unitario=1.50) venda: Venda = Venda() venda.adicionar_item_na_compra( ItemVendido(produto=leite_condensado, quantidade_unidades_compradas=2)) venda.adicionar_item_na_compra( ItemVendido(produto=nescau, quantidade_unidades_compradas=10)) valor_final = venda.calcular_valor_total_da_venda() print(f"o valor total da compra foi: {valor_final}")
def venda(self): Venda(self)
CEP:11111-111 Tel (11) 1111-1111 Obs 1 CNPJ: 11.111.111/1111-11 IE: 123456789''' def test_valida_numero_complemento_e_bairro(): assert LOJA_SEM_NUMERO_SEM_COMPLEMENTO_SEM_BAIRRO.dados_loja( ) == TEXTO_ESPERADO_SEM_NUMERO_SEM_COMPLEMENTO_SEM_BAIRRO ccf = "1234" coo = "123456" datahora = datetime.datetime(2020, 10, 27, 9, 20, 15) COO_VALIDACAO = Venda(LOJA_COMPLETA, datahora, ccf, "") CCF_VALIDACAO = Venda(LOJA_COMPLETA, datahora, "", coo) def test_valida_coo(): verifica_campo_obrigatorio_venda( "O Contador de Cupom Fiscal (COO) é obrigatório", COO_VALIDACAO) def test_valida_ccf(): verifica_campo_obrigatorio_venda( "O Contador de Cupom Fiscal (CCF) é obrigatório", CCF_VALIDACAO) def test_exercicio2_customizado():