Add track.unlove, closes #65

This commit is contained in:
hugovk 2014-03-01 15:57:00 +02:00
parent 4ae2e08539
commit 50bb692383
2 changed files with 40 additions and 0 deletions

View file

@ -2560,6 +2560,11 @@ class Track(_BaseObject, _Taggable):
self._request('track.love') self._request('track.love')
def unlove(self):
"""Remove the track to the user's loved tracks. """
self._request('track.unlove')
def ban(self): def ban(self):
"""Ban this track from ever playing on the radio. """ """Ban this track from ever playing on the radio. """

View file

@ -119,6 +119,7 @@ class TestSequenceFunctions(unittest.TestCase):
# Just check date because of timezones # Just check date because of timezones
self.assertEquals(unixtime_registered, u"1037793040") self.assertEquals(unixtime_registered, u"1037793040")
def test_get_genderless_user(self): def test_get_genderless_user(self):
# Arrange # Arrange
lastfm_user = self.network.get_user("test_user") # currently no gender set lastfm_user = self.network.get_user("test_user") # currently no gender set
@ -140,6 +141,40 @@ class TestSequenceFunctions(unittest.TestCase):
# Assert # Assert
self.assertIsNone(country) self.assertIsNone(country)
def test_love(self):
# Arrange
artist = "Test Artist"
title = "Test Title"
track = pylast.Track(artist, title, self.network)
lastfm_user = self.network.get_user(self.username)
# Act
track.love()
# Assert
loved = lastfm_user.get_loved_tracks(limit = 1)
self.assertEqual(str(loved[0].track.artist), "Test Artist")
self.assertEqual(str(loved[0].track.title), "Test Title")
def test_unlove(self):
# Arrange
artist = "Test Artist"
title = "Test Title"
track = pylast.Track(artist, title, self.network)
lastfm_user = self.network.get_user(self.username)
track.love()
# Act
track.unlove()
# Assert
loved = lastfm_user.get_loved_tracks(limit = 1)
if len(loved): # OK to be empty but if not:
self.assertNotEqual(str(loved.track.artist), "Test Artist")
self.assertNotEqual(str(loved.track.title), "Test Title")
if __name__ == '__main__': if __name__ == '__main__':
unittest.main() unittest.main()