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.album_page import AlbumPage 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): isrcs = ["USAT22000730", "USAT22000731"] album_id = "2WSnuau1j8jGUrrCvRo8rK" @pytest.fixture(autouse=True) def classSetup(self): self.loginPage = LoginPage(self.driver) self.trackPage = TrackPage(self.driver) self.album_page = AlbumPage(self.driver) self.api_client = ApiClient() self.ts = TestStatus(self.driver) @allure.story("AP-3926") @allure.severity(allure.severity_level.NORMAL) @allure.title("Demographics verification (Delphi endpoints) on Album page - UI") @allure.description("Demographics verification (Delphi endpoints) on Album page - UI") def test_track_page_demographics_verification_delphi_ui_ap(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/album/{id}".format(url=CoreConfig.ENV_BASE_URL, id=self.album_id) self.trackPage.open_url(url_to_open) self.trackPage.select_market(AppConfig.get("market")["australia"]["name"]) self.trackPage.market_dd_choose_few_countries([AppConfig.get("market")["australia"]["name"]]) self.trackPage.select_graph_one_year_period() self.trackPage.wait_for_stream_performance_graph_visible() # step 1-5 self.album_page.track_performance_verify_streams_age_and_gender( dsp=AppConfig.get("dsp")["spotify"], market=AppConfig.get("market")["australia"]["market"], isrcs=self.isrcs, token=token, ) # step 6-10 self.album_page.select_dsp(AppConfig.get("dsp")["apple"]) self.album_page.track_performance_verify_streams_age_and_gender( dsp=AppConfig.get("dsp")["apple"], market=AppConfig.get("market")["australia"]["market"], isrcs=self.isrcs, token=token, ) # step 11 self.trackPage.select_market(AppConfig.get("market")["global"]["name"]) self.album_page.track_performance_verify_streams_age_and_gender( dsp=AppConfig.get("dsp")["spotify"], market=AppConfig.get("market")["global"]["api"], isrcs=self.isrcs, token=token, ) self.album_page.select_dsp(AppConfig.get("dsp")["apple"]) self.album_page.track_performance_verify_streams_age_and_gender( dsp=AppConfig.get("dsp")["apple"], market=AppConfig.get("market")["global"]["api"], isrcs=self.isrcs, token=token, )