From 640dda4fac1cb3aecdb89820e2a7b7eafda67c2c Mon Sep 17 00:00:00 2001 From: Tore Brede <Tore.Brede@uib.no> Date: Thu, 29 Jul 2021 11:47:03 +0200 Subject: [PATCH] GREG-5: Fixing test --- greg/tests/api/test_person.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/greg/tests/api/test_person.py b/greg/tests/api/test_person.py index 0da8f3d2..1f40ad5f 100644 --- a/greg/tests/api/test_person.py +++ b/greg/tests/api/test_person.py @@ -1,6 +1,7 @@ import pytest from django.contrib.auth import get_user_model +from rest_framework import status from rest_framework.authtoken.models import Token from rest_framework.reverse import reverse from rest_framework.status import HTTP_200_OK @@ -78,3 +79,30 @@ def test_persons_verified_filter_exclude(client, setup_db_test_data): names = [(result["first_name"], result["last_name"]) for result in results] assert len(results) == 9 assert ("Christopher", "Flores") not in names + + +@pytest.mark.django_db +def test_add_role(client, person_foo): + url = reverse("person_role-list", kwargs={"person_id": person_foo.id}) + roles_for_person = client.get(url).json()["results"] + + # Check that there are no roles for the person, and then add one + assert len(roles_for_person) == 0 + + role_data = { + "role": "Visiting Professor", + "start_date": "2021-06-10", + "end_date": "2021-08-10", + "registered_by": "1", + "unit": "1", + } + response = client.post(url, role_data) + + assert response.status_code == status.HTTP_201_CREATED + + response_data = response.json() + roles_for_person = client.get(url).json()["results"] + + # Check that the role shows up when listing roles for the person now + assert len(roles_for_person) == 1 + assert roles_for_person[0]["id"] == response_data["id"] -- GitLab