import pytest from django.urls import reverse from rest_framework import status from rest_framework.test import APIClient @pytest.fixture() def team_public_api_setup( make_organization_and_user, make_public_api_token, make_team, ): organization, user = make_organization_and_user() _, token = make_public_api_token(user, organization) team = make_team(organization) team.users.add(user) return organization, user, token, team @pytest.mark.django_db def test_get_teams_list(team_public_api_setup): _, _, token, team = team_public_api_setup client = APIClient() url = reverse("api-public:teams-list") response = client.get(url, format="json", HTTP_AUTHORIZATION=f"{token}") expected_payload = { "count": 1, "next": None, "previous": None, "results": [ { "id": team.public_primary_key, "grafana_id": team.team_id, "name": team.name, "email": team.email, "avatar_url": team.avatar_url, } ], "current_page_number": 1, "page_size": 50, "total_pages": 1, } assert response.status_code == status.HTTP_200_OK assert response.json() == expected_payload @pytest.mark.django_db def test_get_team(team_public_api_setup): _, _, token, team = team_public_api_setup client = APIClient() url = reverse("api-public:teams-detail", kwargs={"pk": team.public_primary_key}) response = client.get(url, format="json", HTTP_AUTHORIZATION=f"{token}") expected_payload = { "id": team.public_primary_key, "grafana_id": team.team_id, "name": team.name, "email": team.email, "avatar_url": team.avatar_url, } assert response.status_code == status.HTTP_200_OK assert response.json() == expected_payload