HEX
Server: Apache/2.4.46 (Win64) OpenSSL/1.1.1j PHP/8.4.25
System: Windows NT DESKTOP-4TAV2RJ 10.0 build 19045 (Windows 10) AMD64
User: fred (0)
PHP: 8.4.25
Disabled: NONE
Upload Files
File: C:/Users/fred/anaconda3/Lib/site-packages/panel/tests/ui/chat/test_chat_reaction_icon.py
import pytest

pytest.importorskip("playwright")


from panel.chat import ChatReactionIcons
from panel.tests.util import serve_component, wait_until

pytestmark = pytest.mark.ui


def test_toggle_icon_click(page):
    icons = ChatReactionIcons(options={"like": "thumb-up", "dislike": "thumb-down"}, value=["dislike"])
    serve_component(page, icons)

    assert icons.value == ["dislike"]
    page.locator(".ti-thumb-up").click()
    wait_until(lambda: icons.value == ["dislike", "like"], page)

    page.locator(".ti-thumb-down-filled").click()
    wait_until(lambda: icons.value == ["like"], page)

    page.locator(".ti-thumb-up-filled").click()
    wait_until(lambda: icons.value == [], page)

    page.locator(".ti-thumb-up").click()
    wait_until(lambda: icons.value == ["like"], page)