def produto_onchange(self, record): result = record.copy() product = Produto().get(key=record['produto']) if len(product) != 0: product = product[0] for key in ['quantidade', 'valor_unitario', 'valor_total']: record[key] = to_decimal(record[key]) if record[key] <= to_decimal(0): record[key] = to_decimal(1) if to_decimal(record['desconto']) > to_decimal(0): desconto = (100-to_decimal(record['desconto']))/100 else: desconto = to_decimal(1) desconto = to_decimal(desconto) quantidade = to_decimal(record['quantidade']) unidade = record['unidade'] if not record['unidade']: unidade = product['unidade_medida_compra'] terminal = terminal_id result['valor_unitario'] = Produto().get_sale_price(product['id'], terminal, quantidade, unidade)#fazer a funcao de preço de compra result['valor_total'] = quantidade * result['valor_unitario'] * desconto result['iva'] = product['iva'] result['unidade'] = unidade #este result['direito_deducao'] = product['deducao'] else: result={} return result
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 ean_onchange(self, record): result = record.copy() product = Produto(where='referencia = {ean}'.format(ean=record['ean'])).get() if len(product) != 0: product = product[0] for key in ['quantidade', 'valor_unitario', 'valor_total']: result[key]= to_decimal(result[key]) if result[key] <= to_decimal(0): result[key] = to_decimal(1) if to_decimal(result['desconto']) > to_decimal(0): desconto = to_decimal((100-to_decimal(result['desconto']))/100) else: desconto = to_decimal(1) unidade = record['unidade'] if not record['unidade']: unidade = product['unidade_medida_compra'] result['valor_unitario'] = to_decimal(Produto().get_sale_price(produto=product['id'], quantidade=result['quantidade'], unidade=unidade, terminal = get_terminal('MiniMercado'))) result['valor_total'] = to_decimal(result['quantidade']) * result['valor_unitario'] * desconto result['iva'] = to_decimal(product['iva']) result['unidade'] = product['unidade_medida_padrao'] result['produto'] = product['id'] #este result['direito_deducao'] = product['deducao'] else: result = {} return result
def iniciar(self): '''Enviar 3 produtos e listar os produtos no banco de dados (recebidos do servidor)''' try: with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: s.connect((HOST, PORT)) print("Conectado!") C1 = Cor('verde') C2 = Cor('branco') C3 = Cor('preto') P1 = Produto(1, 'produto1', 200, [C1, C3]) P2 = Produto(2, 'produto2', 300, [C1, C2]) P3 = Produto(3, 'produto3', 400, [C2, C3]) #Enviar/adicionar produtos Cliente.enviarProduto(P1, s) Cliente.enviarProduto(P2, s) Cliente.enviarProduto(P3, s) # Receber a lista do servidor L = Cliente.receberLista(s) print(L) #Fim Cliente.terminar(s) print('Fim do cliente') except Exception as E: print('Erro na conexao...{0}'.format(E))
def vender(): descricao = input("Informe a descricao da venda: ") Produto.exibir_produtos(True) produto_escolhido = mycolProduto.find( {"_id": ObjectId(input("Informe o ID do produto escolhido: "))}) Funcionario.exibir_funcionarios() funcionario_escolhido = mycolFuncionario.find({ "_id": ObjectId(input("Informe o ID do funcionario escolhido: ")) }) Cliente.exibir_clientes() cliente_escolhido = mycolCliente.find( {"_id": ObjectId(input("Informe o ID do cliente escolhido: "))}) data = date.today().strftime("%d/%m/%Y") data_saida_produto = { "$set": { "data_saida": date.today().strftime("%d/%m/%Y") } } mycolProduto.update_one(produto_escolhido[0], data_saida_produto) cli = cliente_escolhido[0] venda = { "descricao": descricao, "produto": [produto_escolhido[0]], "funcionario": funcionario_escolhido[0], "cliente": cli, "data": data } mycolVendas.insert_one(venda) return print("Venda realizada com sucesso!")
def gera_movimentos(self, key, window_id): if key in ['None', None]: key = get_actions(action='save', key=None, model_name=model.__model_name__, internal=True) record_id = key from produto import Produto from linha_distribuicao import LinhaDistribuicao produtos = Produto(where="para_distribuicao='True'").get() if len(produtos) > 0: for produto in produtos: valor_unitario = to_decimal(Produto().get_sale_price( produto=produto['id'], quantidade=to_decimal('1'), unidade=produto['unidade_medida_padrao'], terminal=get_terminal('Distribuicao'))) LinhaDistribuicao(distribuicao=record_id, ean=produto['referencia'], unidade=produto['unidade_medida_padrao'], valor_unitario=valor_unitario, iva=produto['iva'], valor_total=valor_unitario, quant_in=to_decimal('0'), quant_out=to_decimal('0'), user=session['user'], produto=produto['id']).put() return form_edit(key=key, window_id=window_id)
def main(): cli = Cliente(1, "Pablo Silva", 100, "200.100.345-35", 1) p1 = Produto(1, 100, "Feijão Tropeiro", 6.5) it1 = ItemNotaFiscal(1, 1, 1, p1) p2 = Produto(2, 200, "Feijao Preto", 6.5) it2 = ItemNotaFiscal(2, 2, 2, p2) p3 = Produto(3, 300, "Bolacha Fortaleza", 2.5) it3 = ItemNotaFiscal(3, 3, 1, p3) p4 = Produto(3, 300, "Bolacha Maria", 3) it4 = ItemNotaFiscal(4, 4, 2, p4) nf = NotaFiscal(1, 100, cli) nf.adicionarItem(it1) nf.adicionarItem(it2) nf.adicionarItem(it3) nf.adicionarItem(it4) nf.calcularNotaFiscal() nf.imprimirNotaFiscal()
def main(): cliente = Cliente(1, "José Simão da Silva", 1234, "200.100.345-34", 1) #informações do cliente p1 = Produto(1, 100, "Arroz Agulha", 5.50) #infomarções do produto e da compra do produto it1 = ItemNotaFiscal(1, 1, 10, p1) p2 = Produto(2, 200, "Feijao Mulatinho", 8.50) #infomarções do produto e da compra do produto it2 = ItemNotaFiscal(2, 2, 10, p2) p3 = Produto(3, 300, "Macarrao Fortaleza", 4.50) #infomarções do produto e da compra do produto it3 = ItemNotaFiscal(3, 3, 10, p3) nf = NotaFiscal(1, 100, cliente) nf.adicionarItem(it1) nf.adicionarItem(it2) nf.adicionarItem(it3) nf.calcularNotaFiscal() nf.imprimirNotaFiscal()
def main(): cli = Cliente(1, "Jose Maria", 100, "200.100.345-34", 1) p1 = Produto(1, 100, "Arroz Agulha", 5.5) it1 = ItemNotaFiscal(1, 1, 10, p1) p2 = Produto(2, 200, "Feijao Mulatinho", 8.5) it2 = ItemNotaFiscal(2, 2, 10, p2) p3 = Produto(3, 300, "Macarao Fortaleza", 4.5) it3 = ItemNotaFiscal(3, 3, 10, p3) nf = NotaFiscal(1, 100, cli) nf.adicionarItem(it1) nf.adicionarItem(it2) nf.adicionarItem(it3) nf.calcularNotaFiscal() #print("Valor Nota Fiscal= " + str(nf.valorNota)) nf.imprimirNotaFiscal()
def cadastro(nome, marca, valor, peso, quant): """ Cadsdtro de produto #>>> cadastro("notebook", "sony", 1000, 4, 10) #'Produto cadastrado com sucesso' """ produto = Produto(nome, marca, valor, peso, quant) print produto.__quantidade_maxima print produto.gravar("text")
class TestesProduto(unittest.TestCase): def setUp(self): self.sabonete = Produto("Dove", 1, 5) self.lapis = Produto("Lápis", 2, 1) self.caneta = Produto("Bic", 3, 2) self.tinteiro = Produto("Tinteiro", 3, 200) def test_produtosIguais(self): self.assertTrue(self.caneta.produtosIguais(self.tinteiro)) self.assertFalse(self.caneta.produtosIguais(self.sabonete))
def encher_carrinho(self): self.__l_carrinho.clear() while True: c_produto = str(input('Insira o nome do produto: ')).title() c_produto = Produto.produto_dados(c_produto) Produto.ver_estoque(c_produto) if c_produto: if c_produto.estoque: while True: cont = 0 quant = int( input( f'Quantidade de {c_produto.nome} X {c_produto.quant} : ' )) if quant > 0 and c_produto.quant >= quant: while cont < quant: cont += 1 self.l_carrinho.append(c_produto) break elif quant <= 0: print('Insira uma quantidade válida.') else: print( f'A quantidade pedida é maior que a quantidade em estoque.' ) print( f'O produto {c_produto.nome} tem em estoque {c_produto.quant} unidade(s).' ) op = int( input(f'1- Tentar novamente | 0- Cancelar: ')) if op != 1: break else: print('Produto faltando.') if not self.l_carrinho: op = int(input('1- Continuar comprando | 0- Sair: ')) if op == 0: break else: op = int( input( '1- Continuar Comprando | 2- Ir para o Caixa | 0- Desfazer Carrinho: ' )) if op == 2: comprar = Compra(self) comprar.comprar() break elif op == 0: self.l_carrinho.clear() break
def inserir(self, produto: Produto): if produto.tipo == 'fruta': produto.id_tipo = 1 elif produto.tipo == 'verdura': produto.id_tipo = 2 else: produto.id_tipo = 3 sql = f" insert into produto value (default, {produto.id_tipo}, '{produto.nome}', '{produto.valor}' )" self.cursor.execute(sql) self.conexao.commit()
def Confirmar(self, key, window_id): # Gera movimento de Stock (entra no armazem por contrapartida de fornecedores) self.kargs = get_model_record(model=self, key=key) self.kargs['estado'] = 'Confirmado' self.kargs['numero'] = base_models.Sequence().get_sequence('entrada') periodo = None from periodo import Periodo periodos = Periodo().get() for p in periodos: lista_datas = generate_dates(start_date=p['data_inicial'], end_date=p['data_final']) if str(format_date(self.kargs['data'])) in lista_datas: periodo = p['id'] from armazem import Armazem armazem_fornecedor = Armazem(where="tipo='fornecedor'").get()[0]['id'] from stock import Stock stock = Stock(data=self.kargs['data'], numero=base_models.Sequence().get_sequence('stock'), num_doc=self.kargs['numero'], descricao='Nossa Nota de Entrada', documento='entrada', periodo=periodo, estado='Confirmado', user=self.kargs['user']).put() from linha_entrada import LinhaEntrada record_lines = LinhaEntrada(where="entrada = '{entrada}'".format(entrada=self.kargs['id'])).get() if record_lines: from linha_stock import LinhaStock from produto import Produto for line in record_lines: quantidade = to_decimal(line['quantidade']) product = Produto().get(key=line['produto'])[0] descricao = product['nome'] LinhaStock(stock=stock, descricao=descricao, produto=line['produto'], armazem=self.kargs['armazem'], quant_saida=to_decimal(0), quant_entrada=quantidade, user=self.kargs['user']).put() LinhaStock(stock=stock, descricao=descricao, produto=line['produto'], armazem=armazem_fornecedor, quant_saida=quantidade, quant_entrada=to_decimal(0), user=self.kargs['user']).put() self.put() ctx_dict = get_context(window_id) ctx_dict['main_key'] = self.kargs['id'] set_context(window_id, ctx_dict) return form_edit(window_id=window_id).show() else: return error_message('Não pode confirmar entradas sem linhas de Entrada! \n')
def listar_by_tipo_id(self, id_tipo): sql = f" select * from produto p , tipo_produto tp where p.fk_tipo_produto = tp.cd_tipo_produto and fk_tipo_produto = {id_tipo}" self.cursor.execute(sql) lista = [] for a in self.cursor.fetchall(): lista.append(Produto(a[2], a[5], a[3])) return lista
def save(self, event): codigo = self.codigoValue.get() if len(codigo) > 1: vendas = self.vendasValue.get() caixa = self.caixaValue.get() info = self.info.get("1.0", tk.END)[:-1] pdb[codigo] = Produto(codigo, caixa, info, vendas, datetime.now())
def main(): try: total = 0 maiores_mil = 0 mais_barato = None produtos = [] leitura = '' i = 0 while leitura != 'P': nome = input('Digite o nome do produto: ') preco = float(input('Digite o preco do produto: ').replace(',', '.')) produtos.append(Produto(nome, preco)) total += produtos[i].getPreco() if produtos[i].getPreco() > 1000: maiores_mil += 1 if mais_barato == None: mais_barato = produtos[i] elif preco < mais_barato.getPreco(): mais_barato = produtos[i] leitura = input('Se deseja continura insira qualquer tecla.\n' \ 'Se deseja parar o programa insira [P/p]: ').upper() i+=1 print(f'\nTotal gasto: {total} \nQuantos produtos custam mais que 1000:' f' {maiores_mil} \nProduto mais barato: {mais_barato.getNome()}') except ValueError: print('Dado invalido.')
def consultar(self): self.cursor.execute( "SELECT idProduto, codigo, descricao, valorUnitario FROM produto") resultados = self.cursor.fetchall() produtos = [] for linha in resultados: produtos.append(Produto(linha[0], linha[1], linha[2], linha[3])) return produtos
def find_all_produtos(): cursor.execute("SELECT * FROM Produto;") resultados = cursor.fetchall() produtos = [] for result in resultados: # Transforma o resultado em lista de produto produtos.append( Produto(result[0], result[1], float(result[2]), result[3])) return (produtos)
def busca_produtos_no_arquivo(): with open("produtos.txt") as arquivo: produtos = [] for linha in arquivo: linha = linha.split("|") produto = Produto(linha[0], linha[1], linha[2], linha[3].strip()) produtos.append(produto) arquivo.close() return produtos
def Confirmar(self, key, window_id): # Gera movimento contabilistico (conta de mercadorias contra conta de gastos) # Gera movimento de Stock (sai de armazem por contrapartida de cliente) if key in ['None', None]: key = get_actions(action='save', key=None, model_name=model.__model_name__, internal=True) record_id = key record = model.get(key=record_id)[0] record['user'] = session['user'] record['estado'] = 'Confirmado' record['numero'] = base_models.Sequence().get_sequence('quebra') from diario import Diario diario = Diario(where="tipo='stock'").get()[0]['id'] periodo = None from periodo import Periodo periodos = Periodo().get() for p in periodos: lista_datas = generate_dates(start_date=p['data_inicial'], end_date=p['data_final']) if str(format_date(record['data'])) in lista_datas: periodo = p['id'] if not periodo: return error_message('não existe periodo definido para a data em questão! \n') from armazem import Armazem armazem_cliente = Armazem(where="tipo='cliente'").get()[0]['id'] from movimento import Movimento movimento = Movimento(data=record['data'], numero=base_models.Sequence().get_sequence('movimento'), num_doc=record['numero'], descricao='Nosso Talão de Quebra', diario=diario, documento='quebra', periodo=periodo, estado='Confirmado', user=session['user'], active=False).put() from stock import Stock stock = Stock(data=record['data'], numero=base_models.Sequence().get_sequence('stock'), num_doc=record['numero'], descricao='Nosso Talão de Quebra', documento='quebra', periodo=periodo, estado='Confirmado', user=session['user']).put() Quebra(**record).put() from linha_quebra import LinhaQuebra record_lines = LinhaQuebra(where="quebra = '{quebra}'".format(quebra=record['id'])).get() if record_lines: from linha_movimento import LinhaMovimento from linha_stock import LinhaStock from produto import Produto from familia_produto import FamiliaProduto for line in record_lines: # tambem depois considerar a verificação se o total está bem calculado e logs se o preço unitário for modificado quantidade = to_decimal(line['quantidade']) product = Produto().get(key=line['produto'])[0] conta_mercadorias = product['conta_mercadorias'] conta_gastos = product['conta_gastos'] taxa_iva = product['iva'] armazem_vendas = None familia = FamiliaProduto().get(key=product['familia']) if familia: familia = familia[0] if familia['armazem_vendas']: armazem_vendas = familia['armazem_vendas'] descricao = product['nome'] total_sem_iva = line['valor_total']/(1+taxa_iva) LinhaMovimento(movimento=movimento, descricao=descricao, conta=conta_gastos, quant_debito=quantidade, debito=line['valor_total'], quant_credito=0.0, credito=0.0, user=session['user']).put() LinhaMovimento(movimento=movimento, descricao=descricao, conta=conta_mercadorias, quant_debito=0.0, debito=0.0, quant_credito=quantidade, credito=line['valor_total'], user=session['user']).put() LinhaStock(stock=stock, descricao=descricao, produto=line['produto'], armazem=armazem_vendas, quant_saida=quantidade, quant_entrada=0.0, user=session['user']).put() LinhaStock(stock=stock, descricao=descricao, produto=line['produto'], armazem=armazem_cliente, quant_saida=0.0, quant_entrada=quantidade, user=session['user']).put() return form_edit(key = key, window_id = window_id) else: return error_message('Não pode confirmar talões sem linhas de Talão! \n')
def cadastrar(self): print('\n==================CADASTRO PRODUTO =======================') nome = input(' Informe o nome: ') marca = input('Informe a marca: ') quantidade = float(input("Informe a quantidade: ")) valor = float(input('Informe o valor: ')) produto_novo = Produto(nome, marca, quantidade, valor)
def cadastrarProdutoCarrinho(self): carrinho = Carrinho() user = Usuarios() produto = Produto() user.autenticaUser(self.txtusuario.get(), self.txtsenha.get()) produto.selectProduto(0, self.txtproduto.get()) carrinho.idusuario = user.idusuario carrinho.idproduto = produto.idproduto print(carrinho.idusuario, carrinho.idproduto) if carrinho.idusuario > 0 and carrinho.idproduto > 0: self.lblmsg3["text"] = carrinho.insertCarrinho( carrinho.idusuario, carrinho.idproduto) else: self.lblmsg3[ "text"] = "produto não inserido no carrinho, autentique o usuario e selecione o produto"
def CadastroGeral(listaProdutos): t = tenis.Tenis() t.set_modelo(validacao.validaCadastroModelo()) t.set_numeracao(validacao.validaCadastroNumeracao()) t.set_cor(validacao.validaCadastroCor()) prod = Produto() prod.set_quantidade(validacao.validaCadastroQuantidade()) prod.set_valor(validacao.validaCadastroValor()) prod.set_tenis(t) listaProdutos.append(prod)
def cadastrar_produtos(self): while True: nome = input( "Digite o nome do produto ou R para retornar ao Menu Inicial:") if nome == "R": break preco_unitario = float(input("Digite o preço do produto:")) self.produtos.append(Produto(nome, preco_unitario)) print("Ok! Próximo produto.")
def cadastrarProduto(): global produto req_data = request.get_json() id = len(produto) produto_desc = req_data['produto'] preco = req_data['preco'] new_produto = Produto(id, produto_desc, preco) produto.append(new_produto) res = {'status': 'ok'} return jsonify(res)
def produto(id=None): try: data = request.get_json() if request.method == 'POST': insert_produto( Produto(None, data['nome'], float(data['preco']), data['descricao'])) db_commit() return jsonify({'message': 'Sucesso'}), 201 if request.method == 'GET': # Retorna produtos if id != None: produto = find_produto(id) return jsonify({ 'message': '', 'produto': objeto_to_dicionario(produto) }) produtos = find_all_produtos( ) # "produtos" é do tipo object, é necessario converter para dict para ser serializado para json return jsonify({ 'message': '', 'produtos': objetos_to_dicionarios(produtos) }), 200 if request.method == 'DELETE': delete_produto(id) db_commit() return jsonify({'message': 'Sucesso'}), 200 if request.method == 'PUT': update_produto( id, Produto(data['codigo'], data['nome'], float(data['preco']), data['descricao'])) db_commit() return jsonify({'message': 'Sucesso'}), 200 except: # Erro de sintaxe do cliente db_rollback() return jsonify({'message': 'Erro'}), 400
def deletarProdutoCarrinho(self): carrinho = Carrinho() user = Usuarios() produto = Produto() carrinho.idusuario = self.user.log carrinho.idproduto = self.produto.idproduto self.lblmsg3["text"] = self.carrinho.deleteCarrinhoProduto( self.carrinho.idusuario, self.carrinho.idproduto) if self.lblmsg3["text"] == "delete carrinhoProduto sucesso": self.txtprodutocarrinho.delete(0, END)
def enviarProduto(self): '''Cria e envia um produto (aleatoriamente) usando o socket conn''' self._conn.send(b'adicionar') resposta = self._conn.recv(2048) print(resposta.decode()) cod = random.randint(1,10000) preco = random.randint(1,2000) P = Produto(cod, 'nome-' + str(cod), preco, [Cor('azul'), Cor('branco')]) self._conn.send(str.encode(json.dumps(P, cls=MyEncoder))) resposta = self._conn.recv(2048) print(resposta.decode())
def Adicionar(self, produtoInputModel): produto_itens = [] for produto_item in produtoInputModel['produto_itens']: codigo_insumo = produto_item['insumo']['codigo_insumo'] insumo = self.repositorio_insumo.ObterPorCodigo(codigo_insumo) quantidade = produto_item['quantidade'] produto_itens.append(ProdutoItem(insumo, quantidade)) produto = Produto(produtoInputModel['codigo_produto'], produtoInputModel['descricao'], produto_itens) self.produtos.append(produto) self.Salvar()
def consultar_por_nota(self, nota_id): self.cursor.execute( "SELECT i.idItemNotaFiscal, i.sequencial, i.quantidade, p.idProduto, p.codigo, p.descricao, p.valorUnitario FROM itemnotafiscal AS i JOIN produto AS p ON (p.idProduto = i.Produto_idProduto) WHERE i.NotaFiscal_idNotaFiscal = {}" .format(nota_id)) resultados = self.cursor.fetchall() itens = [] for linha in resultados: itens.append( ItemNotaFiscal(linha[0], linha[1], linha[2], Produto(linha[3], linha[4], linha[5], linha[6]))) return itens
def api_newProduto(): global myProduto req_data = request.get_json() id = req_data['id'] nome = req_data['nome'] preco = req_data['preco'] new_produto = Produto(id, nome, preco) myProduto.append(new_produto) res = {'status': 'ok'} return jsonify(res)
class ProdutoSpec(unittest.TestCase): def setUp(self): self.um_produto = Produto(10,'Toalha') def test_cadastrar_produto(self): #um_produto = Produto(10,'Toalha') self.um_produto.codigo |should| equal_to(10) self.um_produto.descricao |should| equal_to('Toalha') self.um_produto.estoque |should| equal_to(0) def test_incrementar_estoque(self): #self.um_produto = Produto(10,'Toalha') self.um_produto.incrementar_estoque(10) self.um_produto.incrementar_estoque(50) self.um_produto.estoque |should| equal_to(60) def test_decrementar_estoque(self): #self.um_produto = Produto(10,'Toalha') self.um_produto.incrementar_estoque(10) self.um_produto.decrementar_estoque(5) self.um_produto.estoque |should| equal_to(5) def test_listar_produtos(self): produto1 = Produto(1,'A') produto2 = Produto(2,'A') produto3 = Produto(3,'A') Produto.listar_produtos() |should| include(produto1)
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 setUp(self): self.um_produto = Produto(10,'Toalha')
def test_consultar_produto(self): produto = Produto('Samsung Galaxy W wonder', 'SAMSUNG', 'I8150', 3) produto.inserir_numeros_de_serie(["HWWx3", "HXD#F","LKJ#2"]) produto.consultar_produto() |should| equal_to(('Samsung Galaxy W wonder', 'SAMSUNG', 'I8150', 3))
def test_listar_produtos(self): produto1 = Produto(1,'A') produto2 = Produto(2,'A') produto3 = Produto(3,'A') Produto.listar_produtos() |should| include(produto1)
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 test_gerar_numero_de_serie_nao_deve_passar(self): produto = Produto('Samsung Galaxy W wonder', 'SAMSUNG', 'I8150', 3) produto.inserir_numeros_de_serie(["HWWx3", "HXD#F","LKJ#2", "4565"]) |should| equal_to("Quantidade acima ou abaixo do permitido")
def test_consultar_total_de_produtos_disponiveis_na_loja(self): produto_1 = Produto('IPHONE 5', 'APPLE', 'H2O9*', 3) produto_2 = Produto('Samsung Galaxy S3', 'SAMSUNG', 'BI9X40', 4) produto_1.total_de_aparelhos_disponiveis() |should| equal_to(10)
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_verificar_quantidade_de_aparelhos(self): produto_1 = Produto('Samsung Galaxy SE', 'SAMSUNG', 'I9140', 10) produto_1.disponibilidade_do_aparelho("SAMSUNG", "I9140") |should| equal_to(10)
def cadastrarProduto(descricao, preco, codigoFornecedor): produto1 = Produto() return produto1.cadastrarProduto(descricao, preco, codigoFornecedor)
def deletarProduto(codigoProduto): produto2 = Produto() return produto2.deletarProduto(codigoProduto)