import logging import unittest import allure import pytest from assertpy import assert_that from parameterized import parameterized 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.album_page import AlbumPage 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 DeepLinkingTrackPageTest(unittest.TestCase): log = cl.Logger(logging.DEBUG) @pytest.fixture(autouse=True) def classSetup(self): self.loginPage = LoginPage(self.driver) self.tp = TrackPage(self.driver) self.ap = AlbumPage(self.driver) self.ts = TestStatus(self.driver) @parameterized.expand( [ ("spotify", ["May 22 2021", "May 25 2021"], "belgium", {"be": {"percentage": 0.0, "views": 16, "avg": 5}}), ("apple", ["May 22 2021", "May 24 2021"], "germany", {"de": {"percentage": 1.0, "views": 6, "avg": 3}}), ("total_streams", ["May 22 2021", "May 25 2021"], "belgium", {"be": {"percentage": 0.0, "views": 16, "avg": 5}}), ] ) @allure.story("AP-6300") @allure.severity(allure.severity_level.NORMAL) @allure.title("[AP-6226] Album Page. By Markets graph legend. Tooltip calculation when there is 0 steams for some days") @allure.description("TC verifies the correctness of calculated data when there are days with 0 streams for the selected market is selected period.") def test_album_page_by_markets_0_streams(self, dsp, date_range, market, expected_result): self.loginPage.login_with_worker() self.tp.open_spotify_page(id=AppConfig.get("album3")["id"], page_type="album") self.tp.is_graph_period_displayed() self.ap.switch_to_tab(self.ap.COUNTRIES_TAB) self.tp.calendar_select_date_range(date_range) self.tp.select_dsp(AppConfig.get("dsp")[dsp]) self.tp.market_dd_choose_few_countries([AppConfig.get("market")[market]["name"]], "tp_sbm") legend_by_markets_ui = self.tp.by_markets_get_legend_values() assert_that(legend_by_markets_ui).is_equal_to(expected_result) self.tp.choose_graph_view_bar_chart() legend_by_markets_ui = self.tp.by_markets_get_legend_values() assert_that(legend_by_markets_ui).is_equal_to(expected_result)