import pytest import allure @pytest.mark.usefixtures("app") class TestTrackCardView: @allure.title("[Track Card View] - TikTok") @allure.description("As user I want to search Track and see information card") @allure.testcase("https://data-analytics.atlassian.net/browse/DNAD-190") @pytest.mark.smoke def test_track_card_tiktok(self): dsp = 'tiktok' 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) self.discovery_page.random_track_tiktok_changes() with self.app.page.expect_response( lambda response: response.url == self.discovery_page.api_track_discovery and response.status == 200 ) as discovery_response: self.discovery_page.bn_discovery.click() self.discovery_results_page.verify_track_card(dsp, discovery_response) with self.app.page.expect_response( lambda response: response.url == self.discovery_page.api_track_discovery and response.status == 200 ) as discovery_response: self.discovery_results_page.bn_next_page.click() self.discovery_results_page.verify_track_card(dsp, discovery_response) self.discovery_results_page.bn_edit_discovery.click() self.discovery_page.expand_sparkline_block().sparkline_tiktok.select_option('Views') with self.app.page.expect_response( lambda response: response.url == self.discovery_page.api_track_discovery and response.status == 200 ) as discovery_response: self.discovery_page.bn_discovery.click() self.discovery_results_page.verify_track_card(dsp, discovery_response) with self.app.page.expect_response( lambda response: response.url == self.discovery_page.api_track_discovery and response.status == 200 ) as discovery_response: self.discovery_results_page.bn_next_page.click() self.discovery_results_page.verify_track_card(dsp, discovery_response) @allure.title("[Track Card View] - YouTube") @allure.description("As user I want to search Track and see information card") @allure.testcase("https://data-analytics.atlassian.net/browse/DNAD-800") @pytest.mark.smoke def test_track_card_youtube(self): dsp = 'youtube' 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) self.discovery_page.random_track_youtube_changes() with self.app.page.expect_response( lambda response: response.url == self.discovery_page.api_track_discovery and response.status == 200 ) as discovery_response: self.discovery_page.bn_discovery.click() self.discovery_results_page.verify_track_card(dsp, discovery_response) with self.app.page.expect_response( lambda response: response.url == self.discovery_page.api_track_discovery and response.status == 200 ) as discovery_response: self.discovery_results_page.bn_next_page.click() self.discovery_results_page.verify_track_card(dsp, discovery_response) self.discovery_results_page.bn_edit_discovery.click() self.discovery_page.expand_sparkline_block().sparkline_youtube.select_option('Views') with self.app.page.expect_response( lambda response: response.url == self.discovery_page.api_track_discovery and response.status == 200 ) as discovery_response: self.discovery_page.bn_discovery.click() self.discovery_results_page.verify_track_card(dsp, discovery_response) with self.app.page.expect_response( lambda response: response.url == self.discovery_page.api_track_discovery and response.status == 200 ) as discovery_response: self.discovery_results_page.bn_next_page.click() self.discovery_results_page.verify_track_card(dsp, discovery_response) @allure.title("[Track Card View] - Spotify") @allure.description("As user I want to search Track and see information card") @allure.testcase("https://data-analytics.atlassian.net/browse/DNAD-948") @pytest.mark.smoke def test_track_card_spotify(self): dsp = 'spotify' 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) self.discovery_page.random_track_spotify_changes() with self.app.page.expect_response( lambda response: response.url == self.discovery_page.api_track_discovery and response.status == 200 ) as discovery_response: self.discovery_page.bn_discovery.click() self.discovery_results_page.verify_track_card(dsp, discovery_response) with self.app.page.expect_response( lambda response: response.url == self.discovery_page.api_track_discovery and response.status == 200 ) as discovery_response: self.discovery_results_page.bn_next_page.click() self.discovery_results_page.verify_track_card(dsp, discovery_response) self.discovery_results_page.bn_edit_discovery.click() self.discovery_page.expand_sparkline_block().sparkline_spotify.select_option('Artist Listeners/Mth') with self.app.page.expect_response( lambda response: response.url == self.discovery_page.api_track_discovery and response.status == 200 ) as discovery_response: self.discovery_page.bn_discovery.click() self.discovery_results_page.verify_track_card(dsp, discovery_response) with self.app.page.expect_response( lambda response: response.url == self.discovery_page.api_track_discovery and response.status == 200 ) as discovery_response: self.discovery_results_page.bn_next_page.click() self.discovery_results_page.verify_track_card(dsp, discovery_response) @allure.title("[Track Card View] - SoundCloud") @allure.description("As user I want to search Track and see information card") @allure.testcase("https://data-analytics.atlassian.net/browse/DNAD-1277") @pytest.mark.smoke def test_track_card_soundcloud(self): dsp = 'soundcloud' 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) self.discovery_page.random_track_soundcloud_changes() with self.app.page.expect_response( lambda response: response.url == self.discovery_page.api_track_discovery and response.status == 200 ) as discovery_response: self.discovery_page.bn_discovery.click() self.discovery_results_page.verify_track_card(dsp, discovery_response) with self.app.page.expect_response( lambda response: response.url == self.discovery_page.api_track_discovery and response.status == 200 ) as discovery_response: self.discovery_results_page.bn_next_page.click() self.discovery_results_page.verify_track_card(dsp, discovery_response) self.discovery_results_page.bn_edit_discovery.click() self.discovery_page.expand_sparkline_block().sparkline_soundcloud.select_option('Artist Followers') with self.app.page.expect_response( lambda response: response.url == self.discovery_page.api_track_discovery and response.status == 200 ) as discovery_response: self.discovery_page.bn_discovery.click() self.discovery_results_page.verify_track_card(dsp, discovery_response) with self.app.page.expect_response( lambda response: response.url == self.discovery_page.api_track_discovery and response.status == 200 ) as discovery_response: self.discovery_results_page.bn_next_page.click() self.discovery_results_page.verify_track_card(dsp, discovery_response) self.discovery_results_page.bn_edit_discovery.click() self.discovery_page.expand_sparkline_block().sparkline_soundcloud.select_option('Likes') with self.app.page.expect_response( lambda response: response.url == self.discovery_page.api_track_discovery and response.status == 200 ) as discovery_response: self.discovery_page.bn_discovery.click() self.discovery_results_page.verify_track_card(dsp, discovery_response) with self.app.page.expect_response( lambda response: response.url == self.discovery_page.api_track_discovery and response.status == 200 ) as discovery_response: self.discovery_results_page.bn_next_page.click() self.discovery_results_page.verify_track_card(dsp, discovery_response) self.discovery_results_page.bn_edit_discovery.click() self.discovery_page.expand_sparkline_block().sparkline_soundcloud.select_option('Comments') with self.app.page.expect_response( lambda response: response.url == self.discovery_page.api_track_discovery and response.status == 200 ) as discovery_response: self.discovery_page.bn_discovery.click() self.discovery_results_page.verify_track_card(dsp, discovery_response) with self.app.page.expect_response( lambda response: response.url == self.discovery_page.api_track_discovery and response.status == 200 ) as discovery_response: self.discovery_results_page.bn_next_page.click() self.discovery_results_page.verify_track_card(dsp, discovery_response) @allure.title("[Track Card View] - check activated DSP") @allure.description("As user I want to search Track and see information card") @pytest.mark.regression def test_track_card_activated_dsp(self): self.app.go_to(self.discovery_page.url) self.discovery_page.is_page_loaded() self.discovery_page.switch_scope_to_tracks() # case 1: self.discovery_page.dsp_tiktok_on(True) self.discovery_page.dsp_youtube_on(True) self.discovery_page.dsp_spotify_on(True) self.discovery_page.dsp_soundcloud_on(True) activated_dsp = 'tiktok' self.discovery_page.bn_discovery.click() self.discovery_results_page.verify_card_activated_dsp(activated_dsp) # case 2: self.discovery_results_page.bn_edit_discovery.click() self.discovery_page.dsp_spotify_on(False) self.discovery_page.dsp_soundcloud_on(False) activated_dsp = 'tiktok' self.discovery_page.bn_discovery.click() self.discovery_results_page.verify_card_activated_dsp(activated_dsp) # case 3: self.discovery_results_page.bn_edit_discovery.click() self.discovery_page.dsp_youtube_on(False) self.discovery_page.dsp_spotify_on(True) activated_dsp = 'tiktok' self.discovery_page.bn_discovery.click() self.discovery_results_page.verify_card_activated_dsp(activated_dsp) # case 4: self.discovery_results_page.bn_edit_discovery.click() self.discovery_page.dsp_tiktok_on(False) self.discovery_page.dsp_youtube_on(True) self.discovery_page.dsp_soundcloud_on(True) activated_dsp = 'spotify' self.discovery_page.bn_discovery.click() self.discovery_results_page.verify_card_activated_dsp(activated_dsp) # case 5: self.discovery_results_page.bn_edit_discovery.click() self.discovery_page.dsp_spotify_on(False) activated_dsp = 'youtube' self.discovery_page.bn_discovery.click() self.discovery_results_page.verify_card_activated_dsp(activated_dsp)