import pytest import allure @pytest.mark.usefixtures("app") class TestSparklinePayload: search_type = 'track' @allure.title("[Search Params Tracks] - Sparkline - TikTok - Payload") @allure.description("As user I want to search tracks by Sparkline TikTok parameters") @allure.testcase("https://data-analytics.atlassian.net/browse/DNAD-392") @pytest.mark.regression def test_sparkline_tiktok(self): self.app.go_to(self.discovery_page.url) self.discovery_page.is_page_loaded() self.discovery_page.switch_scope_to_tracks() self.discovery_page.dsp_tiktok_on(True) # DSP - TIKTOK - ON self.discovery_page.expand_sparkline_block() with self.app.page.expect_request(self.discovery_page.api_track_total_count) as total_count: self.discovery_page.sparkline_tiktok.select_option('Views') expected = {'tiktok': {'chart_type': 'VIEWS'}} self.discovery_page.click_discovery_and_compare_payloads_with_diff_and_return(self.search_type, total_count, expected) @allure.title("[Search Params Tracks] - Sparkline - YouTube - Payload") @allure.description("As user I want to search tracks by Sparkline YouTube parameters") @allure.testcase("https://data-analytics.atlassian.net/browse/DNAD-764") @pytest.mark.regression def test_sparkline_youtube(self): self.app.go_to(self.discovery_page.url) self.discovery_page.is_page_loaded() self.discovery_page.switch_scope_to_tracks() self.discovery_page.dsp_youtube_on(True) # DSP - YOUTUBE - ON self.discovery_page.expand_sparkline_block() with self.app.page.expect_request(self.discovery_page.api_track_total_count) as total_count: self.discovery_page.sparkline_youtube.select_option('Views') expected = {'youtube': {'chart_type': 'VIEWS'}} self.discovery_page.click_discovery_and_compare_payloads_with_diff_and_return(self.search_type, total_count, expected) @allure.title("[Search Params Tracks] - Sparkline - Spotify - Payload") @allure.description("As user I want to search tracks by Sparkline Spotify parameters") @allure.testcase("https://data-analytics.atlassian.net/browse/DNAD-768") @pytest.mark.regression def test_sparkline_spotify(self): self.app.go_to(self.discovery_page.url) self.discovery_page.is_page_loaded() self.discovery_page.switch_scope_to_tracks() self.discovery_page.dsp_spotify_on(True) # DSP - SPOTIFY - ON self.discovery_page.expand_sparkline_block() with self.app.page.expect_request(self.discovery_page.api_track_total_count) as total_count: self.discovery_page.sparkline_spotify.select_option('Artist Listeners/Mth') expected = {'spotify': {'chart_type': 'MONTHLY_LISTENERS'}} self.discovery_page.click_discovery_and_compare_payloads_with_diff_and_return(self.search_type, total_count, expected) @allure.title("[Search Params Tracks] - Sparkline - SoundCloud - Payload") @allure.description("As user I want to search tracks by Sparkline SoundCloud parameters") @allure.testcase("https://data-analytics.atlassian.net/browse/DNAD-765") @pytest.mark.regression def test_sparkline_soundcloud(self): self.app.go_to(self.discovery_page.url) self.discovery_page.is_page_loaded() self.discovery_page.switch_scope_to_tracks() self.discovery_page.dsp_soundcloud_on(True) # DSP - SOUNDCLOUD - ON choices = [['Artist Followers', 'FOLLOWERS'], ['Likes', 'LIKES'], ['Comments', 'COMMENTS'], ] for item in choices: self.discovery_page.expand_sparkline_block() with self.app.page.expect_request(self.discovery_page.api_track_total_count) as total_count: self.discovery_page.sparkline_soundcloud.select_option(item[0]) expected = {'soundcloud': {'chart_type': item[1]}} self.discovery_page.click_discovery_and_compare_payloads_with_diff_and_return(self.search_type, total_count, expected)