import unittest import allure import pytest from assertpy import assert_that from ui_automation_framework.core import TestStatus from ui_automation_framework.utils import AppConfig from app.api_client import ApiClient from app.src.pages.global_track_priorities_page import GlobalTrackPrioritiesPage from app.src.pages.login_page import LoginPage from app.src.pages.top_charts_page import TopChartsPage from app.src.pages.track_page import TrackPage @pytest.mark.usefixtures("set_up", "one_time_set_up") class FilteringTest(unittest.TestCase): @pytest.fixture(autouse=True) def classSetup(self): self.loginPage = LoginPage(self.driver) self.trackPage = TrackPage(self.driver) self.gtp = GlobalTrackPrioritiesPage(self.driver) self.topChartsPage = TopChartsPage(self.driver) self.api_client = ApiClient() self.ts = TestStatus(self.driver) @allure.story("AP-6310") @allure.severity(allure.severity_level.NORMAL) @allure.title("[AP-5774][YT>Trending] Details (Table view) verification.") @allure.description("TC verifies Details tab table data in YT Trending section.") def test_trending_details_table_verification(self): self.loginPage.login_with_worker() self.trackPage.select_market(AppConfig.get("market")["belgium"]["name"]) # step 1 self.trackPage.open_youtube_video_page(isrc=AppConfig.get("track54")["isrc"], market=AppConfig.get("market")["belgium"]["name"]) self.trackPage.nvp_youtube_check_videos_with_trending() self.trackPage.scroll_to_trending_datepicker() self.trackPage.nvp_youtube_trending_switch_tab(self.trackPage.YT_TRENDING_DETAILS_TAB) video_id = self.trackPage.parameter_from_url(self.trackPage.str_gr_video) trending_date = self.api_client.get_video_trending_date(video_id=video_id)["video"]["max"] # step 2-3, 7-11 self.trackPage.nvp_trending_details_table_verification(video_id=video_id, trending_date=trending_date) # step 4 self.trackPage.verify_trending_home_market(market=AppConfig.get("market")["belgium"]["name"]) # step 5-6 for market in [AppConfig.get("market")["andorra"]["name"], AppConfig.get("market")["global"]["name"]]: self.trackPage.select_market(market) self.trackPage.nvp_youtube_check_videos_with_trending() self.trackPage.scroll_to_trending_datepicker() self.trackPage.nvp_youtube_trending_switch_tab(self.trackPage.YT_TRENDING_DETAILS_TAB) is_home_market_present = self.trackPage.verify_trending_home_market(market=AppConfig.get("market")["global"]["name"]) assert_that(is_home_market_present).is_false() # step 8 self.topChartsPage.open_trending_popup()