from playwright.sync_api import Page from src.helpers.logger import Logger from src.locators.artist_page.artist_header import ArtistPageHeaderLocators from src.pages.apollo_header_main import ApolloHeader from src.ui_elements.base_ui_element import BaseUIElement from src.ui_elements.date_range_day_picker import DateRangeUIElement tab_name = "Artist Page Header - " class ArtistPageHeader(ApolloHeader): log = Logger() def __init__(self, page: Page): super().__init__(page) self.page = page self.entity_type = 'spotify/artist/{0}?market={1}' self.url = f'/{self.entity_type}' self.artist_title = BaseUIElement(self.page, ArtistPageHeaderLocators.ARTIST_TITLE, tab_name + "artists title") self.artist_streams_title = BaseUIElement(self.page, ArtistPageHeaderLocators.ARTIST_STREAMS_TITLE, tab_name + "artists streams title") self.sas_tab = BaseUIElement(self.page, ArtistPageHeaderLocators.SAS_TAB, tab_name + "streams and sources tab") self.by_markets_tab = BaseUIElement(self.page, ArtistPageHeaderLocators.BY_MARKETS_TAB, tab_name + "by markets tab") self.day_picker = DateRangeUIElement(self.page, ArtistPageHeaderLocators.DAY_PICKER, tab_name + "day picker")