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.src.pages.chart_digest import ChartDigestPage from app.src.pages.left_navigation_panel import LeftNavigationPanel 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 TopChartsPageTest(unittest.TestCase): log = cl.Logger(logging.DEBUG) @pytest.fixture(autouse=True) def classSetup(self): self.loginPage = LoginPage(self.driver) self.left_panel = LeftNavigationPanel(self.driver) self.chart_digest = ChartDigestPage(self.driver) self.trackPage = TrackPage(self.driver) self.ts = TestStatus(self.driver) @allure.story("AP-681") @allure.severity(allure.severity_level.NORMAL) @allure.title("Verification of the 'Chart Changes' pop up for Spotify/Apple tracks") @allure.description( """TC verify functionality of the Chart Changes pop up, that it contains all required entries and removals and it works as expected for Top 200 Spotify/Top 100 Apple Tracks.""" ) def test_cc_popup_spotify_apple(self): self.loginPage.login_with_worker() self.loginPage.is_logged_in() self.left_panel.open_chart_digest_page() self.chart_digest.is_opened() for m in ["us", "france"]: self.trackPage.select_market(AppConfig.get("market")[m]["name"]) # step 1, 13 for t in [self.chart_digest.TAB_SPOTIFY, self.chart_digest.TAB_APPLE]: self.chart_digest.select_tab(t) self.chart_digest.scroll_to_section(table=self.chart_digest.CHART_CHANGES) self.chart_digest.page_has_loaded() # step 2 popup_opened = self.chart_digest.open_chart_changes_popup() if popup_opened[0]: # step 3 self.chart_digest.cc_popup_verify_elements(count=popup_opened[1]) # step 4 self.chart_digest.cc_popup_verify_card_hover() # step 6-9 self.chart_digest.cc_popup_verify_positions(count=popup_opened[1]) # step 10-11 self.chart_digest.cc_popup_verify_height() # step 5 self.chart_digest.cc_popup_click_on_track_and_verify() self.chart_digest.open_chart_changes_popup() # step 12 self.chart_digest.close_chart_changes_popup()