import json import unittest from argparse import Namespace import allure import pytest from ui_automation_framework.core import TestStatus from ui_automation_framework.utils import AppConfig from app.src.pages.apple_playlist_page import ApplePlaylistPage 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 ApplePlaylistPageTest(unittest.TestCase): playlist9 = json.loads(json.dumps(AppConfig.get("playlist9")), object_hook=lambda d: Namespace(**d)) playlist13 = json.loads(json.dumps(AppConfig.get("playlist13")), object_hook=lambda d: Namespace(**d)) us = json.loads(json.dumps(AppConfig.get("market")["us"]), object_hook=lambda d: Namespace(**d)) canada = json.loads(json.dumps(AppConfig.get("market")["canada"]), object_hook=lambda d: Namespace(**d)) @pytest.fixture(autouse=True) def classSetup(self): self.loginPage = LoginPage(self.driver) self.apple_playlist = ApplePlaylistPage(self.driver) self.trackPage = TrackPage(self.driver) self.ts = TestStatus(self.driver) @allure.issue("https://data-analytics.atlassian.net/browse/AP-10915") @pytest.mark.flaky(reruns=0) @allure.story("AP-3834") @allure.severity(allure.severity_level.NORMAL) @allure.title("Apple Playlist Timestamps verification") @allure.description("""TC verifies that user has ability to check the freshness of displayed data. """) def test_timestamps(self): self.loginPage.login_with_worker() self.apple_playlist.open_apple_playlist_page_with_market(self.playlist9.apple_id, self.us.name) # step 1-3 self.apple_playlist.verify_info_icon(id=self.playlist9.apple_id) # step 4-5 self.apple_playlist.verify_info_updated(id=self.playlist9.apple_id) # step 6-8 self.apple_playlist.verify_icon_time(id=self.playlist9.apple_id) # step 9 self.trackPage.select_market(self.canada.name) self.apple_playlist.verify_info_icon(id=self.playlist9.apple_id) self.apple_playlist.verify_icon_time(id=self.playlist9.apple_id) # step 10 self.apple_playlist.open_apple_playlist_page(self.playlist13.apple_id) self.apple_playlist.verify_icon_time(id=self.playlist13.apple_id, na=True)