Esempio n. 1
0
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())
Esempio n. 2
0
    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()
Esempio n. 4
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()
Esempio n. 5
0
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
Esempio n. 6
0
    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()
Esempio n. 8
0
    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
Esempio n. 9
0
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
Esempio n. 10
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()
Esempio n. 11
0
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
Esempio n. 12
0
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
Esempio n. 13
0
    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()
Esempio n. 14
0
    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
Esempio n. 15
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
Esempio n. 16
0
    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
Esempio n. 17
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
Esempio n. 18
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
Esempio n. 19
0
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
Esempio n. 20
0
    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
Esempio n. 21
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
Esempio n. 22
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()
Esempio n. 23
0
    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')
Esempio n. 24
0
    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')
Esempio n. 25
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()
Esempio n. 26
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()
Esempio n. 27
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()
Esempio n. 28
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
Esempio n. 29
0
    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
Esempio n. 30
0
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']