test_artists.py 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. from uuid import UUID
  2. from furl import furl
  3. from rest_framework import status
  4. from rest_framework.reverse import reverse as drf_reverse
  5. from . import BaseAPITestCase
  6. class ArtistTests(BaseAPITestCase):
  7. def setUp(self):
  8. self.artist_name = "Pearl Jam"
  9. self.artist_uuid = UUID("9e52205f-9927-4eff-b132-ce10c6f3e0b1")
  10. def test_list_artists(self):
  11. url = drf_reverse("artist-list", kwargs={"version": self.version})
  12. r = self.client.get(url)
  13. self.assertEqual(r.status_code, status.HTTP_200_OK)
  14. self.assertEqual(r.data["count"], 21)
  15. def test_search_artists(self):
  16. url = drf_reverse("artist-list", kwargs={"version": self.version})
  17. url = furl(url).set({"name": self.artist_name}).url
  18. r = self.client.get(url)
  19. self.assertEqual(r.status_code, status.HTTP_200_OK)
  20. self.assertEqual(r.data["count"], 1)
  21. self.assertEqual(r.data["results"][0]["uuid"], self.artist_uuid)
  22. def test_get_artist(self):
  23. url = drf_reverse(
  24. "artist-detail", kwargs={"version": self.version, "uuid": self.artist_uuid}
  25. )
  26. r = self.client.get(url)
  27. self.assertEqual(r.status_code, status.HTTP_200_OK)
  28. self.assertEqual(r.data["name"], self.artist_name)