Beispiel #1
0
def test_finalizar_uma_tarefa_com_sucesso_deve_receber_codigo_200(client):
    id = '44bc2282-8735-4514-afb7-3f303b90d6bf'
    tarefa = {'id': id, 'titulo': 'titulo', 'descricao': 'descricao'}
    TAREFAS.append(tarefa)
    resposta = client.patch(f'/tarefas/{id}', json={'estado': 'finalizado'})
    assert resposta.status_code == status.HTTP_200_OK
    TAREFAS.clear()
Beispiel #2
0
def test_listagem_deve_ser_ordenada_por_estado(client):
    tarefa1 = {
        'titulo': 'titulo1',
        'descricao': 'descricao1',
        'estado': 'não finalizado'
    }
    tarefa2 = {
        'titulo': 'titulo2',
        'descricao': 'descricao2',
        'estado': 'finalizado'
    }
    tarefa3 = {
        'titulo': 'titulo3',
        'descricao': 'descricao3',
        'estado': 'não finalizado'
    }
    tarefa4 = {
        'titulo': 'titulo4',
        'descricao': 'descricao4',
        'estado': 'finalizado'
    }

    TAREFAS.append(tarefa1)
    TAREFAS.append(tarefa2)
    TAREFAS.append(tarefa3)
    TAREFAS.append(tarefa4)
    resposta = client.get('/tarefas')
    assert resposta.json() == [tarefa2, tarefa4, tarefa1, tarefa3]
    TAREFAS.clear()
Beispiel #3
0
def test_quando_criar_uma_tarefa_esta_deve_ser_persistida():
    cliente = TestClient(app)
    tarefa = {"titulo": "titulo", "descricao": "descricao"}
    resposta = cliente.post("/tarefas", json=tarefa)
    assert resposta.status_code == HTTP_201_CREATED
    assert len(TAREFAS) == 1
    TAREFAS.clear()
Beispiel #4
0
def test_quando_deletar_deve_retorna_status_code_204(client):
    id = '44bc2282-8735-4514-afb7-3f303b90d6bf'
    tarefa = {'id': id, 'titulo': 'titulo', 'descricao': 'descricao'}
    TAREFAS.append(tarefa)
    resposta = client.delete(f'/tarefas/{id}')
    assert resposta.status_code == status.HTTP_204_NO_CONTENT
    TAREFAS.clear()
Beispiel #5
0
def test_quando_criar_uma_tarefa_seu_id_deve_ser_unico(client):
    tarefa1 = {'titulo': 'titulo1', 'descricao': 'descricao1'}
    tarefa2 = {'titulo': 'titulo2', 'descricao': 'descricao2'}
    resposta1 = client.post('/tarefas', json=tarefa1)
    resposta2 = client.post('/tarefas', json=tarefa2)
    assert resposta1.json()['id'] != resposta2.json()['id']
    TAREFAS.clear()
Beispiel #6
0
def test_quando_criar_uma_tarefa_seu_id_deve_Ser_unico():
    cliente = TestClient(app)
    tarefa1 = {"titulo": "titulo1", "descricao": "descricao1"}
    tarefa2 = {"titulo": "titulo2", "descricao": "descricao2"}
    resposta1 = cliente.post("/tarefas", json=tarefa1)
    resposta2 = cliente.post("/tarefas", json=tarefa2)
    assert resposta1.json()["id"] != resposta2.json()["id"]
    TAREFAS.clear()
Beispiel #7
0
def test_detalhar_uma_tarefa_deve_retornar_codigo_200_se_existir_uma_tarefa_valida(
        client):
    id = '44bc2282-8735-4514-afb7-3f303b90d6bf'
    tarefa = {'id': UUID(id), 'titulo': 'titulo', 'descricao': 'descricao'}
    TAREFAS.append(tarefa)
    resposta = client.get(f'/tarefas/{id}')
    assert resposta.status_code == status.HTTP_200_OK
    TAREFAS.clear()
def test_quando_deletar_uma_tarefa_existente_deve_retornar_204():
    client = TestClient(app)
    tarefa = {"titulo": "titulo1", "descricao": "descricao1"}
    cria = client.post("/tarefas", json=tarefa)
    id = cria.json()['id']
    resposta = client.delete(f"/tarefas/{id}")
    assert resposta.status_code == 204
    TAREFAS.clear()
