def test_returns_none_if_error(self, sp_track_mock, caplog): sp_track_mock.error = spotify.ErrorType.OTHER_PERMANENT ref = translator.to_track_ref(sp_track_mock) assert ref is None assert ( 'Error loading spotify:track:abc: <ErrorType.OTHER_PERMANENT: 10>' in caplog.text())
def test_as_items(self, sp_track_mock, sp_playlist_mock): track_ref = translator.to_track_ref(sp_track_mock) items = translator.to_playlist(sp_playlist_mock, as_items=True) assert track_ref in items
def test_caches_results(self, sp_track_mock): ref1 = translator.to_track_ref(sp_track_mock) ref2 = translator.to_track_ref(sp_track_mock) assert ref1 is ref2
def test_successful_translation(self, sp_track_mock): ref = translator.to_track_ref(sp_track_mock) assert ref.type == models.Ref.TRACK assert ref.uri == 'spotify:track:abc' assert ref.name == 'ABC 123'
def test_returns_none_if_not_available(self, sp_track_mock): sp_track_mock.availability = spotify.TrackAvailability.UNAVAILABLE ref = translator.to_track_ref(sp_track_mock) assert ref is None
def test_returns_none_if_unloaded(self, sp_track_mock): sp_track_mock.is_loaded = False ref = translator.to_track_ref(sp_track_mock) assert ref is None