test_albums.py 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738
  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 AlbumTests(BaseAPITestCase):
  7. def setUp(self):
  8. self.album_name = "Vitalogy"
  9. self.album_uuid = UUID("b4fee0db-0c93-4470-96b3-cebd158033a0")
  10. self.artist_uuid = UUID("9e52205f-9927-4eff-b132-ce10c6f3e0b1")
  11. def test_list_albums(self):
  12. url = drf_reverse("album-list", kwargs={"version": self.version})
  13. r = self.client.get(url)
  14. self.assertEqual(r.status_code, status.HTTP_200_OK)
  15. self.assertEqual(r.data["count"], 291)
  16. def test_search_albums(self):
  17. url = drf_reverse("album-list", kwargs={"version": self.version})
  18. url = furl(url).set({"name": self.album_name}).url
  19. r = self.client.get(url)
  20. self.assertEqual(r.status_code, status.HTTP_200_OK)
  21. self.assertEqual(r.data["count"], 3)
  22. self.assertEqual(r.data["results"][0]["uuid"], self.album_uuid)
  23. self.assertEqual(r.data["results"][0]["artist"]["uuid"], self.artist_uuid)
  24. def test_get_album(self):
  25. url = drf_reverse(
  26. "album-detail", kwargs={"version": self.version, "uuid": self.album_uuid}
  27. )
  28. r = self.client.get(url)
  29. self.assertEqual(r.status_code, status.HTTP_200_OK)
  30. self.assertEqual(r.data["name"], self.album_name)
  31. self.assertEqual(r.data["artist"]["uuid"], self.artist_uuid)