Beispiel #9
0
def test_descrição_da_tarefa_pode_conter_no_maximo_140_caracteres(client):
    resposta = client.post('/tarefas',
                           json={
                               "titulo": "titulo",
                               "descricao": "*" * 141
                           })
    assert resposta.status_code == status.HTTP_422_UNPROCESSABLE_ENTITY
    TAREFAS.clear()
def test_quando_deletar_uma_tarefa_inexistente_deve_retornar_404():
    client = TestClient(app)
    # tarefas_teste = [{"titulo": "titulo1", "descricao": "descricao1"},
    #                  {"titulo": "titulo2", "descricao": "descricao2"}]
    # for tarefa_cria in tarefas_teste:
    #     client.post("/tarefas", json=tarefa_cria)
    resposta = client.delete("/tarefas/a54a631a658dsa98asdf987sdf")
    assert resposta.status_code == 404
    TAREFAS.clear()
def test_descricao_da_tarefa_pode_conter_no_maximo_140_caracteres():
    cliente = TestClient(app)
    resposta = cliente.post("/tarefas",
                            json={
                                "titulo": "titulo",
                                "descicao": "*" * 141
                            })
    assert resposta.status_code == 422
    TAREFAS.clear()
Beispiel #12
0
def test_finalizar_uma_tarefa_deve_modificar_a_lista_de_tarefas(client):
    id = '44bc2282-8735-4514-afb7-3f303b90d6bf'
    tarefa = {'id': id, 'titulo': 'titulo', 'descricao': 'descricao'}
    TAREFAS.append(tarefa)
    resposta = client.patch(f'/tarefas/{id}', json={'estado': 'finalizado'})
    tarefa_esperada = dict(tarefa)
    tarefa_esperada.update({'estado': 'finalizado'})
    assert tarefa_esperada in TAREFAS
    TAREFAS.clear()
Beispiel #13
0
def test_finalizar_uma_tarefa_deve_retornar_tarefa_modificada(client):
    id = '44bc2282-8735-4514-afb7-3f303b90d6bf'
    tarefa = {'id': id, 'titulo': 'titulo', 'descricao': 'descricao'}
    TAREFAS.append(tarefa)
    resposta = client.patch(f'/tarefas/{id}', json={'estado': 'finalizado'})
    tarefa_esperada = tarefa
    tarefa_esperada.update({'estado': 'finalizado'})
    assert resposta.json() == tarefa_esperada
    TAREFAS.clear()
Beispiel #14
0
def test_apagar_quando_não_houver_tarefa_com_o_código_retorna_status_code_404(
        client):
    id = '44bc2282-8735-4514-afb7-3f303b90d6bf'
    tarefa = {'id': id, 'titulo': 'titulo', 'descricao': 'descricao'}
    TAREFAS.append(tarefa)
    id_apagar = '12bc2282-8735-4514-afb7-3f303b90d6bf'
    resposta = client.delete(f'/tarefas/{id_apagar}')
    assert resposta.status_code == status.HTTP_404_NOT_FOUND
    TAREFAS.clear()
Beispiel #15
0
def test_quando_criar_uma_tarefa_a_mesma_deve_ser_retornada(client):
    tarefa = {
        'titulo': 'titulo',
        'descricao': 'descricao',
        'estado': 'não finalizado'
    }
    resposta = client.post('/tarefas', json=tarefa)
    resposta_sem_id = resposta.json()
    del resposta_sem_id['id']
    assert tarefa == resposta_sem_id
    TAREFAS.clear()
def test_quando_criar_uma_tarefa_a_mesma_deve_ser_retornada():
    cliente = TestClient(app)
    tarefa = {"titulo": "titulo", "descricao": "descricao"}
    resposta = cliente.post("/tarefas", json=tarefa)
    copia_resposta = resposta.json()
    excluir = ['id', 'estado']
    for exc in excluir:
        copia_resposta.pop(exc)
    print(copia_resposta)
    assert copia_resposta == tarefa
    TAREFAS.clear()
Beispiel #17
0
def test_deve_listar_tarefas():
    tarefa = {
        "id": 1,
        "titulo": "titulo",
        "descricao": "descricao",
        "estado": "finalizado",
    }
    TAREFAS.append(tarefa)
    cliente = TestClient(app)
    resposta = cliente.get("/tarefas")
    assert resposta.json() == [tarefa]
    TAREFAS.clear()
