示例#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
示例#2
0
def test_criar_tarefa_insere_elemento_no_banco():
    tarefas.clear()
    cliente = app.test_client()
    # realiza a requisição utilizando o verbo POST
    cliente.post('/task',
                 data=json.dumps({
                     'titulo': 'titulo',
                     'descricao': 'descricao'
                 }),
                 content_type='application/json')
    assert len(tarefas) > 0
示例#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
示例#4
0
def test_atualizando_uma_tarefa_nao_existente():
    tarefas.clear()
    cliente = app.test_client()
    resposta = cliente.put('/tarefa/1',
                           data=json.dumps({
                               'titulo': 'titulo atualizado',
                               'decricao': 'descricao atualizada',
                               'estado': True
                           }),
                           content_type='application/json')
    assert resposta.status_code == 404
示例#5
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''
示例#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
示例#7
0
def test_criar_tarefa_retorna_tarefa_inserida():
    tarefas.clear()
    cliente = app.test_client()
    # realiza a requisição utilizando o verbo POST
    resposta = cliente.post('/task',
                            data=json.dumps({
                                'titulo': 'titulo',
                                'descricao': 'descricao'
                            }),
                            content_type='application/json')
    # é realizada a análise e transformação para objeto python da resposta
    data = json.loads(resposta.data.decode('utf-8'))
    assert data['id'] == 1
    assert data['titulo'] == 'titulo'
    assert data['descricao'] == 'descricao'
    # qaundo a comparação é com True, False ou None, utiliza-se o "is"
    assert data['estado'] is False
示例#8
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'
示例#9
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
示例#10
0
def test_detalhar_tarefa_nao_existente():
    tarefas.clear()
    cliente = app.test_client()
    resposta = cliente.get('/task/1', content_type='application/json')
    assert resposta.status_code == 404
示例#11
0
def test_deletar_tarefa_utiliza_verbo_delete():
    tarefas.clear()
    with app.test_client() as cliente:
        resposta = cliente.delete('/task/1')
        assert resposta.status_code != 405