issues/373/user_tool.py (54 lines of code) (raw):
import sys, os
base_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
sys.path.insert(0, base_path)
import pytest
from playwright.async_api import expect
from utils.browser import start_browser, close_browser
from utils.login import check_if_logged_in, NEW_DOT_URL
from utils.trace_cleaner import trace_cleaner
EMAIL = "testexpensifyturing+006@gmail.com"
PASSWORD = ""
@pytest.mark.asyncio
async def test_issue_25901():
context, page, playwright = await start_browser(
persistent=True,
launch_args=["--disable-web-security", "--disable-features=IsolateOrigins, site-per-process"],
)
await context.tracing.start(title="test_issue_25901", screenshots=True, snapshots=True)
try:
if not await check_if_logged_in(page=page, url=NEW_DOT_URL):
await page.get_by_test_id("username").fill(EMAIL)
await page.get_by_role("button", name="Continue").click()
await page.get_by_test_id("validateCode").fill("123456")
await page.get_by_label("Start chat (Floating action)").click()
await page.get_by_label("Track expense").click()
got_it_button = page.get_by_role("button", name="Got it")
try:
await got_it_button.wait_for(timeout=2000)
await got_it_button.click()
except Exception:
pass
await page.get_by_label("Distance").click()
await page.get_by_test_id("IOURequestStartPage").get_by_role("button", name="Start").click()
await page.get_by_test_id("IOURequestStepWaypoint").get_by_role("textbox").fill("madison square")
await page.get_by_text("Madison Square Garden", exact=True).click()
await page.get_by_role("button", name="Stop").click()
await page.get_by_test_id("IOURequestStepWaypoint").get_by_role("textbox").fill("segal rogerscasey")
await page.get_by_text("Segal Rogerscasey").first.click()
await page.get_by_role("button", name="Add stop").click()
await page.get_by_test_id("IOURequestStepWaypoint").get_by_role("textbox").fill("frames bowling")
await page.get_by_text("Frames Bowling Lounge").first.click()
await page.wait_for_timeout(3000) # wait for component to render
await page.get_by_role("button", name="Segal Rogerscasey").click()
await page.get_by_label("More").click()
await expect(page.get_by_label("Delete waypoint")).to_be_visible()
await page.get_by_label("Delete waypoint").click()
await expect(page.get_by_text("Are you sure you want to")).to_be_visible()
await page.get_by_role("button", name="Delete").click()
await expect(page.get_by_role("button", name="Segal Rogerscasey")).not_to_be_visible()
except Exception as e:
raise e
finally:
await context.tracing.stop(path="/app/expensify/user_tool/output_browser1.zip")
trace_cleaner("/app/expensify/user_tool/output_browser1.zip")
await close_browser(context, page, playwright)