in issues/213/user_tool.py [0:0]
def test_search_selection_persists():
with sync_playwright() as p:
user_first_name = "Khan"
user_last_name = "G"
browser = p.chromium.launch(
channel="chrome",
headless=True,
args=[
"--ignore-certificate-errors",
"--disable-web-security",
"--disable-features=IsolateOrigins,site-per-process"
],
proxy={"server": "http://localhost:8080"},
slow_mo=500
)
context = browser.new_context()
context.tracing.start(screenshots=True, snapshots=True)
page = context.new_page()
try:
user_info = get_test_user_info(seed=331133, first_name=user_first_name, last_name=user_last_name)
login_user(page, user_info, "https://dev.new.expensify.com:8082/")
page.wait_for_timeout(6000)
page.get_by_label("My settings").click()
page.get_by_test_id("InitialSettingsPage").get_by_label("Workspaces").click()
page.get_by_label("New workspace").first.click()
page.locator('button[aria-label="Back"]').click()
inbox_menu = page.locator('button[aria-label="Inbox"]')
inbox_menu.click()
page.wait_for_timeout(2000)
workspace_number = get_workspace_number(page)
submit_expense_in_workspace_chat(browser, page, user_info, workspace_number)
search_expense = page.locator('button[aria-label="Search"]')
expect(search_expense).to_be_visible()
search_expense.click()
page.wait_for_timeout(6000)
checkbox = page.locator('div[role="checkbox"][data-tag="pressable"]')
if checkbox.count() > 1:
expect(checkbox.last).to_be_visible()
checkbox.last.click()
else:
checkbox.click()
page.wait_for_timeout(6000)
inbox = page.locator('button[aria-label="Inbox"]')
expect(inbox).to_be_visible()
inbox.click()
page.get_by_label("Expense Report #").nth(1).click()
page.get_by_label("Delete expense").click()
page.wait_for_timeout(1000)
page.locator('button:has-text("Delete")').click()
search_expense_ = page.locator('button[aria-label="Search"]')
expect(search_expense_).to_be_visible()
search_expense_.click()
is_selected = page.get_by_text('1 selected')
if is_selected.is_visible():
assert False, 'Search selection is not resetted after deleting an expense.'
else:
assert True, 'Search selection is resetted after deleting an expense.'
page.wait_for_timeout(2000)
except Exception as e:
raise e
finally:
context.tracing.stop(path="/app/expensify/user_tool/output_browser1.zip")
trace_cleaner("/app/expensify/user_tool/output_browser1.zip")
browser.close()