in issues/327/user_tool.py [0:0]
def test_invite_member_name_visibility_on_hover():
with sync_playwright() as p:
browser2 = None
page2 = None
user_email2 = None
try:
browser2, page2, user_email2 = login_user(p, "Bob", "B", 2)
except Exception as e:
raise e
finally:
if page2:
page2.context.tracing.stop(path="/app/expensify/user_tool/output_browser2.zip")
trace_cleaner("/app/expensify/user_tool/output_browser2.zip")
if browser2:
browser2.close()
browser = None
page = None
user_email = None
try:
browser, page, user_email = login_user(p, "Alice", "A", 1)
page.get_by_label("Start chat (Floating action)").click()
page.get_by_text("Start chat").click()
page.get_by_test_id("selection-list-text-input").fill(user_email2)
page.wait_for_timeout(1000)
page.locator(f'div[dir="auto"]:has-text("{user_email2}")').last.click()
page.get_by_role("textbox").fill("Hello")
page.get_by_label("Start chat (Floating action)").click()
page.get_by_text("New workspace").click()
page.get_by_text("Members").click()
page.wait_for_timeout(1000)
page.get_by_role("button", name="Invite member").click()
page.locator('input[data-testid="selection-list-text-input"]').fill(user_email2)
page.locator(f'div[dir="auto"]:has-text("{user_email2}")').last.click()
next_button = page.get_by_role("button", name="Next")
next_button.click()
page.get_by_test_id("WorkspaceInviteMessagePage").get_by_role("button", name="Invite").click()
page.wait_for_timeout(1000)
avatar_count = page.locator('[data-testid="SvgFallbackAvatar Icon"]').count()
for i in range(0, avatar_count):
avatar = page.locator('[data-testid="SvgFallbackAvatar Icon"]').nth(i)
if avatar.is_visible() and avatar.is_enabled():
try:
avatar.hover(timeout=500)
print(f"Hovered over avatar {i}")
except Exception as e:
print(f"Failed to hover over avatar {i}: {e}")
page.wait_for_timeout(100)
hover_container = page.locator('div.css-text-146c3p1:has-text("Bob B")').nth(3)
hover_container.wait_for(timeout=3000) # Wait until the hover element appears
assert hover_container.is_visible(), "Hover element containing 'Bob B' is not visible"
except Exception as e:
raise e
finally:
if page:
page.context.tracing.stop(path="/app/expensify/user_tool/output_browser1.zip")
trace_cleaner("/app/expensify/user_tool/output_browser1.zip")
if browser:
browser.close()