import allure import pytest from assertpy import assert_that from src.data.amplitude_data import TOP_CHARTS_APPLE_TAB from src.helpers.date_utils import get_url_date_from_ui @pytest.mark.usefixtures("app") class TestTopChartsAppleTabEvents: @allure.title("[AP-10327][Amplitude] Top Charts. Apple tab events verification") @allure.description("TC Verifies: Amplitude events on Top Charts → Apple Music tab") @allure.testcase("https://data-analytics.atlassian.net/browse/AP-10554") @pytest.mark.regression def test_top_charts_apple_amplitude_events_step_1_5(self): events_all = self.app.get_amplitude_requests() self.login_page.login() self.app.go_to(self.top_charts_apple_tab.url) self.top_charts_page.apple_tab.is_selected() self.top_charts_apple_tab.is_loaded() # step 1 date_ui = '01/03/23' market = "Global" self.top_charts_apple_tab.select_date(date_ui) self.app.verify_amplitude_events(payloads=events_all, event_type=TOP_CHARTS_APPLE_TAB["tab_filtered"], event_properties={"apple_music_ch_date": get_url_date_from_ui(date_ui)}) # step 2 self.top_charts_apple_tab.select_market(market) self.app.verify_amplitude_events(payloads=events_all, event_type=TOP_CHARTS_APPLE_TAB["tab_filtered"], event_properties={"apple_music_ch_country": market}) # step 3 events_before = self.app.get_amplitude_requests() self.top_charts_apple_tab.filter_input.input_text("123") events_after = self.app.get_amplitude_requests() assert_that(events_before).is_equal_to(events_after) # step 4 self.top_charts_page.apple_tab.click() self.app.verify_amplitude_events(payloads=events_all, event_type=TOP_CHARTS_APPLE_TAB["search"], event_properties={}) # step 5 with self.top_charts_apple_tab.page.expect_download() as download_info: self.top_charts_apple_tab.export_button.click() download = download_info.value download.delete() self.app.verify_amplitude_events(payloads=events_all, event_type=TOP_CHARTS_APPLE_TAB["export_clicked"], event_properties={}) @allure.title("[AP-10327][Amplitude] Top Charts. Apple tab events verification") @allure.description("TC Verifies: Amplitude events on Top Charts → Apple Music tab") @allure.testcase("https://data-analytics.atlassian.net/browse/AP-10554") @pytest.mark.regression def test_top_charts_apple_amplitude_events_step_6_7(self): events_all = self.app.get_amplitude_requests() self.login_page.login() self.app.go_to(self.top_charts_apple_tab.url) self.top_charts_page.apple_tab.is_selected() self.top_charts_apple_tab.is_loaded() # step 6 self.top_charts_apple_tab.column_position_values._element.first.click() popup_track_id = self.popup.get_track_id() popup_isrc = self.app.api.get_apple_id_by_isrc(popup_track_id, "us") popup_track_name = self.popup.track_link.get_text() popup_track_artist = self.popup.artist_link.get_text() self.app.verify_amplitude_events(payloads=events_all, event_type=TOP_CHARTS_APPLE_TAB["popup_viewed"], event_properties={"isrc": popup_isrc, "track_id": popup_track_id, "track_name": popup_track_name, "track_artist": popup_track_artist}) # step 7 self.popup.close_icon.click() self.top_charts_apple_tab.column_position_values._element.nth(2).click() popup_track_id = self.popup.get_track_id() popup_isrc = self.app.api.get_apple_id_by_isrc(popup_track_id, "us") popup_track_name = self.popup.track_link.get_text() popup_track_artist = self.popup.artist_link.get_text() self.app.verify_amplitude_events(payloads=events_all, event_type=TOP_CHARTS_APPLE_TAB["popup_viewed"], event_properties={"isrc": popup_isrc, "track_id": popup_track_id, "track_name": popup_track_name, "track_artist": popup_track_artist})