Ejemplo n.º 1
0
    def test_retrieve_artists_success(self, mock_get_spotify_image):
        user = sample_user()

        sample_artist(user, "Artist1")
        sample_artist(user, "Artist2")

        response = self.client.get(ARTIST_URL)

        self.assertEqual(response.status_code, status.HTTP_200_OK)
        self.assertEqual(len(response.data), 2)
    def test_artists_search(self, mock_get_artist):
        artist1 = sample_artist(self.user, "The Doors")
        artist2 = sample_artist(self.user, "Haken")

        response = self.client.get(SEARCH_URL, {
            "value": "doors",
            "page_number": 1
        })

        serializer1 = ArtistSerializer(artist1)
        serializer2 = ArtistSerializer(artist2)

        self.assertIn(serializer1.data, response.data["artists"])
        self.assertNotIn(serializer2.data, response.data["artists"])
Ejemplo n.º 3
0
 def setUp(self, mock_get_artist, mock_get_song, mock_get_video_url):
     self.client = APIClient()
     self.user = sample_user()
     self.client.force_authenticate(self.user)
     self.artist = sample_artist(self.user)
     self.song = sample_song(self.user, self.artist)
     self.comment = sample_comment(self.user, self.song)
    def test_artists_attached_to_genre(self, mock_get_artist):
        genre1 = sample_genre(self.user, "Rock")
        genre2 = sample_genre(self.user, "Progressive metal")
        artist1 = sample_artist(self.user, "The Doors")
        artist2 = sample_artist(self.user, "Haken")
        artist1.genres.set([genre1])
        artist2.genres.set([genre2])

        response = self.client.get(SEARCH_URL, {
            "value": "progressive",
            "page_number": 1
        })

        serializer1 = ArtistSerializer(artist1)
        serializer2 = ArtistSerializer(artist2)

        self.assertIn(serializer2.data, response.data["artists"])
        self.assertNotIn(serializer1.data, response.data["artists"])
Ejemplo n.º 5
0
    def test_retrieve_unique_artists(self, mock_get_spotify_image,
                                     mock_get_song, mock_get_video_url):
        artist = sample_artist(self.user)

        sample_song(self.user, artist, "Song1")
        sample_song(self.user, artist, "Song2")

        response = self.client.get(ARTIST_URL, {"is_assigned": 1})

        self.assertEqual(len(response.data), 1)
    def test_retrieve_unique_genres(self, mock_get_artist, mock_get_song,
                                    mock_get_video_url):
        genre = sample_genre(self.user)
        artist = sample_artist(self.user)
        song1 = sample_song(self.user, artist, "Song1")
        song2 = sample_song(self.user, artist, "Song2")
        song1.genres.set([genre])
        song2.genres.set([genre])

        response = self.client.get(GENRE_URL, {"is_assigned": 1})

        self.assertEqual(len(response.data), 1)
Ejemplo n.º 7
0
    def test_update_other_user_not_allowed(self, mock_get_spotify_image):

        owner_user = sample_user(username="******")
        artist = sample_artist(owner_user)

        payload = {
            "name": "editedname",
        }

        response = self.client.patch(get_artist_url_detail(artist.id), payload)

        self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
    def test_filter_songs_by_artist(
        self, mock_get_song, mock_get_video_url, mock_get_artist
    ):
        artist2 = sample_artist(self.user, "Artist2")

        song1 = sample_song(self.user, self.artist, "Title1")
        song2 = sample_song(self.user, artist2, "Title2")

        response = self.client.get(SONG_URL, {"artist": f"{artist2.id}"})

        serializer1 = SongSerializer(song1)
        serializer2 = SongSerializer(song2)

        self.assertIn(serializer2.data, response.data)
        self.assertNotIn(serializer1.data, response.data)
    def test_songs_search(self, mock_get_artist, mock_get_song,
                          mock_get_video_url):
        artist = sample_artist(self.user, "The Doors")
        song1 = sample_song(self.user, artist, "The End")
        song2 = sample_song(self.user, artist, "Light my fire")

        response = self.client.get(SEARCH_URL, {
            "value": "fire",
            "page_number": 1
        })

        serializer1 = SongSerializer(song1)
        serializer2 = SongSerializer(song2)

        self.assertIn(serializer2.data, response.data["songs"])
        self.assertNotIn(serializer1.data, response.data["songs"])
    def test_retrieve_genres_assigned_to_song(self, mock_get_artist,
                                              mock_get_song,
                                              mock_get_video_url):
        genre1 = sample_genre(self.user, "Genre1")
        genre2 = sample_genre(self.user, "Genre2")
        artist = sample_artist(self.user)
        song = sample_song(self.user, artist)
        song.genres.set([genre1])

        response = self.client.get(GENRE_URL, {"is_assigned": 1})

        serializer1 = GenreSerializer(genre1)
        serializer2 = GenreSerializer(genre2)

        self.assertIn(serializer1.data, response.data)
        self.assertNotIn(serializer2.data, response.data)
    def test_songs_attached_to_genre(self, mock_get_artist, mock_get_song,
                                     mock_get_video_url):
        genre1 = sample_genre(self.user, "Rock")
        genre2 = sample_genre(self.user, "Psychodelic rock")
        artist = sample_artist(self.user, "The Doors")
        song1 = sample_song(self.user, artist, "The End")
        song2 = sample_song(self.user, artist, "Light my fire")
        song1.genres.set([genre1])
        song2.genres.set([genre2])

        response = self.client.get(SEARCH_URL, {
            "value": "psychodelic",
            "page_number": 1
        })

        serializer1 = SongSerializer(song1)
        serializer2 = SongSerializer(song2)

        self.assertIn(serializer2.data, response.data["songs"])
        self.assertNotIn(serializer1.data, response.data["songs"])
 def setUp(self, mock_get_artist, mock_get_song, mock_get_video_url):
     self.user = sample_user()
     self.artist = sample_artist(self.user)
     self.song = sample_song(self.user, self.artist)
     self.comment = sample_comment(self.user, self.song)
 def setUp(self, mock_get_artist):
     self.user = sample_user()
     self.client = APIClient()
     self.client.force_authenticate(self.user)
     self.artist = sample_artist(self.user)
 def setUp(self, mock_get_artist):
     self.client = APIClient()
     self.user = sample_user()
     self.artist = sample_artist(self.user)
 def setUp(self, mock_get_spotify_image):
     self.user = sample_user()
     self.artist = sample_artist(self.user)