diff --git a/pages/new_item_page.py b/pages/new_item_page.py index f0d8390..083ef27 100644 --- a/pages/new_item_page.py +++ b/pages/new_item_page.py @@ -1,6 +1,10 @@ +import allure + from locators.new_item_locators import NewItemLocators from pages.base_page import BasePage +loc = NewItemLocators() + class NewItemPage(BasePage): @@ -11,3 +15,10 @@ def open_new_item_page(self): def is_new_item_page_opened(self) -> bool: self.wait_for_visible(NewItemLocators.SELECT_ITEM_TYPE_SECTION) return self.is_visible(NewItemLocators.SELECT_ITEM_TYPE_SECTION) + + def create_project_with_existing_name(self, name): + with allure.step(f"Enter existing item name: {name}"): + self.page.fill(loc.NAME_FIELD, name) + error = self.page.locator(NewItemLocators.ERROR_MESSAGE) + error.hover() + return error.inner_text() diff --git a/tests/new_item/test_error_message_item_name.py b/tests/new_item/test_error_message_item_name.py new file mode 100644 index 0000000..205abbe --- /dev/null +++ b/tests/new_item/test_error_message_item_name.py @@ -0,0 +1,23 @@ +import allure + +from data.endpoints import Endpoints +from data.enums import ItemType + +from pages.new_item_page import NewItemPage +from utils.generators.project_generator import ProjectGenerator + + +@allure.epic("NewItemPage") +@allure.feature("Handle errors on NewItemPage") +class TestErrorMessageItemName: + generator = ProjectGenerator() + endpoints = Endpoints() + new_item_page = NewItemPage + + @allure.story("Error: existing item name") + def test_tc_01_001_06_error_existing_item_name(self, create_job, open_page): + job_name = create_job(self.generator.generate_folder_name(), ItemType.FOLDER) + all_job_page = open_page(NewItemPage, self.endpoints.ALL_NEW_JOB_URL) + error_message = all_job_page.create_project_with_existing_name(job_name) + + assert error_message == f"» A job already exists with the name ‘{job_name}’" \ No newline at end of file