test_event.py 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. from yandex_music import Event
  2. class TestEvent:
  3. id = '9DAmz0UE'
  4. type = 'tracks'
  5. type_for_from = 'tracks-by-genre'
  6. title = 'Нравится электроника? Попробуйте послушать это'
  7. message = None
  8. device = None
  9. tracks_count = None
  10. genre = 'electronics'
  11. def test_expected_values(self, event, track, artist_event, album_event):
  12. assert event.id == self.id
  13. assert event.type == self.type
  14. assert event.type_for_from == self.type_for_from
  15. assert event.title == self.title
  16. assert event.tracks == [track]
  17. assert event.artists == [artist_event]
  18. assert event.albums == [album_event]
  19. assert event.message == self.message
  20. assert event.device == self.device
  21. assert event.tracks_count == self.tracks_count
  22. assert event.genre == self.genre
  23. def test_de_json_none(self, client):
  24. assert Event.de_json({}, client) is None
  25. def test_de_list_none(self, client):
  26. assert Event.de_list([], client) == []
  27. def test_de_json_required(self, client):
  28. json_dict = {'id': self.id, 'type': self.type}
  29. event = Event.de_json(json_dict, client)
  30. assert event.id == self.id
  31. assert event.type == self.type
  32. def test_de_json_all(self, client, track, artist_event, album_event):
  33. json_dict = {
  34. 'id': self.id,
  35. 'type': self.type,
  36. 'type_for_from': self.type_for_from,
  37. 'title': self.title,
  38. 'tracks': [track.to_dict()],
  39. 'artists': [artist_event.to_dict()],
  40. 'albums': [album_event.to_dict()],
  41. 'message': self.message,
  42. 'device': self.device,
  43. 'tracks_count': self.tracks_count,
  44. 'genre': self.genre,
  45. }
  46. event = Event.de_json(json_dict, client)
  47. assert event.id == self.id
  48. assert event.type == self.type
  49. assert event.type_for_from == self.type_for_from
  50. assert event.title == self.title
  51. assert event.tracks == [track]
  52. assert event.artists == [artist_event]
  53. assert event.albums == [album_event]
  54. assert event.message == self.message
  55. assert event.device == self.device
  56. assert event.tracks_count == self.tracks_count
  57. assert event.genre == self.genre
  58. def test_equality(self):
  59. a = Event(self.id, self.type)
  60. b = Event(self.id, '')
  61. c = Event(self.id, self.type, self.type_for_from)
  62. assert a != b
  63. assert hash(a) != hash(b)
  64. assert a is not b
  65. assert a == c