@@ -22,6 +22,8 @@ const defaultAppData = [
2222 } ,
2323] ;
2424
25+ const SEND_BUTTON = '[name="Send message"]' ;
26+
2527describe ( 'Player View' , ( ) => {
2628 it ( 'Show messages and write a new one' , ( ) => {
2729 cy . setUpApi (
@@ -46,7 +48,7 @@ describe('Player View', () => {
4648 // type and send message
4749 const message = 'My message' ;
4850 cy . get ( '[role="textbox"]' ) . type ( message ) ;
49- cy . get ( '[name="send"]' ) . click ( ) ;
51+ cy . get ( SEND_BUTTON ) . click ( ) ;
5052
5153 // expect user message
5254 cy . get ( buildDataCy ( buildCommentContainerDataCy ( '1' ) ) ) . should (
@@ -83,7 +85,7 @@ describe('Player View', () => {
8385 // type and send message
8486 const message = 'My message' ;
8587 cy . get ( '[role="textbox"]' ) . type ( message ) ;
86- cy . get ( '[name="send"]' ) . click ( ) ;
88+ cy . get ( SEND_BUTTON ) . click ( ) ;
8789
8890 // expect user message
8991 cy . get ( buildDataCy ( buildCommentContainerDataCy ( '2' ) ) ) . should (
@@ -171,4 +173,46 @@ describe('Player View', () => {
171173
172174 cy . get ( 'button' ) . should ( 'not.contain' , suggestion ) ;
173175 } ) ;
176+
177+ it ( 'Type and send messages with enter key' , ( ) => {
178+ cy . setUpApi (
179+ {
180+ appData : [ ] ,
181+ appSettings : [ MOCK_APP_SETTING ] ,
182+ } ,
183+ {
184+ context : Context . Player ,
185+ permission : PermissionLevel . Write ,
186+ } ,
187+ ) ;
188+ cy . visit ( '/' ) ;
189+
190+ // type and send message with enter key
191+ const message = 'My message' ;
192+ cy . get ( '[role="textbox"]' ) . type ( message ) . type ( '{enter}' ) ;
193+
194+ // expect user message
195+ cy . get ( buildDataCy ( buildCommentContainerDataCy ( '2' ) ) ) . should (
196+ 'contain' ,
197+ message ,
198+ ) ;
199+
200+ // type and send message with enter key
201+ const message1 = 'My second message' ;
202+ cy . get ( '[role="textbox"]' ) . type ( message1 , { delay : 20 } ) . type ( '{enter}' ) ;
203+
204+ // expect message to not be sent
205+ cy . get ( '[role="log"]' ) . should ( 'not.contain' , message1 ) ;
206+
207+ // explicitely wait for chatbot to answer before sending another message
208+ cy . wait ( 1000 ) ;
209+
210+ cy . get ( '[role="textbox"]' ) . type ( '{enter}' ) ;
211+
212+ // expect user message
213+ cy . get ( buildDataCy ( buildCommentContainerDataCy ( '4' ) ) ) . should (
214+ 'contain' ,
215+ message1 ,
216+ ) ;
217+ } ) ;
174218} ) ;
0 commit comments