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")
예제 #2
0
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
예제 #3
0
 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!")
예제 #4
0
    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")
예제 #5
0
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
        )
예제 #6
0
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")
예제 #8
0
 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.')
예제 #10
0
    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()
예제 #11
0
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)
예제 #12
0
 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!!!')
예제 #13
0
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
    )
예제 #14
0
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
    )
예제 #15
0
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)
예제 #16
0
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))
예제 #17
0
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()
예제 #18
0
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")
예제 #19
0
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)
예제 #20
0
파일: app.py 프로젝트: murillohl/ASA
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)
예제 #21
0
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")
예제 #22
0
파일: app.py 프로젝트: izabellanery/ASA
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()
예제 #24
0
 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)
예제 #25
0
 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")
예제 #26
0
 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")
예제 #27
0
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":
예제 #28
0
 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)
예제 #29
0
	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")
예제 #30
0
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")
예제 #34
0
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}")
예제 #35
0
 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():