01acfa3b40
Type checking / changes (push) Has been cancelled
Type checking / test (push) Has been cancelled
Type checking / typescript-summary (push) Has been cancelled
Node tests / changes (push) Has been cancelled
Node tests / test (push) Has been cancelled
Node tests / test-summary (push) Has been cancelled
Источник: https://github.com/nextcloud/spreed/archive/refs/tags/v22.0.12.tar.gz С этого коммита ветка официального Nextcloud Talk отрезана (решение владельца 2026-07-06). Все дальнейшие изменения — только наши; версии релизов: 22.0.12-f7.N.
122 lines
5.9 KiB
Gherkin
122 lines
5.9 KiB
Gherkin
Feature: federation/poll
|
|
Background:
|
|
Given using server "REMOTE"
|
|
And user "participant2" exists
|
|
And the following "spreed" app config is set
|
|
| federation_enabled | yes |
|
|
And using server "LOCAL"
|
|
Given user "participant1" exists
|
|
And the following "spreed" app config is set
|
|
| federation_enabled | yes |
|
|
|
|
Scenario: Create a public poll without max votes limit
|
|
Given the following "spreed" app config is set
|
|
| federation_enabled | yes |
|
|
Given user "participant1" creates room "room" (v4)
|
|
| roomType | 2 |
|
|
| roomName | room |
|
|
And user "participant1" adds federated_user "participant2" to room "room" with 200 (v4)
|
|
And using server "REMOTE"
|
|
And user "participant2" has the following invitations (v1)
|
|
| remoteServerUrl | remoteToken | state | inviterCloudId | inviterDisplayName |
|
|
| LOCAL | room | 0 | participant1@LOCAL | participant1-displayname |
|
|
And user "participant2" accepts invite to room "room" of server "LOCAL" with 200 (v1)
|
|
| id | name | type | remoteServer | remoteToken |
|
|
| LOCAL::room | room | 2 | LOCAL | room |
|
|
Then user "participant2" is participant of the following rooms (v4)
|
|
| id | type |
|
|
| LOCAL::room | 2 |
|
|
When user "participant2" creates a poll in room "LOCAL::room" with 201
|
|
| question | What is the question? |
|
|
| options | ["Where are you?","How much is the fish?"] |
|
|
| resultMode | public |
|
|
| maxVotes | unlimited |
|
|
And using server "LOCAL"
|
|
Then user "participant1" sees the following messages in room "room" with 200
|
|
| room | actorType | actorId | actorDisplayName | message | messageParameters |
|
|
| room | federated_users | participant2@{$REMOTE_URL} | participant2-displayname | {object} | {"actor":{"type":"user","id":"participant2","name":"participant2-displayname","server":"{$REMOTE_URL}","mention-id":"federated_user\/participant2@{$REMOTE_URL}"},"object":{"type":"talk-poll","id":POLL_ID(What is the question?),"name":"What is the question?"}} |
|
|
And using server "REMOTE"
|
|
Then user "participant2" sees poll "What is the question?" in room "LOCAL::room" with 200
|
|
| id | POLL_ID(What is the question?) |
|
|
| question | What is the question? |
|
|
| options | ["Where are you?","How much is the fish?"] |
|
|
| votes | [] |
|
|
| numVoters | 0 |
|
|
| resultMode | public |
|
|
| maxVotes | unlimited |
|
|
| actorType | users |
|
|
| actorId | participant2 |
|
|
| actorDisplayName | participant2-displayname |
|
|
| status | open |
|
|
| votedSelf | not voted |
|
|
And using server "LOCAL"
|
|
Then user "participant1" votes for options "[1]" on poll "What is the question?" in room "room" with 200
|
|
| id | POLL_ID(What is the question?) |
|
|
| question | What is the question? |
|
|
| options | ["Where are you?","How much is the fish?"] |
|
|
| votes | {"option-1":1} |
|
|
| numVoters | 1 |
|
|
| resultMode | public |
|
|
| maxVotes | unlimited |
|
|
| actorType | federated_users |
|
|
| actorId | participant2@{$REMOTE_URL} |
|
|
| actorDisplayName | participant2-displayname |
|
|
| status | open |
|
|
| votedSelf | [1] |
|
|
Then user "participant1" sees poll "What is the question?" in room "room" with 200
|
|
| id | POLL_ID(What is the question?) |
|
|
| question | What is the question? |
|
|
| options | ["Where are you?","How much is the fish?"] |
|
|
| votes | {"option-1":1} |
|
|
| numVoters | 1 |
|
|
| resultMode | public |
|
|
| maxVotes | unlimited |
|
|
| actorType | federated_users |
|
|
| actorId | participant2@{$REMOTE_URL} |
|
|
| actorDisplayName | participant2-displayname |
|
|
| status | open |
|
|
| votedSelf | [1] |
|
|
And using server "REMOTE"
|
|
Then user "participant2" sees poll "What is the question?" in room "LOCAL::room" with 200
|
|
| id | POLL_ID(What is the question?) |
|
|
| question | What is the question? |
|
|
| options | ["Where are you?","How much is the fish?"] |
|
|
| votes | [] |
|
|
| numVoters | 1 |
|
|
| resultMode | public |
|
|
| maxVotes | unlimited |
|
|
| actorType | users |
|
|
| actorId | participant2 |
|
|
| actorDisplayName | participant2-displayname |
|
|
| status | open |
|
|
| votedSelf | not voted |
|
|
Then user "participant2" closes poll "What is the question?" in room "LOCAL::room" with 200
|
|
| id | POLL_ID(What is the question?) |
|
|
| question | What is the question? |
|
|
| options | ["Where are you?","How much is the fish?"] |
|
|
| votes | {"option-1":1} |
|
|
| numVoters | 1 |
|
|
| resultMode | public |
|
|
| maxVotes | unlimited |
|
|
| actorType | users |
|
|
| actorId | participant2 |
|
|
| actorDisplayName | participant2-displayname |
|
|
| status | closed |
|
|
| votedSelf | not voted |
|
|
| details | [{"actorType":"federated_users","actorId":"participant1@{$LOCAL_URL}","actorDisplayName":"participant1-displayname","optionId":1}] |
|
|
And using server "LOCAL"
|
|
Then user "participant1" sees poll "What is the question?" in room "room" with 200
|
|
| id | POLL_ID(What is the question?) |
|
|
| question | What is the question? |
|
|
| options | ["Where are you?","How much is the fish?"] |
|
|
| votes | {"option-1":1} |
|
|
| numVoters | 1 |
|
|
| resultMode | public |
|
|
| maxVotes | unlimited |
|
|
| actorType | federated_users |
|
|
| actorId | participant2@{$REMOTE_URL} |
|
|
| actorDisplayName | participant2-displayname |
|
|
| status | closed |
|
|
| votedSelf | [1] |
|
|
| details | [{"actorType":"users","actorId":"participant1","actorDisplayName":"participant1-displayname","optionId":1}] |
|