@@ -116,6 +116,62 @@ test.describe.serial('message-composer', () => {
116116 } ) ;
117117 } ) ;
118118
119+ test ( 'should close mention popup when canceling a message edit via "Cancel" button' , async ( { page } ) => {
120+ await poHomeChannel . navbar . openChat ( targetChannel ) ;
121+ await poHomeChannel . content . sendMessage ( 'hello composer' ) ;
122+
123+ await test . step ( 'expect to edit last message' , async ( ) => {
124+ await expect ( poHomeChannel . composer . inputMessage ) . toHaveValue ( '' ) ;
125+ await poHomeChannel . content . openLastMessageMenu ( ) ;
126+ await poHomeChannel . content . btnOptionEditMessage . click ( ) ;
127+ await expect ( poHomeChannel . composer . inputMessage ) . toHaveValue ( 'hello composer' ) ;
128+ } ) ;
129+
130+ await test . step ( 'expect to open popup on mention' , async ( ) => {
131+ await page . keyboard . type ( ' @' ) ;
132+ await expect ( poHomeChannel . composer . boxPopup ) . toBeVisible ( ) ;
133+ } ) ;
134+
135+ await test . step ( 'expect popup to close after the first edit is cancelled' , async ( ) => {
136+ await poHomeChannel . composer . btnCancel . click ( ) ;
137+ await expect ( poHomeChannel . composer . inputMessage ) . toHaveValue ( 'hello composer' ) ;
138+ await expect ( poHomeChannel . composer . boxPopup ) . not . toBeVisible ( ) ;
139+ } ) ;
140+
141+ await test . step ( 'expect to leave editing mode' , async ( ) => {
142+ await poHomeChannel . composer . btnCancel . click ( ) ;
143+ await expect ( poHomeChannel . composer . inputMessage ) . toHaveValue ( '' ) ;
144+ } ) ;
145+ } ) ;
146+
147+ test ( 'should close mention popup when canceling a message edit via keyboard' , async ( { page } ) => {
148+ await poHomeChannel . navbar . openChat ( targetChannel ) ;
149+ await poHomeChannel . content . sendMessage ( 'hello composer' ) ;
150+
151+ await test . step ( 'expect to edit last message' , async ( ) => {
152+ await expect ( poHomeChannel . composer . inputMessage ) . toHaveValue ( '' ) ;
153+ await poHomeChannel . content . openLastMessageMenu ( ) ;
154+ await poHomeChannel . content . btnOptionEditMessage . click ( ) ;
155+ await expect ( poHomeChannel . composer . inputMessage ) . toHaveValue ( 'hello composer' ) ;
156+ } ) ;
157+
158+ await test . step ( 'expect to open popup on mention' , async ( ) => {
159+ await page . keyboard . type ( ' @' ) ;
160+ await expect ( poHomeChannel . composer . boxPopup ) . toBeVisible ( ) ;
161+ } ) ;
162+
163+ await test . step ( 'expect popup to close after the first edit is cancelled' , async ( ) => {
164+ await page . keyboard . press ( 'Escape' ) ;
165+ await expect ( poHomeChannel . composer . inputMessage ) . toHaveValue ( 'hello composer' ) ;
166+ await expect ( poHomeChannel . composer . boxPopup ) . not . toBeVisible ( ) ;
167+ } ) ;
168+
169+ await test . step ( 'expect to leave editing mode' , async ( ) => {
170+ await page . keyboard . press ( 'Escape' ) ;
171+ await expect ( poHomeChannel . composer . inputMessage ) . toHaveValue ( '' ) ;
172+ } ) ;
173+ } ) ;
174+
119175 test . describe ( 'audio recorder' , ( ) => {
120176 test ( 'should open audio recorder' , async ( ) => {
121177 await poHomeChannel . navbar . openChat ( targetChannel ) ;
0 commit comments