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

Feature: chat-2/reply
Background:
Given user "participant1" exists
Given user "participant2" exists
Given user "participant3" exists
And group "attendees1" exists
And user "participant2" is member of group "attendees1"
Scenario: user can reply to own message
Given user "participant1" creates room "group room" (v4)
| roomType | 2 |
| invite | attendees1 |
And user "participant1" sends message "Message 1" to room "group room" with 201
When user "participant1" sends reply "Message 1-1" on message "Message 1" to room "group room" with 201
Then user "participant1" sees the following messages in room "group room" with 200
| room | actorType | actorId | actorDisplayName | message | messageParameters | parentMessage |
| group room | users | participant1 | participant1-displayname | Message 1-1 | [] | Message 1 |
| group room | users | participant1 | participant1-displayname | Message 1 | [] | |
And user "participant2" sees the following messages in room "group room" with 200
| room | actorType | actorId | actorDisplayName | message | messageParameters | parentMessage |
| group room | users | participant1 | participant1-displayname | Message 1-1 | [] | Message 1 |
| group room | users | participant1 | participant1-displayname | Message 1 | [] | |
Scenario: user can reply to other's messages
Given user "participant1" creates room "group room" (v4)
| roomType | 2 |
| invite | attendees1 |
And user "participant1" sends message "Message 1" to room "group room" with 201
When user "participant2" sends reply "Message 1-1" on message "Message 1" to room "group room" with 201
Then user "participant1" sees the following messages in room "group room" with 200
| room | actorType | actorId | actorDisplayName | message | messageParameters | parentMessage |
| group room | users | participant2 | participant2-displayname | Message 1-1 | [] | Message 1 |
| group room | users | participant1 | participant1-displayname | Message 1 | [] | |
And user "participant2" sees the following messages in room "group room" with 200
| room | actorType | actorId | actorDisplayName | message | messageParameters | parentMessage |
| group room | users | participant2 | participant2-displayname | Message 1-1 | [] | Message 1 |
| group room | users | participant1 | participant1-displayname | Message 1 | [] | |
Scenario: several users can reply to the same message several times
Given user "participant1" creates room "group room" (v4)
| roomType | 2 |
| invite | attendees1 |
And user "participant1" sends message "Message 1" to room "group room" with 201
When user "participant1" sends reply "Message 1-1" on message "Message 1" to room "group room" with 201
And user "participant2" sends reply "Message 1-2" on message "Message 1" to room "group room" with 201
And user "participant1" sends reply "Message 1-3" on message "Message 1" to room "group room" with 201
And user "participant2" sends reply "Message 1-4" on message "Message 1" to room "group room" with 201
Then user "participant1" sees the following messages in room "group room" with 200
| room | actorType | actorId | actorDisplayName | message | messageParameters | parentMessage |
| group room | users | participant2 | participant2-displayname | Message 1-4 | [] | Message 1 |
| group room | users | participant1 | participant1-displayname | Message 1-3 | [] | Message 1 |
| group room | users | participant2 | participant2-displayname | Message 1-2 | [] | Message 1 |
| group room | users | participant1 | participant1-displayname | Message 1-1 | [] | Message 1 |
| group room | users | participant1 | participant1-displayname | Message 1 | [] | |
And user "participant2" sees the following messages in room "group room" with 200
| room | actorType | actorId | actorDisplayName | message | messageParameters | parentMessage |
| group room | users | participant2 | participant2-displayname | Message 1-4 | [] | Message 1 |
| group room | users | participant1 | participant1-displayname | Message 1-3 | [] | Message 1 |
| group room | users | participant2 | participant2-displayname | Message 1-2 | [] | Message 1 |
| group room | users | participant1 | participant1-displayname | Message 1-1 | [] | Message 1 |
| group room | users | participant1 | participant1-displayname | Message 1 | [] | |
Scenario: user can reply to shared file messages
Given user "participant1" creates room "group room" (v4)
| roomType | 2 |
| invite | attendees1 |
And user "participant1" shares "welcome.txt" with room "group room"
# The messages need to be got so the file message is added to the list of
# known messages to reply to.
# The file message parameters are not relevant for this test and are quite
# large, so they are simply ignored.
And user "participant1" sees the following messages in room "group room" with 200
| room | actorType | actorId | actorDisplayName | message | messageParameters | parentMessage |
| group room | users | participant1 | participant1-displayname | {file} | "IGNORE" | |
And user "participant2" sees the following messages in room "group room" with 200
| room | actorType | actorId | actorDisplayName | message | messageParameters | parentMessage |
| group room | users | participant1 | participant1-displayname | {file} | "IGNORE" | |
When user "participant1" sends reply "Message X-1" on message "{file}" to room "group room" with 201
And user "participant2" sends reply "Message X-2" on message "{file}" to room "group room" with 201
Then user "participant1" sees the following messages in room "group room" with 200
| room | actorType | actorId | actorDisplayName | message | messageParameters | parentMessage |
| group room | users | participant2 | participant2-displayname | Message X-2 | [] | {file} |
| group room | users | participant1 | participant1-displayname | Message X-1 | [] | {file} |
| group room | users | participant1 | participant1-displayname | {file} | "IGNORE" | |
And user "participant2" sees the following messages in room "group room" with 200
| room | actorType | actorId | actorDisplayName | message | messageParameters | parentMessage |
| group room | users | participant2 | participant2-displayname | Message X-2 | [] | {file} |
| group room | users | participant1 | participant1-displayname | Message X-1 | [] | {file} |
| group room | users | participant1 | participant1-displayname | {file} | "IGNORE" | |
Scenario: user can not reply to system messages
Given user "participant1" creates room "group room" (v4)
| roomType | 2 |
| invite | attendees1 |
# The system messages need to be got so they are added to the list of known
# messages to reply to.
And user "participant1" sees the following system messages in room "group room" with 200
| room | actorType | actorId | actorDisplayName | systemMessage |
| group room | users | participant1 | participant1-displayname | user_added |
| group room | users | participant1 | participant1-displayname | group_added |
| group room | users | participant1 | participant1-displayname | conversation_created |
When user "participant1" sends reply "Message X-1" on message "conversation_created" to room "group room" with 400
Then user "participant1" sees the following messages in room "group room" with 200
And user "participant2" sees the following messages in room "group room" with 200
Scenario: user can reply to own replies
Given user "participant1" creates room "group room" (v4)
| roomType | 2 |
| invite | attendees1 |
And user "participant1" sends message "Message 1" to room "group room" with 201
And user "participant1" sends reply "Message 1-1" on message "Message 1" to room "group room" with 201
When user "participant1" sends reply "Message 1-1-1" on message "Message 1-1" to room "group room" with 201
Then user "participant1" sees the following messages in room "group room" with 200
| room | actorType | actorId | actorDisplayName | message | messageParameters | parentMessage |
| group room | users | participant1 | participant1-displayname | Message 1-1-1 | [] | Message 1-1 |
| group room | users | participant1 | participant1-displayname | Message 1-1 | [] | Message 1 |
| group room | users | participant1 | participant1-displayname | Message 1 | [] | |
And user "participant2" sees the following messages in room "group room" with 200
| room | actorType | actorId | actorDisplayName | message | messageParameters | parentMessage |
| group room | users | participant1 | participant1-displayname | Message 1-1-1 | [] | Message 1-1 |
| group room | users | participant1 | participant1-displayname | Message 1-1 | [] | Message 1 |
| group room | users | participant1 | participant1-displayname | Message 1 | [] | |
Scenario: user can reply to other's replies
Given user "participant1" creates room "group room" (v4)
| roomType | 2 |
| invite | attendees1 |
And user "participant1" sends message "Message 1" to room "group room" with 201
And user "participant2" sends reply "Message 1-1" on message "Message 1" to room "group room" with 201
When user "participant1" sends reply "Message 1-1-1" on message "Message 1-1" to room "group room" with 201
And user "participant2" sends reply "Message 1-1-1-1" on message "Message 1-1-1" to room "group room" with 201
Then user "participant1" sees the following messages in room "group room" with 200
| room | actorType | actorId | actorDisplayName | message | messageParameters | parentMessage |
| group room | users | participant2 | participant2-displayname | Message 1-1-1-1 | [] | Message 1-1-1 |
| group room | users | participant1 | participant1-displayname | Message 1-1-1 | [] | Message 1-1 |
| group room | users | participant2 | participant2-displayname | Message 1-1 | [] | Message 1 |
| group room | users | participant1 | participant1-displayname | Message 1 | [] | |
And user "participant2" sees the following messages in room "group room" with 200
| room | actorType | actorId | actorDisplayName | message | messageParameters | parentMessage |
| group room | users | participant2 | participant2-displayname | Message 1-1-1-1 | [] | Message 1-1-1 |
| group room | users | participant1 | participant1-displayname | Message 1-1-1 | [] | Message 1-1 |
| group room | users | participant2 | participant2-displayname | Message 1-1 | [] | Message 1 |
| group room | users | participant1 | participant1-displayname | Message 1 | [] | |
Scenario: several users can reply to the same reply several times
Given user "participant1" creates room "group room" (v4)
| roomType | 2 |
| invite | attendees1 |
And user "participant1" sends message "Message 1" to room "group room" with 201
And user "participant2" sends reply "Message 1-1" on message "Message 1" to room "group room" with 201
When user "participant1" sends reply "Message 1-1-1" on message "Message 1-1" to room "group room" with 201
And user "participant2" sends reply "Message 1-1-2" on message "Message 1-1" to room "group room" with 201
And user "participant1" sends reply "Message 1-1-3" on message "Message 1-1" to room "group room" with 201
And user "participant2" sends reply "Message 1-1-4" on message "Message 1-1" to room "group room" with 201
Then user "participant1" sees the following messages in room "group room" with 200
| room | actorType | actorId | actorDisplayName | message | messageParameters | parentMessage |
| group room | users | participant2 | participant2-displayname | Message 1-1-4 | [] | Message 1-1 |
| group room | users | participant1 | participant1-displayname | Message 1-1-3 | [] | Message 1-1 |
| group room | users | participant2 | participant2-displayname | Message 1-1-2 | [] | Message 1-1 |
| group room | users | participant1 | participant1-displayname | Message 1-1-1 | [] | Message 1-1 |
| group room | users | participant2 | participant2-displayname | Message 1-1 | [] | Message 1 |
| group room | users | participant1 | participant1-displayname | Message 1 | [] | |
And user "participant2" sees the following messages in room "group room" with 200
| room | actorType | actorId | actorDisplayName | message | messageParameters | parentMessage |
| group room | users | participant2 | participant2-displayname | Message 1-1-4 | [] | Message 1-1 |
| group room | users | participant1 | participant1-displayname | Message 1-1-3 | [] | Message 1-1 |
| group room | users | participant2 | participant2-displayname | Message 1-1-2 | [] | Message 1-1 |
| group room | users | participant1 | participant1-displayname | Message 1-1-1 | [] | Message 1-1 |
| group room | users | participant2 | participant2-displayname | Message 1-1 | [] | Message 1 |
| group room | users | participant1 | participant1-displayname | Message 1 | [] | |
Scenario: getting parent and quote works
Given user "participant1" creates room "group room" (v4)
| roomType | 2 |
| invite | attendees1 |
And user "participant1" sends message "Message 1" to room "group room" with 201
And user "participant1" sends message "Message 2" to room "group room" with 201
And user "participant2" sends reply "Message 2-1" on message "Message 2" to room "group room" with 201
Then user "participant1" sees the following messages in room "group room" starting with "Message 1" with 200
| room | actorType | actorId | actorDisplayName | message | messageParameters | parentMessage |
| group room | users | participant1 | participant1-displayname | Message 1 | [] | |
| group room | users | participant1 | participant1-displayname | Message 2 | [] | |
| group room | users | participant2 | participant2-displayname | Message 2-1 | [] | Message 2 |
Then user "participant1" sees the following messages in room "group room" starting with "Message 2" with 200
| room | actorType | actorId | actorDisplayName | message | messageParameters | parentMessage |
| group room | users | participant1 | participant1-displayname | Message 2 | [] | |
| group room | users | participant2 | participant2-displayname | Message 2-1 | [] | Message 2 |
Scenario: user can not reply when not in the room
Given user "participant1" creates room "group room" (v4)
| roomType | 2 |
| invite | attendees1 |
And user "participant1" sends message "Message 1" to room "group room" with 201
When user "participant3" sends reply "Message 1-1" on message "Message 1" to room "group room" with 404
Then user "participant1" sees the following messages in room "group room" with 200
| room | actorType | actorId | actorDisplayName | message | messageParameters | parentMessage |
| group room | users | participant1 | participant1-displayname | Message 1 | [] | |
And user "participant3" sees the following messages in room "group room" with 404
Scenario: user can not reply to a message from another room
Given user "participant1" creates room "group room1" (v4)
| roomType | 2 |
| invite | attendees1 |
And user "participant1" creates room "group room2" (v4)
| roomType | 2 |
| invite | attendees1 |
And user "participant1" sends message "Message 1" to room "group room1" with 201
When user "participant1" sends reply "Message 1-1" on message "Message 1" to room "group room2" with 400
Then user "participant1" sees the following messages in room "group room1" with 200
| room | actorType | actorId | actorDisplayName | message | messageParameters |
| group room1 | users | participant1 | participant1-displayname | Message 1 | [] |
And user "participant1" sees the following messages in room "group room2" with 200