from playwright.sync_api import Page, expect


def test_status_asynchronous(page: Page):
    page.set_content("""
        <button type="button" onclick="setTimeout(() => {
            document.querySelector('#status').textContent = 'Data tersimpan';
        }, 300)">Simpan</button>
        <p id="status" role="status">Menunggu</p>
    """)
    page.get_by_role("button", name="Simpan", exact=True).click()
    expect(page.get_by_role("status")).to_have_text("Data tersimpan")
