diff --git a/TS_AI_Django_Starter/test_pytest/__pycache__/test_product.cpython-39-pytest-8.3.2.pyc b/TS_AI_Django_Starter/test_pytest/__pycache__/test_product.cpython-39-pytest-8.3.2.pyc new file mode 100644 index 0000000..5793bfe Binary files /dev/null and b/TS_AI_Django_Starter/test_pytest/__pycache__/test_product.cpython-39-pytest-8.3.2.pyc differ diff --git a/TS_AI_Django_Starter/test_pytest/requirements.txt b/TS_AI_Django_Starter/test_pytest/requirements.txt new file mode 100644 index 0000000..235aee0 --- /dev/null +++ b/TS_AI_Django_Starter/test_pytest/requirements.txt @@ -0,0 +1,3 @@ +selenium +pytest +requests==2.31.0 diff --git a/TS_AI_Django_Starter/test_pytest/test_product.py b/TS_AI_Django_Starter/test_pytest/test_product.py new file mode 100644 index 0000000..f1055b0 --- /dev/null +++ b/TS_AI_Django_Starter/test_pytest/test_product.py @@ -0,0 +1,48 @@ +import pytest +from selenium import webdriver +from selenium.webdriver.common.by import By +from selenium.webdriver.support.ui import WebDriverWait +from selenium.webdriver.support import expected_conditions as EC + +@pytest.fixture +def driver(): + # Setup WebDriver + driver = webdriver.Chrome() + driver.implicitly_wait(10) + yield driver + # Teardown WebDriver + driver.quit() + +def test_add_and_verify_product(driver): + # Navigate to the application + driver.get("http://127.0.0.1:5000/") + + # Navigate to products page + products_button = WebDriverWait(driver, 10).until( + EC.element_to_be_clickable((By.CSS_SELECTOR, "button[data-bs-target='#products']")) + ) + products_button.click() + + # Add a new product + product_name_input = driver.find_element(By.ID, "productName") + product_price_input = driver.find_element(By.ID, "productPrice") + add_product_button = driver.find_element(By.CSS_SELECTOR, "#products .btn-primary") + + product_name_input.send_keys("car") + product_price_input.send_keys("100000") + add_product_button.click() + + # Verify the product was added + search_button = WebDriverWait(driver, 10).until( + EC.element_to_be_clickable((By.CSS_SELECTOR, "button[data-bs-target='#search']")) + ) + search_button.click() + + search_product_button = WebDriverWait(driver, 10).until( + EC.element_to_be_clickable((By.CSS_SELECTOR, "#search .btn-secondary")) + ) + search_product_button.click() + + page_source = driver.page_source + assert "car" in page_source + assert "100000" in page_source diff --git a/TS_AI_Django_Starter/test_pytest/test_task.py b/TS_AI_Django_Starter/test_pytest/test_task.py new file mode 100644 index 0000000..2d10124 --- /dev/null +++ b/TS_AI_Django_Starter/test_pytest/test_task.py @@ -0,0 +1,45 @@ +import pytest +from selenium import webdriver +from selenium.webdriver.common.by import By +from selenium.webdriver.support.ui import WebDriverWait +from selenium.webdriver.support import expected_conditions as EC + +@pytest.fixture +def driver(): + # Setup WebDriver + driver = webdriver.Chrome() + driver.implicitly_wait(10) + yield driver + # Teardown WebDriver + driver.quit() + +def test_add_and_verify_task(driver): + # Navigate to the application + driver.get("http://127.0.0.1:5000/") + + # Navigate to tasks page + tasks_button = WebDriverWait(driver, 10).until( + EC.element_to_be_clickable((By.CSS_SELECTOR, "button[data-bs-target='#tasks']")) + ) + tasks_button.click() + + # Add a new task + task_title_input = driver.find_element(By.ID, "taskTitle") + add_task_button = driver.find_element(By.CSS_SELECTOR, "#tasks .btn-primary") + + task_title_input.send_keys("sell cars") + add_task_button.click() + + # Verify the task was added + search_button = WebDriverWait(driver, 10).until( + EC.element_to_be_clickable((By.CSS_SELECTOR, "button[data-bs-target='#search']")) + ) + search_button.click() + + search_task_button = WebDriverWait(driver, 10).until( + EC.element_to_be_clickable((By.CSS_SELECTOR, "#search .btn-secondary")) + ) + search_task_button.click() + + page_source = driver.page_source + assert "sell cars" in page_source diff --git a/TS_AI_Django_Starter/test_pytest/test_user.py b/TS_AI_Django_Starter/test_pytest/test_user.py new file mode 100644 index 0000000..f9e3e4b --- /dev/null +++ b/TS_AI_Django_Starter/test_pytest/test_user.py @@ -0,0 +1,48 @@ +import pytest +from selenium import webdriver +from selenium.webdriver.common.by import By +from selenium.webdriver.support.ui import WebDriverWait +from selenium.webdriver.support import expected_conditions as EC + +@pytest.fixture +def driver(): + # Setup WebDriver + driver = webdriver.Chrome() + driver.implicitly_wait(10) + yield driver + # Teardown WebDriver + driver.quit() + +def test_add_and_verify_user(driver): + # Navigate to the application + driver.get("http://127.0.0.1:5000/") + + # Navigate to users page + users_button = WebDriverWait(driver, 10).until( + EC.element_to_be_clickable((By.CSS_SELECTOR, "button[data-bs-target='#users']")) + ) + users_button.click() + + # Add a new user + user_name_input = driver.find_element(By.ID, "userName") + user_email_input = driver.find_element(By.ID, "userEmail") + add_user_button = driver.find_element(By.CSS_SELECTOR, "#users .btn-primary") + + user_name_input.send_keys("ui_user") + user_email_input.send_keys("ui_user@example.com") + add_user_button.click() + + # Verify the user was added + search_button = WebDriverWait(driver, 10).until( + EC.element_to_be_clickable((By.CSS_SELECTOR, "button[data-bs-target='#search']")) + ) + search_button.click() + + search_user_button = WebDriverWait(driver, 10).until( + EC.element_to_be_clickable((By.CSS_SELECTOR, "#search .btn-secondary")) + ) + search_user_button.click() + + page_source = driver.page_source + assert "ui_user" in page_source + assert "ui_user@example.com" in page_source