import unittest import allure import pytest from assertpy import assert_that from parameterized import parameterized from ui_automation_framework.core import TestStatus from ui_automation_framework.utils import AppConfig 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 DeepLinkingTrackPageTest(unittest.TestCase): @pytest.fixture(autouse=True) def classSetup(self): self.loginPage = LoginPage(self.driver) self.tp = TrackPage(self.driver) self.api_client = ApiClient() self.ts = TestStatus(self.driver) @parameterized.expand(["0", "1"]) @allure.story("AP-6324") @allure.severity(allure.severity_level.NORMAL) @allure.title("[AP-6251][FP>New Market Selector]Top Markets list identification verification.") @allure.description("""TC verifies Top Markets fast selection on FP > Views by Markets.""") def test_nvp_youtube_top_markets_list(self, count): self.loginPage.login_with_worker() self.tp.open_youtube_video_page(isrc=AppConfig.get("track40")["isrc"], market=AppConfig.get("market")["global"]["url"]) self.tp.youtube_switch_to_views_by_market_tab() self.tp.stream_and_source_choose_region(self.tp.top_markets, "youtube_vbm") count = int(count) if count > 0: self.tp.nvp_youtube_check_videos_by_indexes(list(range(0, count))) # step 1, 5 market_dd_ui = self.tp.graph_get_selected_market("youtube_vbm") assert_that(market_dd_ui).is_equal_to(self.tp.top_markets) # step 2 self.tp.graph_verify_top_markets_icon_hint() # step 3 legend_by_markets_api = self.tp.get_youtube_streams_by_markets_api(AppConfig.get("market")["all_markets"], AppConfig.get("track40")["isrc"])["views"].keys() legend_by_markets_api = list(legend_by_markets_api)[:15] legend_by_markets_ui = self.tp.by_markets_get_legend_values() markets_legend_ui = list(legend_by_markets_ui.keys()) assert_that(markets_legend_ui).is_equal_to(legend_by_markets_api) # step 4 self.tp.select_previous_mounth_period() legend_by_markets_api = self.tp.get_youtube_streams_by_markets_api(AppConfig.get("market")["all_markets"], AppConfig.get("track40")["isrc"])["views"].keys() legend_by_markets_api = list(legend_by_markets_api)[:15] legend_by_markets_ui = self.tp.by_markets_get_legend_values() markets_legend_ui = list(legend_by_markets_ui.keys()) assert_that(markets_legend_ui).is_equal_to(legend_by_markets_api)