import unittest import allure import pytest 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.global_track_priorities_page import GlobalTrackPrioritiesPage from app.src.pages.login_page import LoginPage from app.src.pages.track_page import TrackPage from app.src.pages.tt_dashboard_page import TTDashboardPage from app.src.pages.tt_dashboard_pot_popup import TTDashboardPOTPopup from app.src.pages.tt_dashboard_top10 import TTDashboardTOP10Popup @pytest.mark.usefixtures("set_up", "one_time_set_up") class TTDashboardPageTest(unittest.TestCase): @pytest.fixture(autouse=True) def classSetup(self): self.loginPage = LoginPage(self.driver) self.tt_dashboard = TTDashboardPage(self.driver) self.trackPage = TrackPage(self.driver) self.tt_dashboard_potp = TTDashboardPOTPopup(self.driver) self.tt_dashboard_top10 = TTDashboardTOP10Popup(self.driver) self.gtp = GlobalTrackPrioritiesPage(self.driver) self.api_client = ApiClient() self.ts = TestStatus(self.driver) @parameterized.expand( [ ("daily", "by-creations-change"), ("daily", "by-creations"), ("7days", "by-creations-change"), ("7days", "by-creations"), ] ) @allure.story("AP-7335") @allure.severity(allure.severity_level.NORMAL) @allure.title("[AP-6913] TikTok Dashboard. Popup - Top 10 Markets. Legend calculations") @allure.description("TC verifies the correctness of metrics in the graph legend on the Top 10 Markets popup on the Sony TikTok Toplist page.") def test_tt_dashboard_top10_legend_calculations_verification(self, view, tab): self.loginPage.login_with_worker() self.trackPage.select_market(AppConfig.get("market")["us"]["name"]) self.tt_dashboard.open() self.tt_dashboard.select_tab(tab) self.tt_dashboard.select_view(view) # steps 1, 5, 12 self.tt_dashboard_top10.verify_column_hover() # step 2 self.tt_dashboard_top10.open() # step 4 self.tt_dashboard_top10.verify_elements() # step 7 self.tt_dashboard_top10.verify_track() # step 8 self.tt_dashboard_top10.verify_artist() # step 9 self.tt_dashboard_top10.close() # NOT AUTOMATED STEPS - 3, 6, 10-11