import unittest import allure import pytest from assertpy import assert_that from ui_automation_framework.core import TestStatus from ui_automation_framework.utils import CoreConfig from app.src.pages.juno_page import JunoPage from app.src.pages.juno_popup_filters import JunoFilterPopup 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 JunoPageTest(unittest.TestCase): @pytest.fixture(autouse=True) def classSetup(self): self.loginPage = LoginPage(self.driver) self.track_page = TrackPage(self.driver) self.juno = JunoPage(self.driver) self.juno_filter_popup = JunoFilterPopup(self.driver) self.ts = TestStatus(self.driver) @allure.story("AP-9237") @allure.severity(allure.severity_level.NORMAL) @allure.title("[AP-8400][Juno] URL verification") @allure.description("TC verifies the URL to a specific Juno view.") def test_juno_url_verification(self): self.loginPage.login_with_worker() # step 1 self.juno.open() assert_that(self.juno.get_url()).starts_with(f"{CoreConfig.ENV_BASE_URL}/juno?view_id=") view_id_step1 = self.track_page.parameter_from_url(self.juno.view_id) # step 2 self.juno.select_view(2) view_id_step2 = self.track_page.parameter_from_url(self.juno.view_id) assert_that(view_id_step2).is_not_equal_to(view_id_step1) url_step2 = self.juno.get_url() view_name_step2 = self.juno.get_selected_view_name() # step 3 self.juno.refresh() url_step3 = self.juno.get_url() view_name_step3 = self.juno.get_selected_view_name() assert_that(url_step3).is_equal_to(url_step2) assert_that(view_name_step3).is_equal_to(view_name_step2) # step 5 self.juno_filter_popup.open() self.track_page.verify_params_in_url({self.juno_filter_popup.is_open: 1}) url_step5 = self.juno.get_url() # step 6 self.juno.refresh() url_step6 = self.juno.get_url() self.juno_filter_popup.is_opened() assert_that(url_step6).is_equal_to(url_step5) # step 8 self.juno_filter_popup.close() self.juno.is_opened() self.track_page.verify_params_not_in_url([self.juno_filter_popup.is_open]) # NOT AUTOMATED STEP - 4, 7