import unittest import allure import pytest from assertpy import assert_that from ui_automation_framework.core import TestStatus from app.api_client import ApiClient from app.src.pages.chart_digest import ChartDigestPage from app.src.pages.global_track_priorities_page import GlobalTrackPrioritiesPage 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 GlobalTrackPrioritiesPageTest(unittest.TestCase): @pytest.fixture(autouse=True) def classSetup(self): self.loginPage = LoginPage(self.driver) self.chartDigestPage = ChartDigestPage(self.driver) self.gtp = GlobalTrackPrioritiesPage(self.driver) self.lnp = LeftNavigationPanel(self.driver) self.chart_digest = ChartDigestPage(self.driver) self.trackPage = TrackPage(self.driver) self.api_client = ApiClient() self.ts = TestStatus(self.driver) @allure.story("AP-4712") @allure.severity(allure.severity_level.NORMAL) @allure.title("[AP-4582] [GTP -> Content Table] On the GTP weeks verification") @allure.description( """TC verifies On the GTP weeks column functionality. Also, that new tracks and the ones that re-enter the GTP lists are signified with a blue dot and appropriate tooltip in the table.""" ) def test_content_table_on_the_gtp_weeks_verification(self): self.loginPage.login_with_worker() self.gtp.open_current_url_with_param("global-track-priorities?hd_date=2020-11-23&hd_filter_market=_gl") gtp_table = self.gtp.get_all_from_table() track_name_1 = "Prisoner (feat. Dua Lipa)" track_name_2 = "De Cora <3" track_name_3 = "Need to Know" track_name_4 = "INDUSTRY BABY (feat. Jack Harlow)" track_name_5 = "Goosebumps" # steps 1-2 assert_that(gtp_table[track_name_1]["weeks"]).is_equal_to(self.gtp.NEW_ENTRY) # step 3 assert_that(gtp_table[track_name_2]["weeks"]).is_equal_to("2") # steps 4-5 self.trackPage.change_param_in_url_new(self.gtp.hd_date, "2021-08-09") gtp_table = self.gtp.get_all_from_table() assert_that(gtp_table[track_name_3]["weeks"]).is_equal_to(self.gtp.RE_ENTRY) # step 6 assert_that(gtp_table[track_name_4]["weeks"]).is_equal_to("3") self.trackPage.change_param_in_url_new(self.gtp.hd_date, "2021-08-02") gtp_table = self.gtp.get_all_from_table() assert_that(gtp_table[track_name_4]["weeks"]).is_equal_to("2") self.trackPage.change_param_in_url_new(self.gtp.hd_date, "2021-07-26") gtp_table_2 = self.gtp.get_all_from_table() assert_that(gtp_table_2[track_name_4]["weeks"]).is_equal_to(self.gtp.NEW_ENTRY) # step 7 self.trackPage.change_param_in_url_new(self.gtp.hd_date, "2020-11-16") gtp_table_3 = self.gtp.get_all_from_table() self.trackPage.change_param_in_url_new(self.gtp.hd_date, "2020-11-12") self.gtp.open_tab(self.gtp.TAB_BU) gtp_table_4 = self.gtp.get_all_from_table(self.gtp.TAB_BU) assert_that(gtp_table_4[track_name_5]["weeks"]).is_equal_to(self.gtp.NEW_ENTRY) assert_that(gtp_table_3[track_name_5]["weeks"]).is_equal_to("2")