async def test_memo_app(memo_app: AppHarness):
    """Render various memo'd components and assert on the output.

    Args:
        memo_app: harness for MemoApp app
    """
    assert memo_app.app_instance is not None, "app is not running"
    driver = memo_app.frontend()

    # check that the output matches
    memo_custom_code_stack = driver.find_element(By.ID, "memo-custom-code")
    assert (
        memo_app.poll_for_content(memo_custom_code_stack, exp_not_equal="")
        == "foobarbarbar"
    )
    assert memo_custom_code_stack.text == "foobarbarbar"

    # click the button to trigger partial event application
    button = driver.find_element(By.ID, "memo-button")
    button.click()
    last_value = driver.find_element(By.ID, "memo-last-value")
    assert memo_app.poll_for_content(last_value, exp_not_equal="") == "memod_some_value"

    # enter text to trigger passed argument to event handler
    textbox = driver.find_element(By.ID, "memo-input")
    textbox.send_keys("new_value")
    assert memo_app._poll_for(
        lambda: memo_app.poll_for_content(last_value) == "new_value"
    )
Render various memo'd components and assert on the output.

    Args:
        memo_app: harness for MemoApp app
    
tests/integration/test_memo.py