import pytest from assertpy import assert_that from ui_automation_framework.utils import logger as cl from app.src.helpers.images_helper import validate_pixel_match from app.src.helpers.predefined_screenshots.screenshot_paths import ScreenshotPaths from app.src.pages.login_page import LoginPage from app.src.pages.profile_page import ProfilePage from app.src.pages.starred_page import StarredPage from app.src.pages.track_page import TrackPage @pytest.mark.usefixtures("set_up", "one_time_set_up", "authorized_api") class MockTest: log = cl.Logger() @pytest.fixture(autouse=True) def classSetup(self, authorized_api): self.api = authorized_api self.loginPage = LoginPage(self.driver, authorized_api) self.profilePage = ProfilePage(self.driver) self.starredPage = StarredPage(self.driver, authorized_api) self.predefined_screenshot = ScreenshotPaths() self.trackPage = TrackPage(self.driver, authorized_api) @pytest.mark.smoke def test_1(self): self.loginPage.login_as_mock_user(user_number=1) self.profilePage.open_profile_screen_and_select_market("United States").select_starred_tracks_tab() self.starredPage.click_on_starred_track_by_position(1) assert_that(self.trackPage.is_track_page_opened("Flowers"), "Verified track page is opened") screenshots = [ self.predefined_screenshot.track_page_default_full_data_1, self.predefined_screenshot.track_page_default_full_data_2, self.predefined_screenshot.track_page_default_full_data_3, self.predefined_screenshot.track_page_default_full_data_4, self.predefined_screenshot.track_page_default_full_data_5 ] for screenshot_path in screenshots: validate_pixel_match(self.driver, screenshot_for_comparing=screenshot_path) self.trackPage.smooth_scroll_down() @pytest.mark.smoke def test_4(self): self.loginPage.login_as_mock_user(user_number=1) self.profilePage.open_profile_screen_and_select_market("United States").select_starred_tracks_tab() self.starredPage.click_on_starred_track_by_position(2) assert_that(self.trackPage.is_track_page_opened("No longer"), "Verified track page is opened") screenshots = [ self.predefined_screenshot.track_page_default_empty_state_1, self.predefined_screenshot.track_page_default_empty_state_2, self.predefined_screenshot.track_page_default_empty_state_3, self.predefined_screenshot.track_page_default_empty_state_4 ] for screenshot_path in screenshots: validate_pixel_match(self.driver, screenshot_for_comparing=screenshot_path) self.trackPage.smooth_scroll_down()