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.left_navigation_panel import LeftNavigationPanel from app.src.pages.login_page import LoginPage from app.src.pages.new_music_friday import NewMusicFridayPage from app.src.pages.new_music_friday_popup import NewMusicFridayPopup from app.src.pages.track_page import TrackPage @pytest.mark.usefixtures("set_up", "one_time_set_up") class NewMusicFridayPageTest(unittest.TestCase): @pytest.fixture(autouse=True) def classSetup(self): self.loginPage = LoginPage(self.driver) self.nmf = NewMusicFridayPage(self.driver) self.nmf_popup = NewMusicFridayPopup(self.driver) self.left_panel = LeftNavigationPanel(self.driver) self.tp = TrackPage(self.driver) self.api_client = ApiClient() self.ts = TestStatus(self.driver) @allure.story("AP-6031") @allure.severity(allure.severity_level.NORMAL) @allure.title("[AP-3985] NMF Pop Up > Home market verification. STEPS 1-6") @allure.description("TC verifies Home Market card. STEPS 1-6") def test_nmf_home_market_card_steps_1_6(self): self.loginPage.login_with_worker() self.tp.select_market(AppConfig.get("market")["australia"]["name"]) self.left_panel.open_right_hamburger_menu_pages(self.left_panel.link_nmf) self.nmf.header_is_present() self.tp.change_param_in_url_new(self.nmf.nmf_date, "2021-09-17") # steps 1-4 for popup in [0, 1, 8]: self.nmf_popup.open(popup) # step 5 if popup in [0, 1]: self.nmf_popup.verify_home_market_spotify_link() self.nmf_popup.get_home_market_and_verify() # step 6 self.nmf_popup.verify_home_market_tooltip("Australia, New Zealand") self.nmf_popup.close() @allure.story("AP-6031") @allure.severity(allure.severity_level.NORMAL) @allure.title("[AP-3985] NMF Pop Up > Home market verification. STEPS 7-14") @allure.description("TC verifies Home Market card. STEPS 7-14") def test_nmf_home_market_card_steps_7_14(self): self.loginPage.login_with_worker() self.tp.select_market(AppConfig.get("market")["global"]["name"]) self.left_panel.open_right_hamburger_menu_pages(self.left_panel.link_nmf) self.nmf.header_is_present() self.tp.change_param_in_url_new(self.nmf.nmf_date, "2021-09-17") # step 7-9, 11 self.nmf.verify_home_market_global() # step 12 self.tp.select_market(AppConfig.get("market")["monaco"]["name"]) self.nmf_popup.open() home_market = self.nmf_popup.get_home_market_and_verify() assert_that(home_market["position"]).is_equal_to(-1) # step 13 self.nmf_popup.verify_home_market_tooltip("New Music Friday playlist does not exist for this market.") # step 14 self.nmf_popup.verify_home_market_spotify_link(False) # CAN NOT BE AUTOMATED - STEPS 10, 15-17