Fix removing yourself and promoting a stranger

Signed-off-by: Joas Schilling <coding@schilljs.com>
This commit is contained in:
Joas Schilling 2021-03-09 08:28:08 +01:00
Родитель 12a48be140
Коммит 1e9c21e0c9
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 7076EA9751AACDDA
3 изменённых файлов: 6 добавлений и 5 удалений

Просмотреть файл

@ -1189,8 +1189,7 @@ class RoomController extends AEnvironmentAwareController {
}
if ($this->participant->getAttendee()->getId() === $targetParticipant->getAttendee()->getId()) {
// FIXME switch to removeSelfFromRoomLogic()
return new DataResponse([], Http::STATUS_FORBIDDEN);
return $this->removeSelfFromRoomLogic($this->room, $targetParticipant);
}
if ($targetParticipant->getAttendee()->getParticipantType() === Participant::OWNER) {

Просмотреть файл

@ -1010,7 +1010,9 @@ class FeatureContext implements Context, SnippetAcceptingContext {
* @param string $apiVersion
*/
public function userPromoteDemoteInRoom(string $user, string $isPromotion, string $participant, string $identifier, int $statusCode, string $apiVersion): void {
if (strpos($participant, 'guest') === 0) {
if ($participant === 'stranger') {
$attendeeId = 123456789;
} elseif (strpos($participant, 'guest') === 0) {
$sessionId = self::$userToSessionId[$participant];
$attendeeId = $this->getAttendeeId('guests', sha1($sessionId), $identifier, $statusCode === 200 ? $user : null);
} else {

Просмотреть файл

@ -125,7 +125,7 @@ Feature: one-to-one
And user "participant1" is participant of room "room10" (v4)
And user "participant3" is not participant of room "room10" (v4)
And user "participant1" loads attendees attendee ids in room "room10" (v4)
When user "participant1" promotes "participant3" in room "room10" with 404 (v4)
When user "participant1" promotes "stranger" in room "room10" with 404 (v4)
Scenario: User1 invites user2 to a one2one room and demote non-invited user
Given user "participant1" creates room "room11" (v4)
@ -134,7 +134,7 @@ Feature: one-to-one
And user "participant1" is participant of room "room11" (v4)
And user "participant3" is not participant of room "room11" (v4)
And user "participant1" loads attendees attendee ids in room "room11" (v4)
When user "participant1" demotes "participant3" in room "room11" with 404 (v4)
When user "participant1" demotes "stranger" in room "room11" with 404 (v4)
Scenario: User1 invites user2 to a one2one room twice, it's the same room
Given user "participant1" creates room "room12" (v4)