2022-10-13 16:03:10 +00:00
Feature : Status Desktop Chat Basic Flows
2022-06-07 15:19:52 +00:00
2022-10-13 16:03:10 +00:00
A s a u s e r I w a n t t o j o i n t h e p u b l i c c h a t r o o m " t e s t " a n d d o b a s i c i n t e r a c t i o n s .
2022-06-07 15:19:52 +00:00
2022-10-13 16:03:10 +00:00
T h e f o l l o w i n g s c e n a r i o s c o v e r b a s i c c h a t f l o w s o n " t e s t " p u b l i c c h a n n e l .
2022-06-07 15:19:52 +00:00
2022-10-13 16:03:10 +00:00
T h e f e a t u r e s t a r t s e q u e n c e i s t h e f o l l o w i n g ( s e t u p o n i t s o w n ` b d d _ h o o k s ` ) :
* * g i v e n A f i r s t t i m e u s e r l a n d s o n t h e s t a t u s d e s k t o p a n d g e n e r a t e s n e w k e y
* * w h e n u s e r s i g n s u p w i t h u s e r n a m e " t e s t e r 1 2 3 " a n d p a s s w o r d " T e s T E r 1 6 8 4 3 / ! @ 0 0 "
* * a n d t h e u s e r l a n d s o n t h e s i g n e d i n a p p
* * a n d u s e r j o i n s c h a t r o o m " t e s t "
2022-06-07 15:19:52 +00:00
2022-10-13 16:03:10 +00:00
[ C l e a n u p ] A l s o e a c h s c e n a r i o s t a r t s w i t h :
* * w h e n t h e u s e r o p e n s t h e c h a t s e c t i o n
# TODO: Add scenario end -> clear chat input.
Scenario Outline : The user can chat in a public room
2022-10-19 10:39:48 +00:00
When t h e u s e r s e n d s a c h a t m e s s a g e " <message> "
Then t h e l a s t c h a t m e s s a g e c o n t a i n s " <message> "
2022-10-13 16:03:10 +00:00
Examples :
2022-06-07 23:47:19 +00:00
| m e s s a g e |
| H e l l o |
| H o w a r e y o u |
| I a m f r o m s t a t u s |
| t e l l m e h o w y o u d o ? |
2022-07-28 18:58:19 +00:00
2022-10-13 16:03:10 +00:00
@mayfail
# TODO: It works standalone but when it runs as part of the sequence, the action of reply is not done always. The popup option does not appear.
2022-11-15 14:58:11 +00:00
Scenario Outline : The user can reply to own message
Given t h e u s e r s e n d s a c h a t m e s s a g e " <message> "
2022-10-19 10:39:48 +00:00
When t h e u s e r r e p l i e s t o t h e m e s s a g e a t i n d e x 0 w i t h " <reply> "
2022-11-15 14:58:11 +00:00
Then t h e c h a t m e s s a g e " <reply> " i s d i s p l a y e d a s a r e p l y o f t h i s u s e r ' s " <message> "
2022-10-13 16:03:10 +00:00
Examples :
2022-11-15 14:58:11 +00:00
| m e s s a g e | r e p l y |
| r a n d o m c h a t m e s s a g e | T h i s i s a r e p l y |
2022-10-13 16:03:10 +00:00
@mayfail
# TODO: It works standalone but when it runs as part of the sequence, the action of edit is not done always. The popup option does not appear.
Scenario Outline : The user can edit a message
2022-10-19 10:39:48 +00:00
Given t h e u s e r s e n d s a c h a t m e s s a g e " E d i t m e "
When t h e u s e r e d i t s t h e m e s s a g e a t i n d e x 0 a n d c h a n g e s i t t o " <edited> "
Then t h e c h a t m e s s a g e " <edited> " i s d i s p l a y e d a s a n e d i t e d o n e
2022-10-13 16:03:10 +00:00
Examples :
2022-10-19 10:39:48 +00:00
| e d i t e d |
| E d i t e d b y m e |
2022-10-13 16:03:10 +00:00
@relyon-mailserver
Scenario Outline : The user can reply to another message
2022-10-19 10:39:48 +00:00
When t h e u s e r r e p l i e s t o t h e m e s s a g e a t i n d e x 0 w i t h " <reply> "
Then t h e c h a t m e s s a g e " <reply> " i s d i s p l a y e d a s a r e p l y
2022-10-13 16:03:10 +00:00
Examples :
| r e p l y |
| T h i s i s a r e p l y |
# TODO: This scenario should be extracted to a different feature file bc it doesn't accomplish the background steps since it needs to change/specify the chat room
2022-10-19 10:39:48 +00:00
# Scenario: The user joins a room and marks it as read
2022-10-13 16:03:10 +00:00
# When the user joins chat room test
2022-10-19 10:39:48 +00:00
# And the user marks the channel "test" as read
2022-10-13 16:03:10 +00:00
# # TODO find a way to validate that it worked
@mayfail
# TODO: It works standalone but when it runs as part of the sequence, the action of delete is not done always. The popup option does not appear.
Scenario Outline : The user can delete his/her own message
2022-10-19 10:39:48 +00:00
Given t h e u s e r s e n d s a c h a t m e s s a g e " <message> "
2022-10-13 16:03:10 +00:00
When t h e u s e r d e l e t e s t h e m e s s a g e a t i n d e x 0
2022-10-19 10:39:48 +00:00
Then t h e l a s t m e s s a g e d i s p l a y e d i s n o t " <message> "
2022-10-13 16:03:10 +00:00
Examples :
2022-10-19 10:39:48 +00:00
| m e s s a g e |
| r a n d o m c h a t m e s s a g e |
2022-10-13 16:03:10 +00:00
Scenario : The user can clear chat history
2022-10-19 10:39:48 +00:00
Given t h e u s e r s e n d s a c h a t m e s s a g e " H i h i "
And t h e u s e r s e n d s a c h a t m e s s a g e " t e s t i n g c h a t "
And t h e u s e r s e n d s a c h a t m e s s a g e " h i s t o r y "
2022-08-15 17:16:01 +00:00
When t h e u s e r c l e a r s c h a t h i s t o r y
Then t h e c h a t i s c l e a r e d
2022-08-25 08:27:20 +00:00
2022-10-13 16:03:10 +00:00
@mayfail
# TODO: Verification of gif sent fails. And also `tenor GIFs preview is enabled` step doesn't work. Review it.
Scenario : The user can send a GIF
Given t h e u s e r o p e n s a p p s e t t i n g s s c r e e n
And t h e u s e r o p e n s t h e m e s s a g i n g s e t t i n g s
And t e n o r G I F s p r e v i e w i s e n a b l e d
When t h e u s e r s e n d s a G I F m e s s a g e
Then t h e G I F m e s s a g e i s d i s p l a y e d
@mayfail
# TODO: It works standalone but when it runs as part of the sequence, the action of activates link preview doesn't work.
Scenario Outline : The user can activate image unfurling
2022-10-19 10:39:48 +00:00
Given t h e u s e r s e n d s a c h a t m e s s a g e " <image_url> "
And t h e i m a g e " <image_url> " i s n o t u n f u r l e d i n t h e c h a t
2022-10-13 16:03:10 +00:00
When t h e u s e r o p e n s a p p s e t t i n g s s c r e e n
And t h e u s e r o p e n s t h e m e s s a g i n g s e t t i n g s
And t h e u s e r a c t i v a t e s l i n k p r e v i e w
And t h e u s e r a c t i v a t e s i m a g e u n f u r l i n g
And t h e u s e r o p e n s t h e c h a t s e c t i o n
2022-10-19 10:39:48 +00:00
Then t h e i m a g e " <image_url> " i s u n f u r l e d i n t h e c h a t
2022-10-13 16:03:10 +00:00
Examples :
| i m a g e _ u r l |
| h t t p s : / / g i t h u b . c o m / s t a t u s - i m / s t a t u s - d e s k t o p / r a w / m a s t e r / t e s t / u i - t e s t / f i x t u r e s / i m a g e s / d o g g o . j p e g |
2022-10-19 10:39:48 +00:00
Scenario : The user is able to use emoji suggestions
Given t h e u s e r t y p e s " h e l l o : t h u m b s "
2022-10-13 16:03:10 +00:00
And t h e u s e r s e l e c t s t h e e m o j i i n t h e s u g g e s t i o n ' s l i s t
When t h e u s e r p r e s s e s e n t e r
2022-10-19 10:39:48 +00:00
Then t h e l a s t c h a t m e s s a g e c o n t a i n s " 👍 "
2022-10-13 16:03:10 +00:00
@relyon-mailserver
Scenario : The user cannot delete another user's message
2022-08-12 18:55:06 +00:00
Then t h e u s e r c a n n o t d e l e t e t h e l a s t m e s s a g e
2022-10-13 16:03:10 +00:00
@relyon-mailserver
2022-08-12 18:55:06 +00:00
Scenario Outline : The user can do a mention
2022-10-19 10:39:48 +00:00
When t h e u s e r i n p u t s a m e n t i o n t o " <displayName> " w i t h m e s s a g e " <message> "
Then t h e " <displayName> " m e n t i o n w i t h m e s s a g e " <message> " h a v e b e e n s e n t
2022-10-13 16:03:10 +00:00
Examples :
2022-08-12 18:55:06 +00:00
| d i s p l a y N a m e | m e s s a g e |
| t e s t e r 1 2 3 | t e s t i n g m e n t i o n |
2022-10-13 16:03:10 +00:00
@relyon-mailserver
Scenario Outline : The user can not do a mention to a not existing users
2022-10-19 10:39:48 +00:00
Then t h e u s e r c a n n o t i n p u t a m e n t i o n t o a n o t e x i s t i n g u s e r " <displayName> "
2022-10-13 16:03:10 +00:00
Examples :
2022-08-12 18:55:06 +00:00
| d i s p l a y N a m e |
| n o t E x i s t i n g A c c o u n t |
2022-08-12 18:42:06 +00:00
| a s d f g N o N o |
2022-10-13 16:03:10 +00:00
Scenario : The user can send an emoji as a message
2022-10-19 10:39:48 +00:00
When t h e u s e r s e n d s t h e e m o j i " h e a r t _ e y e s " a s a m e s s a g e
Then t h e l a s t c h a t m e s s a g e c o n t a i n s " 😍 "
2022-10-13 16:03:10 +00:00
Scenario Outline : The user can send an emoji in a message
2022-10-19 10:39:48 +00:00
When t h e u s e r s e n d s t h e e m o j i " s u n g l a s s e s " w i t h m e s s a g e " <message> "
Then t h e l a s t c h a t m e s s a g e c o n t a i n s " 😎 "
And t h e l a s t c h a t m e s s a g e c o n t a i n s " <message> "
2022-10-13 16:03:10 +00:00
Examples :
| m e s s a g e |
| w o w I ' m s o c o o l |
# TODO: This scenario should be extracted to a different feature file bc it doesn't accomplish the background steps since it needs to change/specify the chat room
# @merge
# Scenario: The user sees chats sorted by most recent activity
2022-10-19 10:39:48 +00:00
# When the user joins chat room "first-chat"
# And the user joins chat room "second-chat"
# And the user joins chat room "third-chat"
2022-10-13 16:03:10 +00:00
# Then the user chats are sorted accordingly
# | third-chat |
# | second-chat |
# | first-chat |
2022-10-19 10:39:48 +00:00
# When the user switches to "second-chat" chat
2022-10-13 16:03:10 +00:00
# And the user sends a random chat message
# Then the random chat message is displayed
# And the user chats are sorted accordingly
# | second-chat |
# | third-chat |
# | first-chat |
Scenario : The user can type message with emoji autoreplace
2022-10-19 10:39:48 +00:00
When t h e u s e r s e n d s a c h a t m e s s a g e " H e l l o : ) "
Then t h e l a s t c h a t m e s s a g e c o n t a i n s " 🙂 "
And t h e l a s t c h a t m e s s a g e c o n t a i n s " H e l l o "
2022-10-13 16:03:10 +00:00
2022-10-21 07:17:48 +00:00
@mayfail
# TODO: It works standalone but when it runs as part of the sequence and mostly in the CI, the action of verification doesn't work.
2022-10-13 16:03:10 +00:00
Scenario : The user can send a sticker after installing a free pack
Given t h e u s e r i n s t a l l s t h e s t i c k e r p a c k a t p o s i t i o n 4
When t h e u s e r s e n d s t h e s t i c k e r a t p o s i t i o n 2 i n t h e l i s t
Then t h e l a s t c h a t m e s s a g e i s a s t i c k e r