import unittest import allure import pytest 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.top_charts_page import TopChartsPage from app.src.pages.track_page import TrackPage @pytest.mark.usefixtures("set_up", "one_time_set_up") class TopChartsPageTest(unittest.TestCase): @pytest.fixture(autouse=True) def classSetup(self): self.loginPage = LoginPage(self.driver) self.topChartsPage = TopChartsPage(self.driver) self.trackPage = TrackPage(self.driver) self.api_client = ApiClient() self.ts = TestStatus(self.driver) @allure.story("AP-6102") @allure.severity(allure.severity_level.NORMAL) @allure.title("[AP-5841][Charts] Trending Details pop-up. Graph verification.") @allure.description("""TC verifies graph elements of Trending Details pop-up on the Charts page.""") def test_charts_trending_details_position_popup(self): self.loginPage.login_with_worker() self.trackPage.select_market(AppConfig.get("market")["canada"]["name"]) self.topChartsPage.open_top_chart_page() self.topChartsPage.switch_tab(self.topChartsPage.YOUTUBE_TYPE) self.topChartsPage.open_trending_popup(position=2) # step 1 self.topChartsPage.verify_lines_number_trending_popup(lines_color=[self.topChartsPage.TRENDING_DETAILS_POPUP_GRAPH_POSITION_LINE_COLOR]) self.topChartsPage.verify_axes_trending_popup() # step 2 self.topChartsPage.verify_legend_trending_popup() # step 3-4, 8 date = self.trackPage.parameter_from_url(self.topChartsPage.date) market = self.trackPage.parameter_from_url(self.topChartsPage.market) video_id = self.api_client.get_youtube_full_trend(market, date)[1]["video_id"] ui_tooltip = self.topChartsPage.get_tooltip_trending_popup() self.topChartsPage.verify_tooltip_trending_popup(ui_tooltip=ui_tooltip, video_id=video_id, market=AppConfig.get("market")["denmark"]["market"]) # step 7 self.topChartsPage.verify_peak_minimum_tooltip_trending_popup(ui_tooltip=ui_tooltip) # NOT AUTOMATED STEPS: 5, 6