def test_expensify()

in issues/326/user_tool.py [0:0]


def test_expensify():
    with sync_playwright() as p:
        browser = p.chromium.launch(headless=True, args=[
            "--disable-web-security",
            "--disable-features=IsolateOrigins,site-per-process"
        ])

        first_user_context = browser.new_context(ignore_https_errors=True)

        first_user_context.tracing.start(screenshots=True, snapshots=True)
        page = first_user_context.new_page()

        try:
            page.wait_for_timeout(3000)
            new_dot_login(page, EMAIL)
            page.wait_for_timeout(3000)

            my_settings = page.get_by_label("My settings")
            expect(my_settings).to_be_visible()
            my_settings.click()
            page.wait_for_timeout(1000)

            work_spaces = page.locator('div[aria-label="Workspaces"]')
            expect(work_spaces).to_be_visible()
            work_spaces.click()
            page.wait_for_timeout(1000)
            my_work = page.locator("div:nth-child(2) > div:nth-child(2) > div > div:nth-child(2) > div > div")
            expect(my_work).to_be_visible()
            my_work.click()
            page.wait_for_timeout(1000)

            features = page.locator('div[aria-label="Members"]')
            expect(features).to_be_visible()
            features.click()
            page.wait_for_timeout(1000)

            invite_member = page.locator('button:has-text("Invite member")')
            expect(invite_member).to_be_visible()
            invite_member.click()
            page.wait_for_timeout(1000)

            page.locator('input[aria-label="Name, email, or phone number"]').fill("qwerty@gmail.com")
            page.wait_for_timeout(1000)

            page.locator(f'button[aria-label="qwerty@gmail.com"]').nth(0).click()
            page.wait_for_timeout(1000)

            page.locator('input[aria-label="Name, email, or phone number"]').fill("asdfg@gmail.com")
            page.wait_for_timeout(1000)

            page.locator(f'button[aria-label="asdfg@gmail.com"]').nth(0).click()
            page.wait_for_timeout(1000)

            assert page.locator('button[aria-label="qwerty@gmail.com"]').nth(0).is_visible()
            assert page.locator('button[aria-label="asdfg@gmail.com"]').nth(0).is_visible()

            page.locator('input[aria-label="Name, email, or phone number"]').fill("qwerty@gmail.com")
            page.wait_for_timeout(1000)

            assert page.locator('button[aria-label="qwerty@gmail.com"]').nth(0).is_visible()

            page.wait_for_timeout(1500)
        finally:

            first_user_context.tracing.stop(path="/app/expensify/user_tool/output_browser1.zip")

            trace_cleaner("/app/expensify/user_tool/output_browser1.zip")
            page.close()
            browser.close()