@@ -11,7 +11,7 @@ def __init__(self, page: Page, id: str, classes: str):
1111 self .chat = controller .Chat (page , f"chat_{ id } " )
1212 self .classes = classes
1313
14- def expect_last_message_icon_to_have_classes (self ):
14+ def expect_last_message_icon_to_have_classes (self , classes : str | None = None ):
1515 # TODO: Fix this test to find icon in shadow root
1616 if self .id == "default" :
1717 last_msg_icon = self .chat .loc_latest_message .locator (
@@ -22,7 +22,7 @@ def expect_last_message_icon_to_have_classes(self):
2222 '[slot="icon"]'
2323 )
2424
25- expect (last_msg_icon ).to_have_class (self .classes )
25+ expect (last_msg_icon ).to_have_class (classes or self .classes )
2626
2727
2828@skip_on_webkit
@@ -31,7 +31,7 @@ def test_validate_chat_basic(page: Page, local_app: ShinyAppProc) -> None:
3131
3232 chats : list [ChatModule ] = [
3333 ChatModule (page , "default" , "bi bi-robot" ),
34- ChatModule (page , "otter " , "fa icon-otter" ),
34+ ChatModule (page , "animal " , "fa icon-otter" ),
3535 ChatModule (page , "svg" , "bi bi-info-circle-fill icon-svg" ),
3636 ChatModule (page , "shiny" , "icon-shiny" ),
3737 ]
@@ -44,3 +44,16 @@ def test_validate_chat_basic(page: Page, local_app: ShinyAppProc) -> None:
4444 mod .chat .send_user_input ()
4545
4646 mod .expect_last_message_icon_to_have_classes ()
47+
48+ animal = controller .InputSelect (page , "animal" )
49+ chat_animal = chats [1 ]
50+
51+ animal .set ("Hippo" )
52+ chat_animal .chat .set_user_input ("hello" )
53+ chat_animal .chat .send_user_input ()
54+ chat_animal .expect_last_message_icon_to_have_classes ("fa icon-hippo" )
55+
56+ animal .set ("Frog" )
57+ chat_animal .chat .set_user_input ("hello" )
58+ chat_animal .chat .send_user_input ()
59+ chat_animal .expect_last_message_icon_to_have_classes ("fa icon-frog" )
0 commit comments