import unittest import allure import pytest from ui_automation_framework.core import TestStatus from ui_automation_framework.utils import AppConfig, CoreConfig from app.api_client import ApiClient from app.src.pages.login_page import LoginPage from app.src.pages.track_page import TrackPage @pytest.mark.usefixtures("set_up", "one_time_set_up") class DemographicsTrackPageTest(unittest.TestCase): @pytest.fixture(autouse=True) def classSetup(self): self.loginPage = LoginPage(self.driver) self.trackPage = TrackPage(self.driver) self.api_client = ApiClient() self.ts = TestStatus(self.driver) @allure.story("AP-3925") @allure.severity(allure.severity_level.NORMAL) @allure.title("Demographics verification (Delphi endpoints) on Track page - UI") @allure.description("Demographics verification (Delphi endpoints) on Track page - UI") def test_track_page_demographics_verification_delphi_ui_tp(self): user = self.loginPage.get_user_email_with_worker() token = self.api_client.authorize(user=user) self.loginPage.login_with_worker() self.loginPage.is_logged_in() url_to_open = "{url}/spotify/track/{id}?market={market}".format(url=CoreConfig.ENV_BASE_URL, id=AppConfig.get("track3")["id"], market=AppConfig.get("market")["us"]["url"]) self.trackPage.open_url(url_to_open) self.trackPage.select_dsp("Spotify") self.trackPage.page_has_loaded() self.trackPage.wait_for_stream_performance_graph_visible() start_date = str(self.trackPage.get_calendar_start_date()) end_date = str(self.trackPage.get_calendar_end_date()) # step 1-6 self.trackPage.track_performance_verify_streams_age_and_gender( dsp=AppConfig.get("dsp")["spotify"], market=AppConfig.get("market")["us"]["market"], isrc=AppConfig.get("track3")["isrc"], start_date=start_date, end_date=end_date, token=token, ) # step 7-10 self.trackPage.select_dsp(AppConfig.get("dsp")["apple"]) self.trackPage.track_performance_verify_streams_age_and_gender( dsp=AppConfig.get("dsp")["apple"], market=AppConfig.get("market")["us"]["market"], isrc=AppConfig.get("track3")["isrc"], start_date=start_date, end_date=end_date, token=token, ) # step 11 url_to_open = "{url}/spotify/track/{id}?market={market}&str_gr_start_date={start}&str_gr_end_date={end}".format( url=CoreConfig.ENV_BASE_URL, id=AppConfig.get("track3")["id"], market=AppConfig.get("market")["global"]["url"], start=start_date, end=end_date, ) self.trackPage.open_url(url_to_open) self.trackPage.select_dsp("Spotify") self.trackPage.wait_for_stream_performance_graph_visible() self.trackPage.track_performance_verify_streams_age_and_gender( dsp=AppConfig.get("dsp")["spotify"], market=AppConfig.get("market")["global"]["api"], isrc=AppConfig.get("track3")["isrc"], start_date=start_date, end_date=end_date, token=token, ) self.trackPage.select_dsp(AppConfig.get("dsp")["apple"]) self.trackPage.track_performance_verify_streams_age_and_gender( dsp=AppConfig.get("dsp")["apple"], market=AppConfig.get("market")["global"]["api"], isrc=AppConfig.get("track3")["isrc"], start_date=start_date, end_date=end_date, token=token, ) # step 11 url_to_open = "{url}/spotify/track/{id}?market={market}&str_gr_start_date={start}&str_gr_end_date={end}".format( url=CoreConfig.ENV_BASE_URL, id=AppConfig.get("track3")["id"], market=AppConfig.get("market")["global"]["url"], start=start_date, end=end_date, ) self.trackPage.open_url(url_to_open) self.trackPage.select_dsp("Spotify") self.trackPage.wait_for_stream_performance_graph_visible() self.trackPage.track_performance_verify_streams_age_and_gender( dsp=AppConfig.get("dsp")["spotify"], market=AppConfig.get("market")["global"]["api"], isrc=AppConfig.get("track3")["isrc"], start_date=start_date, end_date=end_date, token=token, ) self.trackPage.select_dsp(AppConfig.get("dsp")["apple"]) self.trackPage.track_performance_verify_streams_age_and_gender( dsp=AppConfig.get("dsp")["apple"], market=AppConfig.get("market")["global"]["api"], isrc=AppConfig.get("track3")["isrc"], start_date=start_date, end_date=end_date, token=token, ) # step 12 url_to_open = "{url}/apple/track/{id}?market={market}&str_gr_start_date={start}&str_gr_end_date={end}".format( url=CoreConfig.ENV_BASE_URL, id=AppConfig.get("track5")["apple_id"], market=AppConfig.get("market")["global"]["url"], start=start_date, end=end_date, ) self.trackPage.open_url(url_to_open) self.trackPage.select_dsp("Spotify") self.trackPage.wait_for_stream_performance_graph_visible() self.trackPage.track_performance_verify_streams_age_and_gender( dsp=AppConfig.get("dsp")["spotify"], market=AppConfig.get("market")["global"]["api"], isrc=AppConfig.get("track5")["isrc"], start_date=start_date, end_date=end_date, token=token, ) self.trackPage.select_dsp(AppConfig.get("dsp")["apple"]) self.trackPage.track_performance_verify_streams_age_and_gender( dsp=AppConfig.get("dsp")["apple"], market=AppConfig.get("market")["global"]["api"], isrc=AppConfig.get("track5")["isrc"], start_date=start_date, end_date=end_date, token=token, )