def test_obtem_todos_os_alunos(client): criar_aluno('Marcão') criar_aluno('João') response = client.get('/alunos') aluno_retornado = ujson.loads(response.content) assert 200 == response.status_code assert 2 == len(aluno_retornado)
def test_exclui_nota_de_um_aluno(client): aluno = criar_aluno('Marcão') nota = criar_nota(aluno.id, 8.0) response = client.delete(f'/alunos/notas/{nota.id}') assert 200 == response.status_code
def test_atualiza_media_do_aluno_quando_adiciona_nova_nota(client): aluno = criar_aluno('Marcão') criar_nota(aluno.id, 7.5) response = client.post(f'/alunos/{aluno.id}/notas', ujson.dumps({'valor': 9.8}), content_type='application/json') aluno_retornado = obter_aluno(aluno.id) assert 200 == response.status_code assert 8.65 == aluno_retornado.media
def test_gravar_nota_de_um_aluno(client): valor = 8.0 aluno = criar_aluno('Marcão') response = client.post(f'/alunos/{aluno.id}/notas', ujson.dumps({'valor': valor}), content_type='application/json') nota = ujson.loads(response.content) assert 200 == response.status_code assert valor == nota['valor']
def test_obtem_aluno_por_id(client): nome = 'Marcão' aluno_esperado = criar_aluno(nome) response = client.get(f'/alunos/{aluno_esperado.id}') aluno_retornado = ujson.loads(response.content) assert 200 == response.status_code assert nome == aluno_retornado['nome']
def test_atualiza_media_do_aluno_quando_exclui_nota(client): aluno = criar_aluno('Marcão') nota = criar_nota(aluno.id, 7.5) criar_nota(aluno.id, 9.8) response = client.delete(f'/alunos/notas/{nota.id}') aluno_retornado = obter_aluno(aluno.id) assert 200 == response.status_code assert 9.8 == aluno_retornado.media
def test_obtem_notas_de_um_aluno(client): aluno = criar_aluno('Marcão') criar_nota(aluno.id, 7.0) criar_nota(aluno.id, 8.0) response = client.get(f'/alunos/{aluno.id}/notas') notas = ujson.loads(response.content) assert 200 == response.status_code assert 2 == len(notas)
def post(self, request): body = ujson.loads(request.body) aluno = criar_aluno(body['nome']) return HttpResponse(status=200, content=ujson.dumps(apresentar_aluno(aluno)), content_type='application/json')