Beispiel #18
0
def test_detalhar_uma_tarefa_deve_retornar_uma_tarefa(client):
    id = '44bc2282-8735-4514-afb7-3f303b90d6bf'
    tarefa_base = {
        'titulo': 'titulo',
        'descricao': 'descricao',
        'estado': 'não finalizado'
    }
    tarefa_persistida = {'id': UUID(id), **tarefa_base}
    tarefa_esperada = {'id': id, **tarefa_base}
    TAREFAS.append(tarefa_persistida)
    resposta = client.get(f'/tarefas/{id}')
    assert resposta.json() == tarefa_esperada
    TAREFAS.clear()
Beispiel #19
0
def test_quando_uma_tarefa_e_submetida_deve_possuir_um_titulo(client):
    resposta = client.post('/tarefas', json={})
    assert resposta.status_code == status.HTTP_422_UNPROCESSABLE_ENTITY
    TAREFAS.clear()
Beispiel #20
0
def test_quando_criar_uma_tarefa_codigo_de_status_retornado_deve_ser_201():
    cliente = TestClient(app)
    tarefa = {"titulo": "titulo", "descricao": "descricao"}
    resposta = cliente.post("/tarefas", json=tarefa)
    assert resposta.status_code == HTTP_201_CREATED
    TAREFAS.clear()
Beispiel #21
0
def test_quando_listar_tarefas_a_tarefa_retornada_deve_possuir_descricao(
        client):
    TAREFAS.append({'descricao': 'descricao 1'})
    resposta = client.get('/tarefas')
    assert 'descricao' in resposta.json().pop()
Beispiel #22
0
def test_quando_listar_tarefas_a_tarefa_retornada_deve_possuir_estado(client):
    TAREFAS.append({'estado': 'finalizado'})
    resposta = client.get('/tarefas')
    assert 'estado' in resposta.json().pop()
    TAREFAS.clear()
Beispiel #23
0
def test_quando_criar_uma_tarefa_seu_estado_padrao_e_nao_finalizado():
    cliente = TestClient(app)
    tarefa = {"titulo": "titulo", "descricao": "descricao"}
    resposta = cliente.post("/tarefas", json=tarefa)
    assert resposta.json()["estado"] == "não finalizado"
    TAREFAS.clear()
Beispiel #24
0
def test_recurso_tarefas_deve_aceita_verbo_post(client):
    resposta = client.post('/tarefas')
    assert resposta.status_code != status.HTTP_405_METHOD_NOT_ALLOWED
    TAREFAS.clear()
def test_titulo_da_tarefa_deve_possuir_maximo_50_caracteres():
    cliente = TestClient(app)
    resposta = cliente.post("/tarefas", json={"titulo": 51 * "*"})
    assert resposta.status_code == 422
    TAREFAS.clear()
def test_quando_uma_tarefa_e_submetida_deve_possuir_um_titulo():
    cliente = TestClient(app)
    resposta = cliente.post("/tarefas", json={})
    assert resposta.status_code == 422
    TAREFAS.clear()
def test_recurso_tarefas_deve_aceitar_o_verbo_post():
    cliente = TestClient(app)
    resposta = cliente.post("/tarefas")
    assert resposta.status_code != 405
    TAREFAS.clear()
def test_quando_listar_tarefas_a_tarefa_retornada_deve_possuir_descricao():
    TAREFAS.append({"descricao": "descricao 1"})
    cliente = TestClient(app)
    resposta = cliente.get("/tarefas")
    assert "descricao" in resposta.json().pop()
    TAREFAS.clear()
def test_quando_listar_tarefas_a_tarefa_retornada_deve_possuir_um_estado():
    TAREFAS.append({"estado": "finalizado"})
    cliente = TestClient(app)
    resposta = cliente.get("/tarefas")
    assert "estado" in resposta.json().pop()
    TAREFAS.clear()
Beispiel #30
0
def test_titulo_da_tarefa_deve_conter_entre_3_e_50_caracteres(client):
    resposta = client.post('/tarefas', json={'titulo': 2 * '*'})
    assert resposta.status_code == status.HTTP_422_UNPROCESSABLE_ENTITY
    resposta = client.post('/tarefas', json={'titulo': 51 * '*'})
    assert resposta.status_code == status.HTTP_422_UNPROCESSABLE_ENTITY
    TAREFAS.clear()