示例#1
0
    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()
示例#2
0
    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()
示例#3
0
    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
示例#4
0
    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()
示例#5
0
    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
示例#6
0
    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()
示例#7
0
    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
示例#8
0
    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()
示例#9
0
    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
示例#10
0
    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
示例#11
0
    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
示例#12
0
    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()