def test_get_deve_retornar_200_e_cliente_quando_id_existir(client, db): cliente = ClienteFactory.build() cliente.__dict__.pop('_sa_instance_state') client.post(url_for('Cliente BP.adiciona'), json=cliente.__dict__) result = client.get(url_for('Cliente BP.busca', id=1)) assert result.status_code == 200 assert all(elem in result.json.keys() for elem in cliente.__dict__.keys())
def test_deve_retornar_um_cliente_em_dict_quando_passado_id_valido( self, client): cliente = ClienteFactory.build() client.post('/api/clientes', json=cliente.serialize()) retorno = client.get('/api/clientes/1') assert retorno.status_code == 200 assert retorno.json.keys() == cliente.serialize().keys()
def test_deve_retornar_um_vendedor_em_dict_quando_passado_id_valido( self, client): vendedor = VendedorFactory.build() client.post('/api/vendedores', json=vendedor.serialize()) retorno = client.get('/api/vendedores/1') assert retorno.status_code == 200 assert retorno.json.keys() == vendedor.serialize().keys()
def test_deve_retornar_um_produto_em_dict_quando_passado_id_valido( self, client): produto = ProdutoFactory.build() client.post('/api/produtos', json=copia_sem_sa_instance(produto.__dict__)) retorno = client.get('/api/produtos/1') assert retorno.status_code == 200 assert produto.serialize().keys() == retorno.json.keys()
def test_post_deve_retornar_201_e_cliente_criado(client, db): cliente = ClienteFactory.build() cliente.__dict__.pop('_sa_instance_state') result = client.post(url_for('Cliente BP.adiciona'), json=cliente.__dict__) assert result.status_code == 201 assert all(elem in result.json.keys() for elem in cliente.__dict__.keys()) assert 'id' in result.json
def test_deve_retornar_400_quando_usado_metodo_post_com_payload_incorreto( self, client): cliente2 = ClienteFactory.build() cliente2.numero = 'Dois' retorno2 = client.post("/api/clientes", json=cliente2.serialize()) assert 400 == retorno2.status_code assert 'Dois' in retorno2.json
def test_deve_retornar_201_e_objeto_criado_com_id_quando_usado_metodo_post_com_playload_correto( self, client): vendedor = VendedorFactory.build() retorno = client.post("/api/vendedores", json=vendedor.serialize()) assert 201 == retorno.status_code assert set(vendedor.serialize().keys()) and set(retorno.json.keys()) assert "vendedorid" in retorno.json.keys()
def test_deve_retornar_204_quando_objeto_deletado_com_sucesso( self, client): cliente = ClienteFactory.build() cliente_criado = client.post("/api/clientes", json=cliente.serialize()) retorno = client.delete( f"/api/clientes/{cliente_criado.json['clienteid']}") assert 204 == retorno.status_code
def test_delete_deve_permitir_delecao_de_cliente_existente(client, db): cliente = ClienteFactory.build() cliente.__dict__.pop('_sa_instance_state') cliente_criado = client.post(url_for('Cliente BP.adiciona'), json=cliente.__dict__).json result = client.delete( url_for('Cliente BP.deleta', id=cliente_criado.get("id"))) assert result.status_code == 204
def test_deve_retornar_201_e_objeto_criado_com_id_quando_usado_metodo_post_com_playload_correto( self, client): venda = VendaFactory.build() retorno = client.post("/api/vendas", json=copia_sem_sa_instance(venda.__dict__)) assert 201 == retorno.status_code assert set(venda.serialize().keys()) == set(retorno.json.keys()) assert "vendaid" in retorno.json.keys()
def test_post_deve_retornar_400_quando_informacoes_erradas_forem_enviadas( client, db): cliente = ClienteFactory.build() cliente.nome = None cliente.__dict__.pop('_sa_instance_state') result = client.post(url_for('Cliente BP.adiciona'), json=cliente.__dict__) assert result.status_code == 400 assert 'errors' in result.json
def test_put_deve_retornar_400_quando_nao_for_passado_dados(client, db): filme = FilmeFactory.build() filme.__dict__.pop('_sa_instance_state') filme_criado = client.post(url_for('Filme BP.adiciona'), json=filme.__dict__).json result = client.put(url_for('Filme BP.altera', id=filme_criado.get('id')), json={}) assert result.status_code == 400
def test_deve_retornar_201_e_objeto_criado_com_id_quando_usado_metodo_post_com_playload_correto( self, client): cliente = ClienteFactory.build() retorno = client.post("/api/clientes", json=cliente.serialize()) assert 201 == retorno.status_code assert [cliente.serialize().keys()] assert set(cliente.serialize().keys()) and set(retorno.json.keys()) assert "clienteid" in retorno.json.keys()
def test_deve_retornar_400_quando_usado_metodo_post_com_payload_incorreto( self, client): vendedor2 = VendedorFactory.build() vendedor2.cpf = 'Sete' retorno2 = client.post("/api/vendedores", json=vendedor2.serialize()) assert 400 == retorno2.status_code assert 'Sete' in retorno2.json
def test_deve_retornar_400_quando_usado_metodo_post_com_payload_incorreto( self, client): produto = ProdutoFactory.build() produto.peso = 'Um Quilo' retorno = client.post("/api/produtos", json=copia_sem_sa_instance(produto.__dict__)) assert 400 == retorno.status_code assert 'Um Quilo' in retorno.json
def test_deve_retornar_204_quando_objeto_deletado_com_sucesso( self, client): vendedor = VendedorFactory.build() vendedor_criada = client.post("/api/vendedores", json=vendedor.serialize()).json retorno = client.delete( f"/api/vendedores/{vendedor_criada.get('vendedorid')}") assert 204 == retorno.status_code
def test_deve_retornar_204_quando_objeto_deletado_com_sucesso( self, client): venda = VendaFactory.build() venda_criada = client.post("/api/vendas", json=copia_sem_sa_instance( venda.__dict__)).json retorno = client.delete(f"/api/vendas/{venda_criada.get('vendaid')}") assert 204 == retorno.status_code
def test_deve_retornar_400_quando_usado_metodo_post_com_payload_incorreto( self, client): venda2 = VendaFactory.build() venda2.clienteid = 'Sete' retorno2 = client.post("/api/vendas", json=copia_sem_sa_instance(venda2.__dict__)) assert 400 == retorno2.status_code assert 'Sete' in retorno2.json
def test_put_deve_retornar_400_quando_nao_for_passado_dados(client, db): cliente = ClienteFactory.build() cliente.__dict__.pop('_sa_instance_state') cliente_criado = client.post(url_for('Cliente BP.adiciona'), json=cliente.__dict__).json result = client.put(url_for('Cliente BP.altera', id=cliente_criado.get("id")), json={}) assert result.status_code == 400
def test_deve_retornar_400_quando_tipos_invalidos_forem_enviados( self, client): cliente = ClienteFactory.build() cliente_criado = client.post("/api/clientes", json=cliente.serialize()) valores_a_alterar = {'name': 'Paulo', 'age': '27'} retorno = client.put( f"/api/clientes/{cliente_criado.json.get('clienteid')}", json=valores_a_alterar) assert 400 == retorno.status_code
def test_deve_retornar_204_quando_objeto_deletado_com_sucesso( self, client): produto = ProdutoFactory.build() produto_criado = client.post("/api/produtos", json=copia_sem_sa_instance( produto.__dict__)).json retorno = client.delete( f"/api/produtos/{produto_criado.get('produtoid')}") assert 204 == retorno.status_code
def test_deve_retornar_201_e_objeto_criado_com_id_quando_usado_metodo_post_com_playload_correto( self, client): produto = ProdutoFactory.build() retorno = client.post("/api/produtos", json=copia_sem_sa_instance(produto.__dict__)) assert 201 == retorno.status_code assert set(copia_sem_sa_instance(produto.__dict__).keys()) and set( retorno.json.keys()) assert "produtoid" in retorno.json.keys()
def test_deve_retornar_200_e_objeto_alterado_quando_alterado_com_sucesso( self, client): cliente = ClienteFactory.build() cliente_criado = client.post("/api/clientes", json=cliente.serialize()) cliente.nome = 'João' retorno = client.put( f"/api/clientes/{cliente_criado.json['clienteid']}", json=cliente.serialize()) assert 200 == retorno.status_code assert cliente_criado.json.keys() == retorno.json.keys() assert cliente.nome == retorno.json.get('nome')
def test_deve_retornar_200_e_objeto_alterado_quando_alterado_com_sucesso( self, client): vendedor = VendedorFactory.build() valores_a_alterar = VendedorFactory.build() vendedor_criada = client.post("/api/vendedores", json=vendedor.serialize()).json retorno = client.put( f"/api/vendedores/{vendedor_criada.get('vendedorid')}", json=valores_a_alterar.serialize()) assert 200 == retorno.status_code assert valores_a_alterar.nome == retorno.json.get('nome')
def test_deve_retornar_200_e_objeto_alterado_quando_alterado_com_sucesso( self, client): produto = ProdutoFactory.build() produto_criado = client.post("/api/produtos", json=copia_sem_sa_instance( produto.__dict__)).json valores_a_alterar = ProdutoFactory.build() retorno = client.put( f"/api/produtos/{produto_criado.get('produtoid')}", json=copia_sem_sa_instance(valores_a_alterar.__dict__)) assert 200 == retorno.status_code assert produto_criado.keys() == retorno.json.keys()
def test_deve_retornar_um_venda_em_dict_quando_passado_id_valido( self, client): venda = VendaFactory.build() venda.clienteid = 1 db.session.add(ClienteFactory.build()) db.session.commit() venda_criada = client.post('/api/vendas', json=copia_sem_sa_instance( venda.__dict__)).json retorno = client.get(f'/api/vendas/{venda_criada.get("vendaid")}') assert retorno.status_code == 200 assert retorno.json.keys() == venda.serialize().keys()
def test_deve_retornar_200_e_objeto_alterado_quando_alterado_com_sucesso( self, client): venda = VendaFactory.build() valores_a_alterar = VendaFactory.build() venda_criada = client.post("/api/vendas", json=copia_sem_sa_instance( venda.__dict__)).json retorno = client.put(f"/api/vendas/{venda_criada.get('vendaid')}", json=copia_sem_sa_instance( valores_a_alterar.__dict__)) assert 200 == retorno.status_code assert venda_criada.keys() == retorno.json.keys()
def test_deve_retornar_400_quando_tipos_invalidos_forem_enviados( self, client): produto = ProdutoFactory.build() produto_criado = client.post("/api/produtos", json=copia_sem_sa_instance( produto.__dict__)).json valores_a_alterar = ProdutoFactory.build() valores_a_alterar.peso = 'Um quilo' retorno = client.put( f"/api/produtos/{produto_criado.get('produtoid')}", json=copia_sem_sa_instance(valores_a_alterar.__dict__)) assert 400 == retorno.status_code assert 'Um quilo' in retorno.json
def test_deve_retornar_400_quando_tipos_invalidos_forem_enviados( self, client): vendedor = VendedorFactory.build() valores_a_alterar = VendedorFactory.build() valores_a_alterar.cpf = 'Sete' vendedor_criada = client.post("/api/vendedores", json=vendedor.serialize()).json retorno = client.put( f"/api/vendedores/{vendedor_criada.get('vendedorid')}", json=valores_a_alterar.serialize()) assert 400 == retorno.status_code assert 'Sete' in retorno.json
def test_put_deve_retornar_200_e_filme_alterado(client, db): filme = FilmeFactory.build() filme.__dict__.pop('_sa_instance_state') filme_criado = client.post(url_for('Filme BP.adiciona'), json=filme.__dict__).json filme_criado['titulo'] = 'Novo titulo' result = client.put(url_for('Filme BP.altera', id=filme_criado.get('id')), json=filme_criado) assert result.status_code == 200 assert result.json['id'] == filme_criado['id'] assert result.json['titulo'] == filme_criado['titulo']