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): 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_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_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): venda = VendaFactory.build() valores_a_alterar = VendaFactory.build() valores_a_alterar.vendedorid = 'Sete' 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 400 == retorno.status_code assert 'Sete' in retorno.json
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_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_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_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_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_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_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()