Example #1
0
def test_atualizando_uma_tarefa_com_campos_invalidos():
    tarefas.clear()
    tarefas.append({
        'id': 1,
        'titulo': 'titulo',
        'descricao': 'descricao',
        'estado': False
    })
    cliente = app.test_client()
    # sem estado
    resposta = cliente.put('/tarefa/1',
                           data=json.dumps({
                               'titulo': 'titulo atualizado',
                               'decricao': 'descricao atualizada'
                           }),
                           content_type='application/json')
    assert resposta.status_code == 400
    # sem descrição
    resposta = cliente.put('/tarefa/1',
                           data=json.dumps({
                               'titulo': 'titulo atualizado',
                               'estado': False
                           }),
                           content_type='application/json')
    assert resposta.status_code == 400
    # sem titulo
    resposta = cliente.put('/tarefa/1',
                           data=json.dumps({
                               'descricao': 'descricao atualizado',
                               'estado': False
                           }),
                           content_type='application/json')
    assert resposta.status_code == 400
Example #2
0
def test_lista_de_tarefas_nao_vazia_retorna_conteudo():
    tarefas.append({'id': 1, 'titulo': 'tarefa 1','descricao': 'tarefa de numero 1', 'estado': False})
    with app.test_client() as client:
        response = client.get('/tarefas')
        assert response.data == (b'[\n  {\n    "descricao": '
                                 b'"tarefa de numero 1", \n    '
                                 b'"estado": false, \n    '
                                 b'"id": 1, \n    '
                                 b'"titulo": "tarefa 1"\n  }\n]\n')
Example #3
0
def test_remover_tarefa_existente_remove_tarefa_da_lista():
    tarefas.clear()
    tarefas.append({
        'id': 1,
        'titulo': 'titulo',
        'descricao': 'descricao',
        'estado': False
    })
    cliente = app.test_client()
    cliente.delete('/task/1', content_type='application/json')
    assert len(tarefas) == 0
Example #4
0
def test_remover_tarefa_existente_retorna_204():
    tarefas.clear()
    tarefas.append({
        'id': 1,
        'titulo': 'titulo',
        'descricao': 'descricao',
        'estado': False
    })
    cliente = app.test_client()
    resposta = cliente.delete('/task/1', content_type='application/json')
    assert resposta.status_code == 204
    assert resposta.data == b''
Example #5
0
def test_lista_de_tarefas_nao_vazia_retorna_conteudo():
    tarefas.append({
        'id': 1,
        'titulo': 'tarefa 1',
        'descricao': 'tarefa de numero 1',
        'estado': False
    })
    with app.test_client() as cliente:
        resposta = cliente.get('/task')
        assert resposta.data == (b'[{"descricao":'
                                 b'"tarefa de numero 1",'
                                 b'"estado":false,'
                                 b'"id":1,'
                                 b'"titulo":"tarefa 1"}]\n')
Example #6
0
def test_detalhar_tarefa_existente():
    tarefas.clear()
    tarefas.append({
        'id': 1,
        'titulo': 'titulo',
        'descricao': 'descricao',
        'entregue': False
    })
    cliente = app.test_client()
    resposta = cliente.get('/task/1', content_type='application/json')
    data = json.loads(resposta.data.decode('utf-8'))
    assert resposta.status_code == 200
    assert data['id'] == 1
    assert data['titulo'] == 'titulo'
    assert data['descricao'] == 'descricao'
    assert data['entregue'] is False
Example #7
0
def test_listar_tarefas_deve_apresentar_tarefas_nao_finalizadas_primeiro():
    tarefas.clear()
    tarefas.append({
        'id': 1,
        'titulo': 'tarefa 1',
        'descricao': 'tarefa de numero 1',
        'estado': True
    })
    tarefas.append({
        'id': 2,
        'titulo': 'tarefa 2',
        'descricao': 'tarefa de numero 2',
        'estado': False
    })
    with app.test_client() as cliente:
        resposta = cliente.get('/task')
        data = json.loads(resposta.data.decode('utf-8'))
        primeira_task, segunda_task = data
        assert primeira_task['titulo'] == 'tarefa 2'
        assert segunda_task['titulo'] == 'tarefa 1'
Example #8
0
def test_atualizando_uma_tarefa_existente():
    tarefas.clear()
    tarefas.append({
        'id': 1,
        'titulo': 'titulo',
        'descricao': 'descricao',
        'estado': False
    })
    cliente = app.test_client()
    resposta = cliente.put('/task/1',
                           data=json.dumps({
                               'titulo': 'titulo atualizado',
                               'descricao': 'descricao atualizada',
                               'estado': True
                           }),
                           content_type='application/json')
    data = json.loads(resposta.data.decode('utf-8'))
    assert resposta.status_code == 200
    assert data['id'] == 1
    assert data['titulo'] == 'titulo atualizado'
    assert data['descricao'] == 'descricao atualizada'
    assert data['estado'] is True