mirror of
https://github.com/pacnpal/thrillwiki_django_no_react.git
synced 2025-12-20 07:31:07 -05:00
@@ -1,160 +0,0 @@
|
||||
from playwright.sync_api import expect, Page
|
||||
|
||||
|
||||
def test_reviews_list_page(page: Page):
|
||||
# Navigate to reviews page
|
||||
page.goto("http://localhost:8000/reviews/")
|
||||
|
||||
# Check reviews list elements
|
||||
expect(page.get_by_role("heading", name="Latest Reviews")).to_be_visible()
|
||||
expect(page.get_by_role("searchbox", name="Search reviews")).to_be_visible()
|
||||
|
||||
# Check filter options
|
||||
expect(page.get_by_role("combobox", name="Type")).to_be_visible()
|
||||
expect(page.get_by_role("combobox", name="Rating")).to_be_visible()
|
||||
expect(page.get_by_role("combobox", name="Sort By")).to_be_visible()
|
||||
|
||||
|
||||
def test_review_search(page: Page):
|
||||
# Navigate to reviews page
|
||||
page.goto("http://localhost:8000/reviews/")
|
||||
|
||||
# Search for reviews
|
||||
search_box = page.get_by_role("searchbox", name="Search reviews")
|
||||
search_box.fill("great experience")
|
||||
search_box.press("Enter")
|
||||
|
||||
# Verify search results
|
||||
expect(page.get_by_text("great experience", exact=False)).to_be_visible()
|
||||
|
||||
|
||||
def test_review_filters(page: Page):
|
||||
# Navigate to reviews page
|
||||
page.goto("http://localhost:8000/reviews/")
|
||||
|
||||
# Select type filter
|
||||
page.get_by_role("combobox", name="Type").select_option("Parks")
|
||||
|
||||
# Select rating filter
|
||||
page.get_by_role("combobox", name="Rating").select_option("5 Stars")
|
||||
|
||||
# Select sort order
|
||||
page.get_by_role("combobox", name="Sort By").select_option("Most Recent")
|
||||
|
||||
# Verify filtered results
|
||||
expect(page.get_by_text("Park Review")).to_be_visible()
|
||||
expect(page.locator(".five-star-rating")).to_be_visible()
|
||||
|
||||
|
||||
def test_review_detail_page(page: Page):
|
||||
# Navigate to a specific review
|
||||
page.goto("http://localhost:8000/reviews/1/")
|
||||
|
||||
# Check review details
|
||||
expect(page.get_by_role("heading", name="Review")).to_be_visible()
|
||||
expect(page.locator(".review-rating")).to_be_visible()
|
||||
expect(page.locator(".review-date")).to_be_visible()
|
||||
expect(page.locator(".review-author")).to_be_visible()
|
||||
expect(page.locator(".review-content")).to_be_visible()
|
||||
|
||||
|
||||
def test_review_voting(page: Page):
|
||||
# First login
|
||||
page.goto("http://localhost:8000/accounts/login/")
|
||||
page.get_by_label("Username").fill("testuser")
|
||||
page.get_by_label("Password").fill("testpass123")
|
||||
page.get_by_role("button", name="Sign In").click()
|
||||
|
||||
# Navigate to review
|
||||
page.goto("http://localhost:8000/reviews/1/")
|
||||
|
||||
# Click helpful button
|
||||
page.get_by_role("button", name="Helpful").click()
|
||||
|
||||
# Verify vote registered
|
||||
expect(page.get_by_text("You found this review helpful")).to_be_visible()
|
||||
expect(page.locator(".helpful-count")).to_contain_text("1")
|
||||
|
||||
|
||||
def test_review_comments(page: Page):
|
||||
# First login
|
||||
page.goto("http://localhost:8000/accounts/login/")
|
||||
page.get_by_label("Username").fill("testuser")
|
||||
page.get_by_label("Password").fill("testpass123")
|
||||
page.get_by_role("button", name="Sign In").click()
|
||||
|
||||
# Navigate to review
|
||||
page.goto("http://localhost:8000/reviews/1/")
|
||||
|
||||
# Add comment
|
||||
page.get_by_label("Comment").fill("Great review! Very helpful.")
|
||||
page.get_by_role("button", name="Post Comment").click()
|
||||
|
||||
# Verify comment appears
|
||||
expect(page.get_by_text("Great review! Very helpful.")).to_be_visible()
|
||||
|
||||
|
||||
def test_review_moderation(page: Page):
|
||||
# First login as moderator
|
||||
page.goto("http://localhost:8000/accounts/login/")
|
||||
page.get_by_label("Username").fill("moderator")
|
||||
page.get_by_label("Password").fill("modpass123")
|
||||
page.get_by_role("button", name="Sign In").click()
|
||||
|
||||
# Navigate to review
|
||||
page.goto("http://localhost:8000/reviews/1/")
|
||||
|
||||
# Check moderation options
|
||||
expect(page.get_by_role("button", name="Edit Review")).to_be_visible()
|
||||
expect(page.get_by_role("button", name="Delete Review")).to_be_visible()
|
||||
expect(page.get_by_role("button", name="Flag Review")).to_be_visible()
|
||||
|
||||
|
||||
def test_review_reporting(page: Page):
|
||||
# First login
|
||||
page.goto("http://localhost:8000/accounts/login/")
|
||||
page.get_by_label("Username").fill("testuser")
|
||||
page.get_by_label("Password").fill("testpass123")
|
||||
page.get_by_role("button", name="Sign In").click()
|
||||
|
||||
# Navigate to review
|
||||
page.goto("http://localhost:8000/reviews/1/")
|
||||
|
||||
# Click report button
|
||||
page.get_by_role("button", name="Report Review").click()
|
||||
|
||||
# Fill report form
|
||||
page.get_by_label("Reason").select_option("inappropriate")
|
||||
page.get_by_label("Details").fill("This review contains inappropriate content")
|
||||
|
||||
# Submit report
|
||||
page.get_by_role("button", name="Submit Report").click()
|
||||
|
||||
# Verify report confirmation
|
||||
expect(page.get_by_text("Review reported successfully")).to_be_visible()
|
||||
|
||||
|
||||
def test_review_editing(page: Page):
|
||||
# First login as review author
|
||||
page.goto("http://localhost:8000/accounts/login/")
|
||||
page.get_by_label("Username").fill("testuser")
|
||||
page.get_by_label("Password").fill("testpass123")
|
||||
page.get_by_role("button", name="Sign In").click()
|
||||
|
||||
# Navigate to own review
|
||||
page.goto("http://localhost:8000/reviews/1/")
|
||||
|
||||
# Click edit button
|
||||
page.get_by_role("button", name="Edit Review").click()
|
||||
|
||||
# Modify review
|
||||
page.get_by_label("Title").fill("Updated Review Title")
|
||||
page.get_by_label("Review").fill("Updated review content")
|
||||
|
||||
# Save changes
|
||||
page.get_by_role("button", name="Save Changes").click()
|
||||
|
||||
# Verify updates
|
||||
expect(page.get_by_text("Updated Review Title")).to_be_visible()
|
||||
expect(page.get_by_text("Updated review content")).to_be_visible()
|
||||
expect(page.get_by_text("(edited)")).to_be_visible()
|
||||
Reference in New Issue
Block a user