import pytest import allure @pytest.mark.usefixtures("app") class TestArtistCardView: @allure.title("[Artist Card View] - TikTok") @allure.description("As user I want to search Artist and see information card") @allure.testcase("https://data-analytics.atlassian.net/browse/DNAD-156") @pytest.mark.smoke def test_artist_card_tiktok(self): dsp = 'tiktok' self.app.go_to(self.discovery_page.url) self.discovery_page.is_page_loaded() self.discovery_page.dsp_tiktok_on(True) self.discovery_page.random_artist_tiktok_changes() with self.app.page.expect_response( lambda response: response.url == self.discovery_page.api_artist_discovery and response.status == 200 ) as discovery_response: self.discovery_page.bn_discovery.click() self.discovery_results_page.verify_artist_card(dsp, discovery_response) with self.app.page.expect_response( lambda response: response.url == self.discovery_page.api_artist_discovery and response.status == 200 ) as discovery_response: self.discovery_results_page.bn_next_page.click() self.discovery_results_page.verify_artist_card(dsp, discovery_response) self.discovery_results_page.bn_edit_discovery.click() self.discovery_page.expand_sparkline_block().sparkline_tiktok.select_option('Likes') with self.app.page.expect_response( lambda response: response.url == self.discovery_page.api_artist_discovery and response.status == 200 ) as discovery_response: self.discovery_page.bn_discovery.click() self.discovery_results_page.verify_artist_card(dsp, discovery_response) with self.app.page.expect_response( lambda response: response.url == self.discovery_page.api_artist_discovery and response.status == 200 ) as discovery_response: self.discovery_results_page.bn_next_page.click() self.discovery_results_page.verify_artist_card(dsp, discovery_response) @allure.title("[Artist Card View] - YouTube") @allure.description("As user I want to search Artist and see information card") @allure.testcase("https://data-analytics.atlassian.net/browse/DNAD-798") @pytest.mark.smoke def test_artist_card_youtube(self): dsp = 'youtube' self.app.go_to(self.discovery_page.url) self.discovery_page.is_page_loaded() self.discovery_page.dsp_youtube_on(True) self.discovery_page.random_artist_youtube_changes() with self.app.page.expect_response( lambda response: response.url == self.discovery_page.api_artist_discovery and response.status == 200 ) as discovery_response: self.discovery_page.bn_discovery.click() self.discovery_results_page.verify_artist_card(dsp, discovery_response) with self.app.page.expect_response( lambda response: response.url == self.discovery_page.api_artist_discovery and response.status == 200 ) as discovery_response: self.discovery_results_page.bn_next_page.click() self.discovery_results_page.verify_artist_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_artist_discovery and response.status == 200 ) as discovery_response: self.discovery_page.bn_discovery.click() self.discovery_results_page.verify_artist_card(dsp, discovery_response) with self.app.page.expect_response( lambda response: response.url == self.discovery_page.api_artist_discovery and response.status == 200 ) as discovery_response: self.discovery_results_page.bn_next_page.click() self.discovery_results_page.verify_artist_card(dsp, discovery_response) @allure.title("[Artist Card View] - Spotify") @allure.description("As user I want to search Artist and see information card") @allure.testcase("https://data-analytics.atlassian.net/browse/DNAD-947") @pytest.mark.smoke def test_artist_card_spotify(self): dsp = 'spotify' self.app.go_to(self.discovery_page.url) self.discovery_page.is_page_loaded() self.discovery_page.dsp_spotify_on(True) self.discovery_page.random_artist_spotify_changes() with self.app.page.expect_response( lambda response: response.url == self.discovery_page.api_artist_discovery and response.status == 200 ) as discovery_response: self.discovery_page.bn_discovery.click() self.discovery_results_page.verify_artist_card(dsp, discovery_response) with self.app.page.expect_response( lambda response: response.url == self.discovery_page.api_artist_discovery and response.status == 200 ) as discovery_response: self.discovery_results_page.bn_next_page.click() self.discovery_results_page.verify_artist_card(dsp, discovery_response) self.discovery_results_page.bn_edit_discovery.click() self.discovery_page.expand_sparkline_block().sparkline_spotify.select_option('Listeners/Mth') with self.app.page.expect_response( lambda response: response.url == self.discovery_page.api_artist_discovery and response.status == 200 ) as discovery_response: self.discovery_page.bn_discovery.click() self.discovery_results_page.verify_artist_card(dsp, discovery_response) with self.app.page.expect_response( lambda response: response.url == self.discovery_page.api_artist_discovery and response.status == 200 ) as discovery_response: self.discovery_results_page.bn_next_page.click() self.discovery_results_page.verify_artist_card(dsp, discovery_response) self.discovery_results_page.bn_edit_discovery.click() self.discovery_page.expand_sparkline_block().sparkline_spotify.select_option('Popularity') with self.app.page.expect_response( lambda response: response.url == self.discovery_page.api_artist_discovery and response.status == 200 ) as discovery_response: self.discovery_page.bn_discovery.click() self.discovery_results_page.verify_artist_card(dsp, discovery_response) with self.app.page.expect_response( lambda response: response.url == self.discovery_page.api_artist_discovery and response.status == 200 ) as discovery_response: self.discovery_results_page.bn_next_page.click() self.discovery_results_page.verify_artist_card(dsp, discovery_response) @allure.title("[Artist Card View] - SoundCloud") @allure.description("As user I want to search Artist and see information card") @allure.testcase("https://data-analytics.atlassian.net/browse/DNAD-1277") @pytest.mark.smoke def test_artist_card_soundcloud(self): dsp = 'soundcloud' self.app.go_to(self.discovery_page.url) self.discovery_page.is_page_loaded() self.discovery_page.dsp_soundcloud_on(True) self.discovery_page.random_artist_soundcloud_changes() with self.app.page.expect_response( lambda response: response.url == self.discovery_page.api_artist_discovery and response.status == 200 ) as discovery_response: self.discovery_page.bn_discovery.click() self.discovery_results_page.verify_artist_card(dsp, discovery_response) with self.app.page.expect_response( lambda response: response.url == self.discovery_page.api_artist_discovery and response.status == 200 ) as discovery_response: self.discovery_results_page.bn_next_page.click() self.discovery_results_page.verify_artist_card(dsp, discovery_response) self.discovery_results_page.bn_edit_discovery.click() self.discovery_page.expand_sparkline_block().sparkline_soundcloud.select_option('Plays') with self.app.page.expect_response( lambda response: response.url == self.discovery_page.api_artist_discovery and response.status == 200 ) as discovery_response: self.discovery_page.bn_discovery.click() self.discovery_results_page.verify_artist_card(dsp, discovery_response) with self.app.page.expect_response( lambda response: response.url == self.discovery_page.api_artist_discovery and response.status == 200 ) as discovery_response: self.discovery_results_page.bn_next_page.click() self.discovery_results_page.verify_artist_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_artist_discovery and response.status == 200 ) as discovery_response: self.discovery_page.bn_discovery.click() self.discovery_results_page.verify_artist_card(dsp, discovery_response) with self.app.page.expect_response( lambda response: response.url == self.discovery_page.api_artist_discovery and response.status == 200 ) as discovery_response: self.discovery_results_page.bn_next_page.click() self.discovery_results_page.verify_artist_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_artist_discovery and response.status == 200 ) as discovery_response: self.discovery_page.bn_discovery.click() self.discovery_results_page.verify_artist_card(dsp, discovery_response) with self.app.page.expect_response( lambda response: response.url == self.discovery_page.api_artist_discovery and response.status == 200 ) as discovery_response: self.discovery_results_page.bn_next_page.click() self.discovery_results_page.verify_artist_card(dsp, discovery_response) @allure.title("[Artist Card View] - check activated DSP") @allure.description("As user I want to search Artist and see information card") @pytest.mark.regression def test_artist_card_activated_dsp(self): self.app.go_to(self.discovery_page.url) self.discovery_page.is_page_loaded() # 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)