You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

220 lines
18 KiB

  1. Feature: chat-2/reply
  2. Background:
  3. Given user "participant1" exists
  4. Given user "participant2" exists
  5. Given user "participant3" exists
  6. And group "attendees1" exists
  7. And user "participant2" is member of group "attendees1"
  8. Scenario: user can reply to own message
  9. Given user "participant1" creates room "group room" (v4)
  10. | roomType | 2 |
  11. | invite | attendees1 |
  12. And user "participant1" sends message "Message 1" to room "group room" with 201
  13. When user "participant1" sends reply "Message 1-1" on message "Message 1" to room "group room" with 201
  14. Then user "participant1" sees the following messages in room "group room" with 200
  15. | room | actorType | actorId | actorDisplayName | message | messageParameters | parentMessage |
  16. | group room | users | participant1 | participant1-displayname | Message 1-1 | [] | Message 1 |
  17. | group room | users | participant1 | participant1-displayname | Message 1 | [] | |
  18. And user "participant2" sees the following messages in room "group room" with 200
  19. | room | actorType | actorId | actorDisplayName | message | messageParameters | parentMessage |
  20. | group room | users | participant1 | participant1-displayname | Message 1-1 | [] | Message 1 |
  21. | group room | users | participant1 | participant1-displayname | Message 1 | [] | |
  22. Scenario: user can reply to other's messages
  23. Given user "participant1" creates room "group room" (v4)
  24. | roomType | 2 |
  25. | invite | attendees1 |
  26. And user "participant1" sends message "Message 1" to room "group room" with 201
  27. When user "participant2" sends reply "Message 1-1" on message "Message 1" to room "group room" with 201
  28. Then user "participant1" sees the following messages in room "group room" with 200
  29. | room | actorType | actorId | actorDisplayName | message | messageParameters | parentMessage |
  30. | group room | users | participant2 | participant2-displayname | Message 1-1 | [] | Message 1 |
  31. | group room | users | participant1 | participant1-displayname | Message 1 | [] | |
  32. And user "participant2" sees the following messages in room "group room" with 200
  33. | room | actorType | actorId | actorDisplayName | message | messageParameters | parentMessage |
  34. | group room | users | participant2 | participant2-displayname | Message 1-1 | [] | Message 1 |
  35. | group room | users | participant1 | participant1-displayname | Message 1 | [] | |
  36. Scenario: several users can reply to the same message several times
  37. Given user "participant1" creates room "group room" (v4)
  38. | roomType | 2 |
  39. | invite | attendees1 |
  40. And user "participant1" sends message "Message 1" to room "group room" with 201
  41. When user "participant1" sends reply "Message 1-1" on message "Message 1" to room "group room" with 201
  42. And user "participant2" sends reply "Message 1-2" on message "Message 1" to room "group room" with 201
  43. And user "participant1" sends reply "Message 1-3" on message "Message 1" to room "group room" with 201
  44. And user "participant2" sends reply "Message 1-4" on message "Message 1" to room "group room" with 201
  45. Then user "participant1" sees the following messages in room "group room" with 200
  46. | room | actorType | actorId | actorDisplayName | message | messageParameters | parentMessage |
  47. | group room | users | participant2 | participant2-displayname | Message 1-4 | [] | Message 1 |
  48. | group room | users | participant1 | participant1-displayname | Message 1-3 | [] | Message 1 |
  49. | group room | users | participant2 | participant2-displayname | Message 1-2 | [] | Message 1 |
  50. | group room | users | participant1 | participant1-displayname | Message 1-1 | [] | Message 1 |
  51. | group room | users | participant1 | participant1-displayname | Message 1 | [] | |
  52. And user "participant2" sees the following messages in room "group room" with 200
  53. | room | actorType | actorId | actorDisplayName | message | messageParameters | parentMessage |
  54. | group room | users | participant2 | participant2-displayname | Message 1-4 | [] | Message 1 |
  55. | group room | users | participant1 | participant1-displayname | Message 1-3 | [] | Message 1 |
  56. | group room | users | participant2 | participant2-displayname | Message 1-2 | [] | Message 1 |
  57. | group room | users | participant1 | participant1-displayname | Message 1-1 | [] | Message 1 |
  58. | group room | users | participant1 | participant1-displayname | Message 1 | [] | |
  59. Scenario: user can reply to shared file messages
  60. Given user "participant1" creates room "group room" (v4)
  61. | roomType | 2 |
  62. | invite | attendees1 |
  63. And user "participant1" shares "welcome.txt" with room "group room"
  64. # The messages need to be got so the file message is added to the list of
  65. # known messages to reply to.
  66. # The file message parameters are not relevant for this test and are quite
  67. # large, so they are simply ignored.
  68. And user "participant1" sees the following messages in room "group room" with 200
  69. | room | actorType | actorId | actorDisplayName | message | messageParameters | parentMessage |
  70. | group room | users | participant1 | participant1-displayname | {file} | "IGNORE" | |
  71. And user "participant2" sees the following messages in room "group room" with 200
  72. | room | actorType | actorId | actorDisplayName | message | messageParameters | parentMessage |
  73. | group room | users | participant1 | participant1-displayname | {file} | "IGNORE" | |
  74. When user "participant1" sends reply "Message X-1" on message "{file}" to room "group room" with 201
  75. And user "participant2" sends reply "Message X-2" on message "{file}" to room "group room" with 201
  76. Then user "participant1" sees the following messages in room "group room" with 200
  77. | room | actorType | actorId | actorDisplayName | message | messageParameters | parentMessage |
  78. | group room | users | participant2 | participant2-displayname | Message X-2 | [] | {file} |
  79. | group room | users | participant1 | participant1-displayname | Message X-1 | [] | {file} |
  80. | group room | users | participant1 | participant1-displayname | {file} | "IGNORE" | |
  81. And user "participant2" sees the following messages in room "group room" with 200
  82. | room | actorType | actorId | actorDisplayName | message | messageParameters | parentMessage |
  83. | group room | users | participant2 | participant2-displayname | Message X-2 | [] | {file} |
  84. | group room | users | participant1 | participant1-displayname | Message X-1 | [] | {file} |
  85. | group room | users | participant1 | participant1-displayname | {file} | "IGNORE" | |
  86. Scenario: user can not reply to system messages
  87. Given user "participant1" creates room "group room" (v4)
  88. | roomType | 2 |
  89. | invite | attendees1 |
  90. # The system messages need to be got so they are added to the list of known
  91. # messages to reply to.
  92. And user "participant1" sees the following system messages in room "group room" with 200
  93. | room | actorType | actorId | actorDisplayName | systemMessage |
  94. | group room | users | participant1 | participant1-displayname | user_added |
  95. | group room | users | participant1 | participant1-displayname | group_added |
  96. | group room | users | participant1 | participant1-displayname | conversation_created |
  97. When user "participant1" sends reply "Message X-1" on message "conversation_created" to room "group room" with 400
  98. Then user "participant1" sees the following messages in room "group room" with 200
  99. And user "participant2" sees the following messages in room "group room" with 200
  100. Scenario: user can reply to own replies
  101. Given user "participant1" creates room "group room" (v4)
  102. | roomType | 2 |
  103. | invite | attendees1 |
  104. And user "participant1" sends message "Message 1" to room "group room" with 201
  105. And user "participant1" sends reply "Message 1-1" on message "Message 1" to room "group room" with 201
  106. When user "participant1" sends reply "Message 1-1-1" on message "Message 1-1" to room "group room" with 201
  107. Then user "participant1" sees the following messages in room "group room" with 200
  108. | room | actorType | actorId | actorDisplayName | message | messageParameters | parentMessage |
  109. | group room | users | participant1 | participant1-displayname | Message 1-1-1 | [] | Message 1-1 |
  110. | group room | users | participant1 | participant1-displayname | Message 1-1 | [] | Message 1 |
  111. | group room | users | participant1 | participant1-displayname | Message 1 | [] | |
  112. And user "participant2" sees the following messages in room "group room" with 200
  113. | room | actorType | actorId | actorDisplayName | message | messageParameters | parentMessage |
  114. | group room | users | participant1 | participant1-displayname | Message 1-1-1 | [] | Message 1-1 |
  115. | group room | users | participant1 | participant1-displayname | Message 1-1 | [] | Message 1 |
  116. | group room | users | participant1 | participant1-displayname | Message 1 | [] | |
  117. Scenario: user can reply to other's replies
  118. Given user "participant1" creates room "group room" (v4)
  119. | roomType | 2 |
  120. | invite | attendees1 |
  121. And user "participant1" sends message "Message 1" to room "group room" with 201
  122. And user "participant2" sends reply "Message 1-1" on message "Message 1" to room "group room" with 201
  123. When user "participant1" sends reply "Message 1-1-1" on message "Message 1-1" to room "group room" with 201
  124. And user "participant2" sends reply "Message 1-1-1-1" on message "Message 1-1-1" to room "group room" with 201
  125. Then user "participant1" sees the following messages in room "group room" with 200
  126. | room | actorType | actorId | actorDisplayName | message | messageParameters | parentMessage |
  127. | group room | users | participant2 | participant2-displayname | Message 1-1-1-1 | [] | Message 1-1-1 |
  128. | group room | users | participant1 | participant1-displayname | Message 1-1-1 | [] | Message 1-1 |
  129. | group room | users | participant2 | participant2-displayname | Message 1-1 | [] | Message 1 |
  130. | group room | users | participant1 | participant1-displayname | Message 1 | [] | |
  131. And user "participant2" sees the following messages in room "group room" with 200
  132. | room | actorType | actorId | actorDisplayName | message | messageParameters | parentMessage |
  133. | group room | users | participant2 | participant2-displayname | Message 1-1-1-1 | [] | Message 1-1-1 |
  134. | group room | users | participant1 | participant1-displayname | Message 1-1-1 | [] | Message 1-1 |
  135. | group room | users | participant2 | participant2-displayname | Message 1-1 | [] | Message 1 |
  136. | group room | users | participant1 | participant1-displayname | Message 1 | [] | |
  137. Scenario: several users can reply to the same reply several times
  138. Given user "participant1" creates room "group room" (v4)
  139. | roomType | 2 |
  140. | invite | attendees1 |
  141. And user "participant1" sends message "Message 1" to room "group room" with 201
  142. And user "participant2" sends reply "Message 1-1" on message "Message 1" to room "group room" with 201
  143. When user "participant1" sends reply "Message 1-1-1" on message "Message 1-1" to room "group room" with 201
  144. And user "participant2" sends reply "Message 1-1-2" on message "Message 1-1" to room "group room" with 201
  145. And user "participant1" sends reply "Message 1-1-3" on message "Message 1-1" to room "group room" with 201
  146. And user "participant2" sends reply "Message 1-1-4" on message "Message 1-1" to room "group room" with 201
  147. Then user "participant1" sees the following messages in room "group room" with 200
  148. | room | actorType | actorId | actorDisplayName | message | messageParameters | parentMessage |
  149. | group room | users | participant2 | participant2-displayname | Message 1-1-4 | [] | Message 1-1 |
  150. | group room | users | participant1 | participant1-displayname | Message 1-1-3 | [] | Message 1-1 |
  151. | group room | users | participant2 | participant2-displayname | Message 1-1-2 | [] | Message 1-1 |
  152. | group room | users | participant1 | participant1-displayname | Message 1-1-1 | [] | Message 1-1 |
  153. | group room | users | participant2 | participant2-displayname | Message 1-1 | [] | Message 1 |
  154. | group room | users | participant1 | participant1-displayname | Message 1 | [] | |
  155. And user "participant2" sees the following messages in room "group room" with 200
  156. | room | actorType | actorId | actorDisplayName | message | messageParameters | parentMessage |
  157. | group room | users | participant2 | participant2-displayname | Message 1-1-4 | [] | Message 1-1 |
  158. | group room | users | participant1 | participant1-displayname | Message 1-1-3 | [] | Message 1-1 |
  159. | group room | users | participant2 | participant2-displayname | Message 1-1-2 | [] | Message 1-1 |
  160. | group room | users | participant1 | participant1-displayname | Message 1-1-1 | [] | Message 1-1 |
  161. | group room | users | participant2 | participant2-displayname | Message 1-1 | [] | Message 1 |
  162. | group room | users | participant1 | participant1-displayname | Message 1 | [] | |
  163. Scenario: getting parent and quote works
  164. Given user "participant1" creates room "group room" (v4)
  165. | roomType | 2 |
  166. | invite | attendees1 |
  167. And user "participant1" sends message "Message 1" to room "group room" with 201
  168. And user "participant1" sends message "Message 2" to room "group room" with 201
  169. And user "participant2" sends reply "Message 2-1" on message "Message 2" to room "group room" with 201
  170. Then user "participant1" sees the following messages in room "group room" starting with "Message 1" with 200
  171. | room | actorType | actorId | actorDisplayName | message | messageParameters | parentMessage |
  172. | group room | users | participant1 | participant1-displayname | Message 1 | [] | |
  173. | group room | users | participant1 | participant1-displayname | Message 2 | [] | |
  174. | group room | users | participant2 | participant2-displayname | Message 2-1 | [] | Message 2 |
  175. Then user "participant1" sees the following messages in room "group room" starting with "Message 2" with 200
  176. | room | actorType | actorId | actorDisplayName | message | messageParameters | parentMessage |
  177. | group room | users | participant1 | participant1-displayname | Message 2 | [] | |
  178. | group room | users | participant2 | participant2-displayname | Message 2-1 | [] | Message 2 |
  179. Scenario: user can not reply when not in the room
  180. Given user "participant1" creates room "group room" (v4)
  181. | roomType | 2 |
  182. | invite | attendees1 |
  183. And user "participant1" sends message "Message 1" to room "group room" with 201
  184. When user "participant3" sends reply "Message 1-1" on message "Message 1" to room "group room" with 404
  185. Then user "participant1" sees the following messages in room "group room" with 200
  186. | room | actorType | actorId | actorDisplayName | message | messageParameters | parentMessage |
  187. | group room | users | participant1 | participant1-displayname | Message 1 | [] | |
  188. And user "participant3" sees the following messages in room "group room" with 404
  189. Scenario: user can not reply to a message from another room
  190. Given user "participant1" creates room "group room1" (v4)
  191. | roomType | 2 |
  192. | invite | attendees1 |
  193. And user "participant1" creates room "group room2" (v4)
  194. | roomType | 2 |
  195. | invite | attendees1 |
  196. And user "participant1" sends message "Message 1" to room "group room1" with 201
  197. When user "participant1" sends reply "Message 1-1" on message "Message 1" to room "group room2" with 400
  198. Then user "participant1" sees the following messages in room "group room1" with 200
  199. | room | actorType | actorId | actorDisplayName | message | messageParameters |
  200. | group room1 | users | participant1 | participant1-displayname | Message 1 | [] |
  201. And user "participant1" sees the following messages in room "group room2" with 200