2019-11-08 02:09:39 +09:00
|
|
|
import pytest
|
|
|
|
|
Добавлены основные тесты для следующих классов: AlbumEvent, AlbumsLikes, ArtistEvent, ArtistsLikes, ChartItem, Dashboard, Day, Event, Sequence, StationTracksResult, Supplement, TrackWithAds.
Исправлены фикстуры и сравнения для вышеперечисленных классов.
Отрефакторен conftest.py.
Исправлен баг в .to_dict() методе, связанный с не рекурсивной десериализацией объектов списков и словарей.
Исправлен баг с десериализацией artist в классе ArtistEvent
2019-11-09 22:43:02 +09:00
|
|
|
from yandex_music import Counts, TrackId, CaseForms, Ratings, Icon, Album, Lyrics, Track, InvocationInfo, Playlist, \
|
|
|
|
AutoRenewable, Station, MadeFor, Normalization, Major, TrackPosition, Best, Chart, Restrictions, Permissions, Plus, \
|
|
|
|
Product, Cover, PlayCounter, Sequence, Price, Artist, AdParams, Description, Subscription, Id, Images, Pager, \
|
|
|
|
Account, Client, TrackShort, Value, DiscreteScale, PlaylistId, MixLink, Link, PassportPhone, User, Promotion, Title, \
|
|
|
|
PersonalPlaylistsData, RotorSettings, TrackShortOld, PlayContextsData, Status, Settings, StationResult, Enum, Label, \
|
|
|
|
TrackWithAds, VideoSupplement, ArtistEvent, ChartItem, Event, AlbumEvent, Day
|
2019-11-08 02:09:39 +09:00
|
|
|
from . import TestCounts, TestTrackId, TestCaseForms, TestRatings, TestIcon, TestAlbum, TestLyrics, \
|
|
|
|
TestTrack, TestInvocationInfo, TestPlaylist, TestAutoRenewable, TestStation, TestNormalization, TestMajor, \
|
Добавлены основные тесты для следующих классов: AlbumEvent, AlbumsLikes, ArtistEvent, ArtistsLikes, ChartItem, Dashboard, Day, Event, Sequence, StationTracksResult, Supplement, TrackWithAds.
Исправлены фикстуры и сравнения для вышеперечисленных классов.
Отрефакторен conftest.py.
Исправлен баг в .to_dict() методе, связанный с не рекурсивной десериализацией объектов списков и словарей.
Исправлен баг с десериализацией artist в классе ArtistEvent
2019-11-09 22:43:02 +09:00
|
|
|
TestTrackPosition, TestBest, TestChart, TestPermissions, TestPlus, TestProduct, TestCover, TestPlayCounter, \
|
|
|
|
TestSequence, TestPrice, TestArtist, TestAdParams, TestDescription, TestSubscription, TestId, TestImages, \
|
|
|
|
TestDiscreteScale, TestAccount, TestTrackShort, TestEnum, TestValue, TestPlaylistId, TestMixLink, TestLink, \
|
|
|
|
TestUser, TestPassportPhone, TestPromotion, TestTitle, TestPersonalPlaylistsData, TestRotorSettings, \
|
|
|
|
TestTrackShortOld, TestPager, TestStatus, TestSettings, TestStationResult, TestLabel, TestTrackWithAds, \
|
|
|
|
TestVideoSupplement, TestEvent, TestDay
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def artist_factory(cover, counts, ratings, link, description):
|
|
|
|
class ArtistFactory:
|
|
|
|
def get(self, popular_tracks):
|
|
|
|
return Artist(TestArtist.id, TestArtist.name, TestArtist.various, TestArtist.composer, cover, TestArtist.genres,
|
|
|
|
TestArtist.op_image, TestArtist.no_pictures_from_search, counts, TestArtist.available, ratings,
|
|
|
|
[link], TestArtist.tickets_available, TestArtist.likes_count, popular_tracks, TestArtist.regions,
|
|
|
|
TestArtist.decomposed, TestArtist.full_names, description, TestArtist.countries,
|
|
|
|
TestArtist.en_wikipedia_link, TestArtist.db_aliases, TestArtist.aliases, TestArtist.init_date,
|
|
|
|
TestArtist.end_date)
|
|
|
|
|
|
|
|
return ArtistFactory()
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def artist(artist_factory, track_without_artists_and_albums):
|
|
|
|
return artist_factory.get([track_without_artists_and_albums])
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def artist_without_tracks(artist_factory):
|
|
|
|
return artist_factory.get(None)
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def track_factory(major, normalization):
|
|
|
|
class TrackFactory:
|
|
|
|
def get(self, artists, albums):
|
|
|
|
return Track(TestTrack.id, TestTrack.title, TestTrack.available, TestTrack.available_for_premium_users,
|
|
|
|
artists, albums, TestTrack.lyrics_available, TestTrack.real_id,
|
|
|
|
TestTrack.og_image, TestTrack.type, TestTrack.cover_uri, major, TestTrack.duration_ms,
|
|
|
|
TestTrack.storage_dir, TestTrack.file_size, normalization, TestTrack.error, TestTrack.regions,
|
|
|
|
TestTrack.available_as_rbt, TestTrack.content_warning, TestTrack.explicit,
|
|
|
|
TestTrack.preview_duration_ms, TestTrack.available_full_without_permission)
|
|
|
|
|
|
|
|
return TrackFactory()
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def track(track_factory, artist, album):
|
|
|
|
return track_factory.get([artist], [album])
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def track_without_artists(track_factory, album):
|
|
|
|
return track_factory.get(None, [album])
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def track_without_albums(track_factory, artist):
|
|
|
|
return track_factory.get([artist], None)
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def track_without_artists_and_albums(track_factory):
|
|
|
|
return track_factory.get(None, None)
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def album_factory(label, track_position):
|
|
|
|
class AlbumFactory:
|
|
|
|
def get(self, artists, volumes):
|
|
|
|
return Album(TestAlbum.id, TestAlbum.title, TestAlbum.track_count, artists, [label],
|
|
|
|
TestAlbum.available, TestAlbum.available_for_premium_users, TestAlbum.cover_uri,
|
|
|
|
TestAlbum.content_warning, TestAlbum.original_release_year, TestAlbum.genre, TestAlbum.og_image,
|
|
|
|
TestAlbum.buy, TestAlbum.recent, TestAlbum.very_important, TestAlbum.available_for_mobile,
|
|
|
|
TestAlbum.available_partially, TestAlbum.bests, TestAlbum.prerolls, volumes, TestAlbum.year,
|
|
|
|
TestAlbum.release_date, TestAlbum.type, track_position, TestAlbum.regions)
|
|
|
|
|
|
|
|
return AlbumFactory()
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def album(album_factory, artist_without_tracks, track_without_albums):
|
|
|
|
return album_factory.get([artist_without_tracks], [[track_without_albums]])
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def album_without_tracks(album_factory, artist_without_tracks):
|
|
|
|
return album_factory.get([artist_without_tracks], None)
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def playlist(owner, cover, made_for, play_counter, tracks, description):
|
|
|
|
return Playlist(owner, TestPlaylist.uid, TestPlaylist.kind, TestPlaylist.title, TestPlaylist.track_count, cover,
|
|
|
|
made_for, play_counter, TestPlaylist.tags, TestPlaylist.revision, TestPlaylist.snapshot,
|
|
|
|
TestPlaylist.visibility, TestPlaylist.collective, TestPlaylist.created, TestPlaylist.modified,
|
|
|
|
TestPlaylist.available, TestPlaylist.is_banner, TestPlaylist.is_premiere, TestPlaylist.duration_ms,
|
|
|
|
TestPlaylist.og_image, tracks, TestPlaylist.prerolls, TestPlaylist.likes_count,
|
|
|
|
TestPlaylist.generated_playlist_type, TestPlaylist.animated_cover_uri, TestPlaylist.ever_played,
|
|
|
|
description, TestPlaylist.description_formatted, TestPlaylist.is_for_from, TestPlaylist.regions)
|
2019-11-08 02:09:39 +09:00
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def client():
|
|
|
|
return Client()
|
|
|
|
|
|
|
|
|
Добавлены основные тесты для следующих классов: AlbumEvent, AlbumsLikes, ArtistEvent, ArtistsLikes, ChartItem, Dashboard, Day, Event, Sequence, StationTracksResult, Supplement, TrackWithAds.
Исправлены фикстуры и сравнения для вышеперечисленных классов.
Отрефакторен conftest.py.
Исправлен баг в .to_dict() методе, связанный с не рекурсивной десериализацией объектов списков и словарей.
Исправлен баг с десериализацией artist в классе ArtistEvent
2019-11-09 22:43:02 +09:00
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def track_with_ads(track):
|
|
|
|
return TrackWithAds(TestTrackWithAds.type, track)
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def day(event, track_with_ads, track):
|
|
|
|
return Day(TestDay.day, [event], [track_with_ads], [track])
|
|
|
|
|
|
|
|
|
2019-11-08 04:52:26 +09:00
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def track_short():
|
|
|
|
return TrackShort(TestTrackShort.id, TestTrackShort.timestamp, TestTrackShort.album_id)
|
|
|
|
|
|
|
|
|
Добавлены основные тесты для следующий классов: Account, CaseForms, Cover, DownloadInfo, Enum, InvocationInfo, Lyrics, MadeFor, Permissions, PersonalPlaylistsData, PlayContextsData, Promotion, RotorSettings, Subsription,
Исправлены фикстуры и сравнения для вышеперечисленных классов.
Починен conftest.py
2019-11-08 09:30:15 +09:00
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def track_short_old(track_id):
|
|
|
|
return TrackShortOld(track_id, TestTrackShortOld.timestamp)
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def play_contexts_data(track_short_old):
|
|
|
|
return PlayContextsData([track_short_old])
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def enum(value):
|
|
|
|
return Enum(TestEnum.type, TestEnum.name, [value])
|
|
|
|
|
|
|
|
|
2019-11-08 02:09:39 +09:00
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def icon():
|
|
|
|
return Icon(TestIcon.background_color, TestIcon.image_url)
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def cover():
|
|
|
|
return Cover(TestCover.type, TestCover.uri, TestCover.items_uri, TestCover.dir, TestCover.version, TestCover.custom,
|
|
|
|
TestCover.prefix, TestCover.error)
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
2019-11-08 06:37:53 +09:00
|
|
|
def link():
|
|
|
|
return Link(TestLink.title, TestLink.href, TestLink.type, TestLink.social_network)
|
|
|
|
|
|
|
|
|
2019-11-08 02:09:39 +09:00
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def invocation_info():
|
|
|
|
return InvocationInfo(TestInvocationInfo.hostname, TestInvocationInfo.req_id,
|
|
|
|
TestInvocationInfo.exec_duration_millis)
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
Добавлены основные тесты для следующих классов: Album, Artist, Chart, Counts, Genre, Label, PermissionAlerts, PromoCodeStatus, Restrictions, Settings, Station, StatuonResult, Status, Track.
Исправлены фикстуры и сравнения для вышеперечисленных классов.
Отрефакторен restrictions.py.
Исправлен баг в .to_dict() методе, связанный с десериализцией объектов списков и словарей.
2019-11-09 00:24:54 +09:00
|
|
|
def settings(product, price):
|
|
|
|
return Settings([product], [product], TestSettings.web_payment_url, TestSettings.promo_codes_enabled, price)
|
2019-11-08 02:09:39 +09:00
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
Добавлены основные тесты для следующих классов: Album, Artist, Chart, Counts, Genre, Label, PermissionAlerts, PromoCodeStatus, Restrictions, Settings, Station, StatuonResult, Status, Track.
Исправлены фикстуры и сравнения для вышеперечисленных классов.
Отрефакторен restrictions.py.
Исправлен баг в .to_dict() методе, связанный с десериализцией объектов списков и словарей.
2019-11-09 00:24:54 +09:00
|
|
|
def counts():
|
|
|
|
return Counts(TestCounts.tracks, TestCounts.direct_albums, TestCounts.also_albums, TestCounts.also_tracks)
|
2019-11-08 02:09:39 +09:00
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def description():
|
|
|
|
return Description(TestDescription.text, TestDescription.url)
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def pager():
|
|
|
|
return Pager(TestPager.total, TestPager.page, TestPager.per_page)
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
Добавлены основные тесты для следующих классов: AlbumEvent, AlbumsLikes, ArtistEvent, ArtistsLikes, ChartItem, Dashboard, Day, Event, Sequence, StationTracksResult, Supplement, TrackWithAds.
Исправлены фикстуры и сравнения для вышеперечисленных классов.
Отрефакторен conftest.py.
Исправлен баг в .to_dict() методе, связанный с не рекурсивной десериализацией объектов списков и словарей.
Исправлен баг с десериализацией artist в классе ArtistEvent
2019-11-09 22:43:02 +09:00
|
|
|
def artist_event(artist, track):
|
|
|
|
return ArtistEvent(artist, [track], [artist])
|
Добавлены основные тесты для следующих классов: Album, Artist, Chart, Counts, Genre, Label, PermissionAlerts, PromoCodeStatus, Restrictions, Settings, Station, StatuonResult, Status, Track.
Исправлены фикстуры и сравнения для вышеперечисленных классов.
Отрефакторен restrictions.py.
Исправлен баг в .to_dict() методе, связанный с десериализцией объектов списков и словарей.
2019-11-09 00:24:54 +09:00
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
Добавлены основные тесты для следующих классов: AlbumEvent, AlbumsLikes, ArtistEvent, ArtistsLikes, ChartItem, Dashboard, Day, Event, Sequence, StationTracksResult, Supplement, TrackWithAds.
Исправлены фикстуры и сравнения для вышеперечисленных классов.
Отрефакторен conftest.py.
Исправлен баг в .to_dict() методе, связанный с не рекурсивной десериализацией объектов списков и словарей.
Исправлен баг с десериализацией artist в классе ArtistEvent
2019-11-09 22:43:02 +09:00
|
|
|
def album_event(album, track):
|
|
|
|
return AlbumEvent(album, [track])
|
Добавлены основные тесты для следующих классов: Album, Artist, Chart, Counts, Genre, Label, PermissionAlerts, PromoCodeStatus, Restrictions, Settings, Station, StatuonResult, Status, Track.
Исправлены фикстуры и сравнения для вышеперечисленных классов.
Отрефакторен restrictions.py.
Исправлен баг в .to_dict() методе, связанный с десериализцией объектов списков и словарей.
2019-11-09 00:24:54 +09:00
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
Добавлены основные тесты для следующих классов: AlbumEvent, AlbumsLikes, ArtistEvent, ArtistsLikes, ChartItem, Dashboard, Day, Event, Sequence, StationTracksResult, Supplement, TrackWithAds.
Исправлены фикстуры и сравнения для вышеперечисленных классов.
Отрефакторен conftest.py.
Исправлен баг в .to_dict() методе, связанный с не рекурсивной десериализацией объектов списков и словарей.
Исправлен баг с десериализацией artist в классе ArtistEvent
2019-11-09 22:43:02 +09:00
|
|
|
def video_supplement():
|
|
|
|
return VideoSupplement(TestVideoSupplement.cover, TestVideoSupplement.title, TestVideoSupplement.provider,
|
|
|
|
TestVideoSupplement.provider_video_id, TestVideoSupplement.url,
|
|
|
|
TestVideoSupplement.embed_url, TestVideoSupplement.embed)
|
Добавлены основные тесты для следующих классов: Album, Artist, Chart, Counts, Genre, Label, PermissionAlerts, PromoCodeStatus, Restrictions, Settings, Station, StatuonResult, Status, Track.
Исправлены фикстуры и сравнения для вышеперечисленных классов.
Отрефакторен restrictions.py.
Исправлен баг в .to_dict() методе, связанный с десериализцией объектов списков и словарей.
2019-11-09 00:24:54 +09:00
|
|
|
|
|
|
|
|
2019-11-08 02:09:39 +09:00
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def ratings():
|
|
|
|
return Ratings(TestRatings.week, TestRatings.month, TestRatings.day)
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
Добавлены основные тесты для следующий классов: Account, CaseForms, Cover, DownloadInfo, Enum, InvocationInfo, Lyrics, MadeFor, Permissions, PersonalPlaylistsData, PlayContextsData, Promotion, RotorSettings, Subsription,
Исправлены фикстуры и сравнения для вышеперечисленных классов.
Починен conftest.py
2019-11-08 09:30:15 +09:00
|
|
|
def made_for(user, case_forms):
|
|
|
|
return MadeFor(user, case_forms)
|
2019-11-08 02:09:39 +09:00
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
Добавлены основные тесты для следующий классов: DiscreteScale, Icon, Id, Images, Label, Pager, PlayCounter, Plus, Price, TrackId, TrackShortOld, Value.
Исправлены фикстуры и сравнения для вышеперечисленных классов.
2019-11-08 05:36:41 +09:00
|
|
|
def play_counter():
|
|
|
|
return PlayCounter(TestPlayCounter.value, TestPlayCounter.description, TestPlayCounter.updated)
|
2019-11-08 02:09:39 +09:00
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def results(playlist):
|
|
|
|
return [playlist]
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def case_forms():
|
|
|
|
return CaseForms(TestCaseForms.nominative, TestCaseForms.genitive, TestCaseForms.dative, TestCaseForms.accusative,
|
|
|
|
TestCaseForms.instrumental, TestCaseForms.prepositional)
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
Добавлены основные тесты для следующий классов: Account, CaseForms, Cover, DownloadInfo, Enum, InvocationInfo, Lyrics, MadeFor, Permissions, PersonalPlaylistsData, PlayContextsData, Promotion, RotorSettings, Subsription,
Исправлены фикстуры и сравнения для вышеперечисленных классов.
Починен conftest.py
2019-11-08 09:30:15 +09:00
|
|
|
def lyrics():
|
Добавлены основные тесты для следующих классов: Album, Artist, Chart, Counts, Genre, Label, PermissionAlerts, PromoCodeStatus, Restrictions, Settings, Station, StatuonResult, Status, Track.
Исправлены фикстуры и сравнения для вышеперечисленных классов.
Отрефакторен restrictions.py.
Исправлен баг в .to_dict() методе, связанный с десериализцией объектов списков и словарей.
2019-11-09 00:24:54 +09:00
|
|
|
return Lyrics(TestLyrics.id, TestLyrics.lyrics, TestLyrics.full_lyrics, TestLyrics.has_rights,
|
|
|
|
TestLyrics.text_language, TestLyrics.show_translation)
|
2019-11-08 02:09:39 +09:00
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def images():
|
|
|
|
return Images(TestImages._208x208, TestImages._300x300)
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def normalization():
|
|
|
|
return Normalization(TestNormalization.gain, TestNormalization.peak)
|
|
|
|
|
|
|
|
|
Добавлены основные тесты для следующий классов: Account, CaseForms, Cover, DownloadInfo, Enum, InvocationInfo, Lyrics, MadeFor, Permissions, PersonalPlaylistsData, PlayContextsData, Promotion, RotorSettings, Subsription,
Исправлены фикстуры и сравнения для вышеперечисленных классов.
Починен conftest.py
2019-11-08 09:30:15 +09:00
|
|
|
@pytest.fixture(scope='session')
|
2019-11-08 06:37:53 +09:00
|
|
|
def mix_link():
|
|
|
|
return MixLink(TestMixLink.title, TestMixLink.url, TestMixLink.url_scheme, TestMixLink.text_color,
|
|
|
|
TestMixLink.background_color, TestMixLink.background_image_uri, TestMixLink.cover_white)
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
Добавлены основные тесты для следующий классов: Account, CaseForms, Cover, DownloadInfo, Enum, InvocationInfo, Lyrics, MadeFor, Permissions, PersonalPlaylistsData, PlayContextsData, Promotion, RotorSettings, Subsription,
Исправлены фикстуры и сравнения для вышеперечисленных классов.
Починен conftest.py
2019-11-08 09:30:15 +09:00
|
|
|
def title():
|
|
|
|
return Title(TestTitle.title, TestTitle.full_title)
|
Добавлены основные тесты для следующий классов: DiscreteScale, Icon, Id, Images, Label, Pager, PlayCounter, Plus, Price, TrackId, TrackShortOld, Value.
Исправлены фикстуры и сравнения для вышеперечисленных классов.
2019-11-08 05:36:41 +09:00
|
|
|
|
|
|
|
|
2019-11-08 02:09:39 +09:00
|
|
|
@pytest.fixture(scope='session')
|
Добавлены основные тесты для следующий классов: Account, CaseForms, Cover, DownloadInfo, Enum, InvocationInfo, Lyrics, MadeFor, Permissions, PersonalPlaylistsData, PlayContextsData, Promotion, RotorSettings, Subsription,
Исправлены фикстуры и сравнения для вышеперечисленных классов.
Починен conftest.py
2019-11-08 09:30:15 +09:00
|
|
|
def personal_playlists_data():
|
|
|
|
return PersonalPlaylistsData(TestPersonalPlaylistsData.is_wizard_passed)
|
2019-11-08 02:09:39 +09:00
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
Добавлены основные тесты для следующий классов: Account, CaseForms, Cover, DownloadInfo, Enum, InvocationInfo, Lyrics, MadeFor, Permissions, PersonalPlaylistsData, PlayContextsData, Promotion, RotorSettings, Subsription,
Исправлены фикстуры и сравнения для вышеперечисленных классов.
Починен conftest.py
2019-11-08 09:30:15 +09:00
|
|
|
def promotion():
|
|
|
|
return Promotion(TestPromotion.promo_id, TestPromotion.title, TestPromotion.subtitle, TestPromotion.heading,
|
|
|
|
TestPromotion.url, TestPromotion.url_scheme, TestPromotion.text_color, TestPromotion.gradient,
|
|
|
|
TestPromotion.image)
|
2019-11-08 02:09:39 +09:00
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
Добавлены основные тесты для следующий классов: Account, CaseForms, Cover, DownloadInfo, Enum, InvocationInfo, Lyrics, MadeFor, Permissions, PersonalPlaylistsData, PlayContextsData, Promotion, RotorSettings, Subsription,
Исправлены фикстуры и сравнения для вышеперечисленных классов.
Починен conftest.py
2019-11-08 09:30:15 +09:00
|
|
|
def discrete_scale(value):
|
|
|
|
return DiscreteScale(TestDiscreteScale.type, TestDiscreteScale.name, value, value)
|
2019-11-08 02:09:39 +09:00
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
Добавлены основные тесты для следующий классов: Account, CaseForms, Cover, DownloadInfo, Enum, InvocationInfo, Lyrics, MadeFor, Permissions, PersonalPlaylistsData, PlayContextsData, Promotion, RotorSettings, Subsription,
Исправлены фикстуры и сравнения для вышеперечисленных классов.
Починен conftest.py
2019-11-08 09:30:15 +09:00
|
|
|
def major():
|
|
|
|
return Major(TestMajor.id, TestMajor.name)
|
2019-11-08 02:09:39 +09:00
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def permissions():
|
|
|
|
return Permissions(TestPermissions.until, TestPermissions.values, TestPermissions.default)
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def auto_renewable(product):
|
|
|
|
return AutoRenewable(TestAutoRenewable.expires, TestAutoRenewable.vendor, TestAutoRenewable.vendor_help_url,
|
|
|
|
TestAutoRenewable.product_id, product, TestAutoRenewable.finished, TestAutoRenewable.order_id)
|
|
|
|
|
|
|
|
|
Добавлены основные тесты для следующий классов: Account, CaseForms, Cover, DownloadInfo, Enum, InvocationInfo, Lyrics, MadeFor, Permissions, PersonalPlaylistsData, PlayContextsData, Promotion, RotorSettings, Subsription,
Исправлены фикстуры и сравнения для вышеперечисленных классов.
Починен conftest.py
2019-11-08 09:30:15 +09:00
|
|
|
@pytest.fixture(scope='session')
|
2019-11-08 06:37:53 +09:00
|
|
|
def passport_phone():
|
|
|
|
return PassportPhone(TestPassportPhone.phone)
|
|
|
|
|
|
|
|
|
2019-11-08 02:09:39 +09:00
|
|
|
@pytest.fixture(scope='session')
|
Добавлены основные тесты для следующий классов: Account, CaseForms, Cover, DownloadInfo, Enum, InvocationInfo, Lyrics, MadeFor, Permissions, PersonalPlaylistsData, PlayContextsData, Promotion, RotorSettings, Subsription,
Исправлены фикстуры и сравнения для вышеперечисленных классов.
Починен conftest.py
2019-11-08 09:30:15 +09:00
|
|
|
def user():
|
|
|
|
return User(TestUser.uid, TestUser.login, TestUser.name, TestUser.sex, TestUser.verified)
|
2019-11-08 02:09:39 +09:00
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
Добавлены основные тесты для следующий классов: Account, CaseForms, Cover, DownloadInfo, Enum, InvocationInfo, Lyrics, MadeFor, Permissions, PersonalPlaylistsData, PlayContextsData, Promotion, RotorSettings, Subsription,
Исправлены фикстуры и сравнения для вышеперечисленных классов.
Починен conftest.py
2019-11-08 09:30:15 +09:00
|
|
|
def account(passport_phone):
|
|
|
|
return Account(TestAccount.now, TestAccount.service_available, TestAccount.region, TestAccount.uid,
|
2019-11-08 02:09:39 +09:00
|
|
|
TestAccount.login, TestAccount.full_name, TestAccount.second_name, TestAccount.first_name,
|
Добавлены основные тесты для следующий классов: Account, CaseForms, Cover, DownloadInfo, Enum, InvocationInfo, Lyrics, MadeFor, Permissions, PersonalPlaylistsData, PlayContextsData, Promotion, RotorSettings, Subsription,
Исправлены фикстуры и сравнения для вышеперечисленных классов.
Починен conftest.py
2019-11-08 09:30:15 +09:00
|
|
|
TestAccount.display_name, TestAccount.hosted_user, TestAccount.birthday, [passport_phone],
|
2019-11-08 02:09:39 +09:00
|
|
|
TestAccount.registered_at, TestAccount.has_info_for_app_metrica)
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def plus():
|
|
|
|
return Plus(TestPlus.has_plus, TestPlus.is_tutorial_completed)
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def price():
|
|
|
|
return Price(TestPrice.amount, TestPrice.currency)
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def subscription(auto_renewable):
|
Добавлены основные тесты для следующий классов: Account, CaseForms, Cover, DownloadInfo, Enum, InvocationInfo, Lyrics, MadeFor, Permissions, PersonalPlaylistsData, PlayContextsData, Promotion, RotorSettings, Subsription,
Исправлены фикстуры и сравнения для вышеперечисленных классов.
Починен conftest.py
2019-11-08 09:30:15 +09:00
|
|
|
return Subscription([auto_renewable], TestSubscription.can_start_trial, TestSubscription.mcdonalds,
|
2019-11-08 02:09:39 +09:00
|
|
|
TestSubscription.end)
|
|
|
|
|
|
|
|
|
Добавлены основные тесты для следующий классов: Account, CaseForms, Cover, DownloadInfo, Enum, InvocationInfo, Lyrics, MadeFor, Permissions, PersonalPlaylistsData, PlayContextsData, Promotion, RotorSettings, Subsription,
Исправлены фикстуры и сравнения для вышеперечисленных классов.
Починен conftest.py
2019-11-08 09:30:15 +09:00
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def rotor_settings():
|
|
|
|
return RotorSettings(TestRotorSettings.language, TestRotorSettings.diversity, TestRotorSettings.mood,
|
|
|
|
TestRotorSettings.energy, TestRotorSettings.mood_energy)
|
|
|
|
|
|
|
|
|
2019-11-08 02:09:39 +09:00
|
|
|
@pytest.fixture(scope='session')
|
2019-11-08 06:37:53 +09:00
|
|
|
def product(price):
|
2019-11-08 02:09:39 +09:00
|
|
|
return Product(TestProduct.product_id, TestProduct.type, TestProduct.common_period_duration, TestProduct.duration,
|
|
|
|
TestProduct.trial_duration, price, TestProduct.feature, TestProduct.debug, TestProduct.features,
|
2019-11-08 06:37:53 +09:00
|
|
|
TestProduct.description, TestProduct.available, TestProduct.trial_available,
|
|
|
|
TestProduct.vendor_trial_available, TestProduct.button_text, TestProduct.button_additional_text,
|
|
|
|
TestProduct.payment_method_types)
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def playlist_id():
|
|
|
|
return PlaylistId(TestPlaylistId.uid, TestPlaylistId.kind)
|
2019-11-08 02:09:39 +09:00
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
Добавлены основные тесты для следующих классов: Album, Artist, Chart, Counts, Genre, Label, PermissionAlerts, PromoCodeStatus, Restrictions, Settings, Station, StatuonResult, Status, Track.
Исправлены фикстуры и сравнения для вышеперечисленных классов.
Отрефакторен restrictions.py.
Исправлен баг в .to_dict() методе, связанный с десериализцией объектов списков и словарей.
2019-11-09 00:24:54 +09:00
|
|
|
def label():
|
|
|
|
return Label(TestLabel.id, TestLabel.name)
|
2019-11-08 02:09:39 +09:00
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def track_position():
|
|
|
|
return TrackPosition(TestTrackPosition.volume, TestTrackPosition.index)
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def best():
|
|
|
|
return Best(TestBest.type, TestBest.result, TestBest.text)
|
|
|
|
|
|
|
|
|
Добавлены основные тесты для следующих классов: Album, Artist, Chart, Counts, Genre, Label, PermissionAlerts, PromoCodeStatus, Restrictions, Settings, Station, StatuonResult, Status, Track.
Исправлены фикстуры и сравнения для вышеперечисленных классов.
Отрефакторен restrictions.py.
Исправлен баг в .to_dict() методе, связанный с десериализцией объектов списков и словарей.
2019-11-09 00:24:54 +09:00
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def status(account, permissions, subscription, plus):
|
|
|
|
return Status(account, permissions, subscription, TestStatus.cache_limit, TestStatus.subeditor,
|
|
|
|
TestStatus.subeditor_level, plus, TestStatus.default_email, TestStatus.skips_per_hour,
|
|
|
|
TestStatus.station_exists, TestStatus.premium_region)
|
|
|
|
|
|
|
|
|
2019-11-08 02:09:39 +09:00
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def chart(track_id):
|
|
|
|
return Chart(TestChart.position, TestChart.progress, TestChart.listeners, TestChart.shift, track_id)
|
|
|
|
|
|
|
|
|
Добавлены основные тесты для следующих классов: AlbumEvent, AlbumsLikes, ArtistEvent, ArtistsLikes, ChartItem, Dashboard, Day, Event, Sequence, StationTracksResult, Supplement, TrackWithAds.
Исправлены фикстуры и сравнения для вышеперечисленных классов.
Отрефакторен conftest.py.
Исправлен баг в .to_dict() методе, связанный с не рекурсивной десериализацией объектов списков и словарей.
Исправлен баг с десериализацией artist в классе ArtistEvent
2019-11-09 22:43:02 +09:00
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def event(track, artist_event, album_event):
|
|
|
|
return Event(TestEvent.id, TestEvent.type, TestEvent.type_for_from, TestEvent.title, [track], [artist_event],
|
|
|
|
[album_event], TestEvent.message, TestEvent.device, TestEvent.tracks_count)
|
|
|
|
|
|
|
|
|
2019-11-08 02:09:39 +09:00
|
|
|
@pytest.fixture(scope='session')
|
Добавлены основные тесты для следующий классов: DiscreteScale, Icon, Id, Images, Label, Pager, PlayCounter, Plus, Price, TrackId, TrackShortOld, Value.
Исправлены фикстуры и сравнения для вышеперечисленных классов.
2019-11-08 05:36:41 +09:00
|
|
|
def track_id():
|
|
|
|
return TrackId(TestTrackId.id, TestTrackId.album_id)
|
|
|
|
|
|
|
|
|
2019-11-08 06:37:53 +09:00
|
|
|
@pytest.fixture(scope='session')
|
Добавлены основные тесты для следующий классов: DiscreteScale, Icon, Id, Images, Label, Pager, PlayCounter, Plus, Price, TrackId, TrackShortOld, Value.
Исправлены фикстуры и сравнения для вышеперечисленных классов.
2019-11-08 05:36:41 +09:00
|
|
|
def value():
|
|
|
|
return Value(TestValue.value, TestValue.name)
|
2019-11-08 02:09:39 +09:00
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def id():
|
|
|
|
return Id(TestId.type, TestId.tag)
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def sequence(track):
|
|
|
|
return Sequence(TestSequence.type, track, TestSequence.liked)
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
Добавлены основные тесты для следующих классов: Album, Artist, Chart, Counts, Genre, Label, PermissionAlerts, PromoCodeStatus, Restrictions, Settings, Station, StatuonResult, Status, Track.
Исправлены фикстуры и сравнения для вышеперечисленных классов.
Отрефакторен restrictions.py.
Исправлен баг в .to_dict() методе, связанный с десериализцией объектов списков и словарей.
2019-11-09 00:24:54 +09:00
|
|
|
def station(id, icon, restrictions):
|
|
|
|
return Station(id, TestStation.name, icon, icon, icon, TestStation.id_for_from, restrictions, restrictions, id)
|
|
|
|
|
|
|
|
|
Добавлены основные тесты для следующих классов: AlbumEvent, AlbumsLikes, ArtistEvent, ArtistsLikes, ChartItem, Dashboard, Day, Event, Sequence, StationTracksResult, Supplement, TrackWithAds.
Исправлены фикстуры и сравнения для вышеперечисленных классов.
Отрефакторен conftest.py.
Исправлен баг в .to_dict() методе, связанный с не рекурсивной десериализацией объектов списков и словарей.
Исправлен баг с десериализацией artist в классе ArtistEvent
2019-11-09 22:43:02 +09:00
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def chart_item(track, chart):
|
|
|
|
return ChartItem(track, chart)
|
|
|
|
|
|
|
|
|
Добавлены основные тесты для следующих классов: Album, Artist, Chart, Counts, Genre, Label, PermissionAlerts, PromoCodeStatus, Restrictions, Settings, Station, StatuonResult, Status, Track.
Исправлены фикстуры и сравнения для вышеперечисленных классов.
Отрефакторен restrictions.py.
Исправлен баг в .to_dict() методе, связанный с десериализцией объектов списков и словарей.
2019-11-09 00:24:54 +09:00
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def station_result(station, rotor_settings, ad_params):
|
|
|
|
return StationResult(station, rotor_settings, rotor_settings, ad_params, TestStationResult.explanation,
|
|
|
|
TestStationResult.prerolls)
|
2019-11-08 02:09:39 +09:00
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def ad_params():
|
|
|
|
return AdParams(TestAdParams.partner_id, TestAdParams.category_id, TestAdParams.page_ref, TestAdParams.target_ref,
|
|
|
|
TestAdParams.other_params, TestAdParams.ad_volume, TestAdParams.genre_id, TestAdParams.genre_name)
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='session')
|
Добавлены основные тесты для следующих классов: Album, Artist, Chart, Counts, Genre, Label, PermissionAlerts, PromoCodeStatus, Restrictions, Settings, Station, StatuonResult, Status, Track.
Исправлены фикстуры и сравнения для вышеперечисленных классов.
Отрефакторен restrictions.py.
Исправлен баг в .to_dict() методе, связанный с десериализцией объектов списков и словарей.
2019-11-09 00:24:54 +09:00
|
|
|
def restrictions(enum, discrete_scale):
|
|
|
|
return Restrictions(enum, enum, discrete_scale, discrete_scale, enum)
|