Changeset View
Changeset View
Standalone View
Standalone View
src/tests/Browser/Meet/RoomModeratorTest.php
Show First 20 Lines • Show All 72 Lines • ▼ Show 20 Lines | public function testModeratorPromotion(): void | ||||
// Assert that only the owner is a moderator right now | // Assert that only the owner is a moderator right now | ||||
$guest1->waitFor('@session video') | $guest1->waitFor('@session video') | ||||
->assertMissing('@session div.meet-video .meet-nickname') // guest2 | ->assertMissing('@session div.meet-video .meet-nickname') // guest2 | ||||
->assertVisible('@session div.meet-subscriber.self svg.user') // self | ->assertVisible('@session div.meet-subscriber.self svg.user') // self | ||||
->assertMissing('@session div.meet-subscriber.self svg.moderator') // self | ->assertMissing('@session div.meet-subscriber.self svg.moderator') // self | ||||
->assertMissing('@session div.meet-subscriber:not(.self) svg.user') // owner | ->assertMissing('@session div.meet-subscriber:not(.self) svg.user') // owner | ||||
->assertVisible('@session div.meet-subscriber:not(.self) svg.moderator') // owner | ->assertVisible('@session div.meet-subscriber:not(.self) svg.moderator') // owner | ||||
->click('@session div.meet-subscriber.self .meet-nickname') | ->click('@session div.meet-subscriber.self .meet-nickname') | ||||
->whenAvailable('@session .dropdown-menu', function (Browser $browser) { | ->whenAvailable('@session div.meet-subscriber.self .dropdown-menu', function (Browser $browser) { | ||||
$browser->assertMissing('.permissions'); | $browser->assertMissing('.permissions'); | ||||
}) | }) | ||||
->click('@session div.meet-subscriber:not(.self) .meet-nickname') | ->click('@session div.meet-subscriber:not(.self) .meet-nickname') | ||||
->assertMissing('.dropdown-menu'); | ->assertMissing('.dropdown-menu'); | ||||
$guest2->waitFor('@session video') | $guest2->waitFor('@session video') | ||||
->assertVisible('@session div.meet-video svg.user') // self | ->assertVisible('@session div.meet-video svg.user') // self | ||||
->assertMissing('@session div.meet-video svg.moderator'); // self | ->assertMissing('@session div.meet-video svg.moderator'); // self | ||||
/* | /* | ||||
it does not work because the order is different all the time | it does not work because the order is different all the time | ||||
->assertMissing('@session div.meet-subscriber:nth-child(1) svg.user') // owner | ->assertMissing('@session div.meet-subscriber:nth-child(1) svg.user') // owner | ||||
->assertVisible('@session div.meet-subscriber:nth-child(1) svg.moderator') // owner | ->assertVisible('@session div.meet-subscriber:nth-child(1) svg.moderator') // owner | ||||
->assertVisible('@session div.meet-subscriber:nth-child(2) svg.user') // guest1 | ->assertVisible('@session div.meet-subscriber:nth-child(2) svg.user') // guest1 | ||||
->assertMissing('@session div.meet-subscriber:nth-child(2) svg.moderator'); // guest1 | ->assertMissing('@session div.meet-subscriber:nth-child(2) svg.moderator'); // guest1 | ||||
*/ | */ | ||||
// Promote guest1 to a moderator | // Promote guest1 to a moderator | ||||
$browser->waitFor('@session video') | $browser->waitFor('@session video') | ||||
->assertMissing('@session div.meet-subscriber.self svg.user') // self | ->assertMissing('@session div.meet-subscriber.self svg.user') // self | ||||
->assertVisible('@session div.meet-subscriber.self svg.moderator') // self | ->assertVisible('@session div.meet-subscriber.self svg.moderator') // self | ||||
->click('@session div.meet-subscriber.self .meet-nickname') | ->click('@session div.meet-subscriber.self .meet-nickname') | ||||
->whenAvailable('@session .dropdown-menu', function (Browser $browser) { | ->whenAvailable('@session div.meet-subscriber.self .dropdown-menu', function (Browser $browser) { | ||||
$browser->assertChecked('.action-role-moderator input') | $browser->assertChecked('.action-role-moderator input') | ||||
->assertDisabled('.action-role-moderator input'); | ->assertDisabled('.action-role-moderator input'); | ||||
}) | }) | ||||
->click('@session div.meet-subscriber:not(.self) .meet-nickname') | ->click('@session div.meet-subscriber:not(.self) .meet-nickname') | ||||
->whenAvailable('@session div.meet-subscriber:not(.self) .dropdown-menu', function (Browser $browser) { | ->whenAvailable('@session div.meet-subscriber:not(.self) .dropdown-menu', function (Browser $browser) { | ||||
$browser->assertNotChecked('.action-role-moderator input') | $browser->assertNotChecked('.action-role-moderator input') | ||||
->click('.action-role-moderator input'); | ->click('.action-role-moderator input'); | ||||
}); | }); | ||||
▲ Show 20 Lines • Show All 57 Lines • Show Last 20 Lines |