def test_inconsistent_button_behavior()

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


def test_inconsistent_button_behavior():
    with sync_playwright() as p:
        user_info = get_test_user_info(10)

        delete_email_inbox(user_info["email"], user_info["password"], retries=6, delay=5)

        browser = p.chromium.launch(channel="chrome", headless=True, slow_mo=500, args=[
            "--disable-web-security",
            "--disable-features=IsolateOrigins,site-per-process"
        ])

        context, page = get_context(p, user_info, browser)
        # Start tracing
        context.tracing.start(screenshots=True, snapshots=True, sources=True)

        try:
            login_user(page, user_info)

            page.get_by_label("Start chat (Floating action)").click()
            page.get_by_label("Submit expense").nth(0).click()
            page.get_by_label("Manual").click()
            page.get_by_placeholder("0").fill("100")
            page.locator("#numPadContainerView").get_by_role("button", name="Next").click()

            page.get_by_test_id("selection-list").get_by_label("Nomandevtur+50577's Workspace").click()

            page.get_by_role("menuitem", name="Merchant Required").click()
            page.get_by_role("textbox", name="Merchant").fill("hello")
            page.get_by_role("button", name="Save").click()
            page1 = context.new_page()
            page1.bring_to_front()
            page1.goto(page.url)
            page1.wait_for_load_state('load')
            page.wait_for_timeout(5000)

            page.bring_to_front()
            page.get_by_role("button", name="Submit PKR").click()

            page.wait_for_timeout(1000)
            page1.bring_to_front()
            page1.get_by_role("button", name="Submit PKR").click()
            page.wait_for_timeout(1000)

            text_locator = page1.get_by_text("Please select a participant.")
            expect(text_locator).to_be_visible()

            page.bring_to_front()
            page.get_by_label("Create").click()
            page.get_by_label("Assign task").click()
            page.get_by_role("textbox", name="Title").fill("877")
            page.get_by_role("button", name="Next").click()

            page1.bring_to_front()
            page1.goto(page.url)
            page1.wait_for_load_state('load')

            page.wait_for_timeout(5000)

            page.bring_to_front()
            page.get_by_role("button", name="Confirm task").click()

            page.wait_for_timeout(1000)
            page1.bring_to_front()
            page1.get_by_role("button", name="Confirm task").click()
            page.wait_for_timeout(1000)
            
            text_locator = page1.get_by_text("Please enter a title and select a share destination.")
            expect(text_locator).to_be_visible()

            page.close()
        finally:
            trace_path = "/app/expensify/user_tool/output_browser1.zip"
            context.tracing.stop(path=trace_path)
            trace_cleaner(trace_path)
            browser.close()