def test_user_is_supervisor_filter(auth_client, value, expected): """Should filter useres if they are a supervisor.""" users = UserFactory.create_batch(2) UserFactory.create_batch(3) auth_client.user.supervisees.add(*users) res = auth_client.get(reverse('user-list'), {'is_supervisor': value}) assert len(res.json()['data']) == expected
def test_user_is_reviewer_filter(auth_client, value, expected): """Should filter users if they are a reviewer.""" user = UserFactory.create() project = ProjectFactory.create() UserFactory.create_batch(3) project.reviewers.add(user) res = auth_client.get(reverse('user-list'), {'is_reviewer': value}) assert len(res.json()['data']) == expected
def test_user_list(auth_client, django_assert_num_queries): UserFactory.create_batch(2) url = reverse('user-list') with django_assert_num_queries(5): response = auth_client.get(url) assert response.status_code == status.HTTP_200_OK json = response.json() assert len(json['data']) == 3
def test_user_supervisor_filter(auth_client): """Should filter users by supervisor.""" supervisees = UserFactory.create_batch(5) UserFactory.create_batch(5) auth_client.user.supervisees.add(*supervisees) auth_client.user.save() res = auth_client.get(reverse('user-list'), {'supervisor': auth_client.user.id}) assert len(res.json()['data']) == 5
def setUp(self): """Set the environment for the tests up.""" super().setUp() self.users = UserFactory.create_batch(3) for user in self.users + [self.user]: EmploymentFactory.create(user=user)
def test_project_list_include(auth_client, django_assert_num_queries): project = ProjectFactory.create() users = UserFactory.create_batch(2) project.reviewers.add(*users) url = reverse('project-list') with django_assert_num_queries(6): response = auth_client.get( url, data={ 'include': ','.join(ProjectSerializer.included_serializers.keys()) }) assert response.status_code == status.HTTP_200_OK json = response.json() assert len(json['data']) == 1 assert json['data'][0]['id'] == str(project.id)
def test_project_list_include(auth_client, django_assert_num_queries, project): users = UserFactory.create_batch(2) project.reviewers.add(*users) url = reverse("project-list") with django_assert_num_queries(7): response = auth_client.get( url, data={ "include": ",".join(ProjectSerializer.included_serializers.keys()) }, ) assert response.status_code == status.HTTP_200_OK json = response.json() assert len(json["data"]) == 1 assert json["data"][0]["id"] == str(project.id)
def test_absence_list_supervisee(auth_client): AbsenceFactory.create(user=auth_client.user) supervisors = UserFactory.create_batch(2) supervisors[0].supervisees.add(auth_client.user) AbsenceFactory.create(user=supervisors[0]) url = reverse("absence-list") response = auth_client.get(url) assert response.status_code == status.HTTP_200_OK json = response.json() assert len(json["data"]) == 1 # absences of multiple supervisors shouldn't affect supervisee supervisors[1].supervisees.add(auth_client.user) AbsenceFactory.create(user=supervisors[1]) response = auth_client.get(url) assert response.status_code == status.HTTP_200_OK json = response.json() assert len(json["data"]) == 1