forked from retoor/devplacepy
Update
This commit is contained in:
@@ -917,3 +917,45 @@ def test_feed_online_now_widget_lists_current_user(alice):
|
||||
page.locator(f".online-user[title='{user['username']}']")
|
||||
).to_have_count(1)
|
||||
expect(page.locator(".online-users .presence-dot.online").first).to_be_visible()
|
||||
|
||||
|
||||
def _scroll_and_open_post(page):
|
||||
_seed_feed_posts(30)
|
||||
page.goto(f"{BASE_URL}/feed", wait_until="domcontentloaded")
|
||||
page.locator(".post-card").first.wait_for(state="visible")
|
||||
page.evaluate("window.scrollTo(0, 1200)")
|
||||
page.wait_for_function("window.scrollY > 1000")
|
||||
card_link = page.locator(".post-card .card-link").nth(5)
|
||||
card_link.scroll_into_view_if_needed()
|
||||
page.wait_for_timeout(400)
|
||||
y_before = page.evaluate("window.scrollY")
|
||||
assert y_before > 0
|
||||
card_link.click()
|
||||
page.wait_for_url(f"{BASE_URL}/posts/*", wait_until="domcontentloaded")
|
||||
return y_before
|
||||
|
||||
|
||||
def test_feed_scroll_restored_via_back_link(alice):
|
||||
page, user = alice
|
||||
y_before = _scroll_and_open_post(page)
|
||||
back = page.locator("a.back-link")
|
||||
back.wait_for(state="visible")
|
||||
back.click()
|
||||
page.wait_for_url(f"{BASE_URL}/feed*", wait_until="domcontentloaded")
|
||||
page.wait_for_function(f"Math.abs(window.scrollY - {y_before}) < 60")
|
||||
|
||||
|
||||
def test_feed_scroll_restored_via_browser_back(alice):
|
||||
page, user = alice
|
||||
y_before = _scroll_and_open_post(page)
|
||||
page.go_back(wait_until="domcontentloaded")
|
||||
page.wait_for_function(f"Math.abs(window.scrollY - {y_before}) < 60")
|
||||
|
||||
|
||||
def test_feed_scroll_not_restored_on_fresh_visit(alice):
|
||||
page, user = alice
|
||||
_scroll_and_open_post(page)
|
||||
page.goto(f"{BASE_URL}/gists", wait_until="domcontentloaded")
|
||||
page.goto(f"{BASE_URL}/feed", wait_until="domcontentloaded")
|
||||
page.wait_for_timeout(600)
|
||||
assert page.evaluate("window.scrollY") < 60
|
||||
|
||||
Reference in New Issue
Block a user