import logging import unittest import allure import pytest from ui_automation_framework.core import TestStatus from ui_automation_framework.utils import AppConfig from ui_automation_framework.utils import logger as cl from app.api_client import ApiClient from app.src.pages.album_page import AlbumPage from app.src.pages.comparison_page import TrackComparisonPage 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 DeepLinkingTrackPageTest(unittest.TestCase): log = cl.Logger(logging.DEBUG) @pytest.fixture(autouse=True) def classSetup(self): self.loginPage = LoginPage(self.driver) self.tp = TrackPage(self.driver) self.cp = TrackComparisonPage(self.driver) self.ap = AlbumPage(self.driver) self.api_client = ApiClient() self.ts = TestStatus(self.driver) @allure.story("AP-5156") @allure.severity(allure.severity_level.NORMAL) @allure.title("[4913] [YT > New Video Page] Legend with sources and demographics general checks.") @allure.description( """TC verifies LF/LB breakdown and demographic data in the legend under the views graph with respect to specific Sources and Demographic identification on the Video page.""" ) def test_youtube_nvp_legend_sources_and_demographics_general_checks(self): self.loginPage.login_with_worker() self.tp.open_youtube_video_page(isrc=AppConfig.get("track6")["isrc"], market=AppConfig.get("market")["global"]["url"]) # step 1-6 self.tp.vp_youtube_verify_footnote_and_legend_lb_lf() # step 7-8, 10-15 api_resp = self.api_client.get_delphi_videos( isrc=AppConfig.get("track6")["isrc"], params="group_by=date%2Cvideo_id&sort_by=views&limit=20&views=1000&expand_to=related_isrcs&content_type=partner_uploaded%2Cpremium_ugc&", ) video_ids = [i["video_id"] for i in api_resp] self.tp.verify_legend_video_performance( markets=[AppConfig.get("market")["global"]["api"]], isrc=AppConfig.get("track6")["isrc"], video_ids=video_ids, ) # step 16 self.tp.select_previous_mounth_period() self.tp.verify_legend_video_performance( markets=[AppConfig.get("market")["global"]["api"]], isrc=AppConfig.get("track6")["isrc"], video_ids=video_ids, ) # step 17 self.tp.market_dd_choose_few_countries(param=[AppConfig.get("market")["us"]["name"]], tab="youtube_nvp") self.tp.verify_legend_video_performance(markets=[AppConfig.get("market")["us"]["market"]], isrc=AppConfig.get("track6")["isrc"], video_ids=video_ids) # NOT AUTOMATED - STEPS 9, 18-20