def test_invite_member_name_visibility_on_hover()

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()