Changeset View
Changeset View
Standalone View
Standalone View
src/tests/Browser/Meet/RoomSecurityTest.php
Show First 20 Lines • Show All 164 Lines • ▼ Show 20 Lines | public function testLockedRoom(): void | ||||
$this->assertSame('true', $room->fresh()->getSetting('locked')); | $this->assertSame('true', $room->fresh()->getSetting('locked')); | ||||
}); | }); | ||||
// In another browser act as a guest | // In another browser act as a guest | ||||
$guest->visit(new RoomPage('john')) | $guest->visit(new RoomPage('john')) | ||||
->waitFor('@setup-form') | ->waitFor('@setup-form') | ||||
->waitUntilMissing('@setup-status-message.loading') | ->waitUntilMissing('@setup-status-message.loading') | ||||
->assertSeeIn('@setup-button:not([disabled]).btn-success', 'JOIN NOW') | ->assertButtonEnabled('@setup-button') | ||||
->assertSeeIn('@setup-button.btn-success', 'JOIN NOW') | |||||
// try without the nickname | // try without the nickname | ||||
->click('@setup-button') | ->click('@setup-button') | ||||
->waitFor('@setup-nickname-input.is-invalid') | ->waitFor('@setup-nickname-input.is-invalid') | ||||
->assertSeeIn( | ->assertSeeIn( | ||||
'@setup-status-message', | '@setup-status-message', | ||||
"The room is locked. Please, enter your name and try again." | "The room is locked. Please, enter your name and try again." | ||||
) | ) | ||||
->assertMissing('@setup-password-input') | ->assertMissing('@setup-password-input') | ||||
->assertSeeIn('@setup-button:not([disabled]).btn-success', 'JOIN NOW') | ->assertButtonEnabled('@setup-button') | ||||
->assertSeeIn('@setup-button.btn-success', 'JOIN NOW') | |||||
->type('@setup-nickname-input', 'Guest<p>') | ->type('@setup-nickname-input', 'Guest<p>') | ||||
->click('@setup-button') | ->click('@setup-button') | ||||
->assertMissing('@setup-nickname-input.is-invalid') | ->assertMissing('@setup-nickname-input.is-invalid') | ||||
->waitFor('@setup-button[disabled]') | ->waitForText("Waiting for permission to join the room.") | ||||
->assertSeeIn('@setup-status-message', "Waiting for permission to join the room."); | ->assertButtonDisabled('@setup-button'); | ||||
// Test denying the request (this will also test custom toasts) | // Test denying the request (this will also test custom toasts) | ||||
$owner | $owner | ||||
->whenAvailable(new Toast(Toast::TYPE_CUSTOM), function ($browser) { | ->whenAvailable(new Toast(Toast::TYPE_CUSTOM), function ($browser) { | ||||
$browser->assertToastTitle('Join request') | $browser->assertToastTitle('Join request') | ||||
->assertVisible('.toast-header svg.fa-user') | ->assertVisible('.toast-header svg.fa-user') | ||||
->assertSeeIn('@message', 'Guest<p> requested to join.') | ->assertSeeIn('@message', 'Guest<p> requested to join.') | ||||
->assertAttributeRegExp('@message img', 'src', '|^data:image|') | ->assertAttributeRegExp('@message img', 'src', '|^data:image|') | ||||
->assertSeeIn('@message button.accept.btn-success', 'Accept') | ->assertSeeIn('@message button.accept.btn-success', 'Accept') | ||||
->assertSeeIn('@message button.deny.btn-danger', 'Deny') | ->assertSeeIn('@message button.deny.btn-danger', 'Deny') | ||||
->click('@message button.deny'); | ->click('@message button.deny'); | ||||
}) | }) | ||||
->waitUntilMissing('.toast') | ->waitUntilMissing('.toast') | ||||
// wait 10 seconds to make sure the request message does not show up again | // wait 10 seconds to make sure the request message does not show up again | ||||
->pause(10 * 1000) | ->pause(10 * 1000) | ||||
->assertMissing('.toast'); | ->assertMissing('.toast'); | ||||
// Test accepting the request | // Test accepting the request | ||||
$guest->refresh() | $guest->refresh() | ||||
->waitFor('@setup-form') | ->waitFor('@setup-form') | ||||
->waitUntilMissing('@setup-status-message.loading') | ->waitUntilMissing('@setup-status-message.loading') | ||||
->type('@setup-nickname-input', 'guest') | ->type('@setup-nickname-input', 'guest') | ||||
->click('@setup-button') | ->click('@setup-button') | ||||
->waitFor('@setup-button[disabled]') | ->waitForText("Waiting for permission to join the room.") | ||||
->assertSeeIn('@setup-status-message', "Waiting for permission to join the room."); | ->assertButtonDisabled('@setup-button'); | ||||
$owner | $owner | ||||
->whenAvailable(new Toast(Toast::TYPE_CUSTOM), function ($browser) { | ->whenAvailable(new Toast(Toast::TYPE_CUSTOM), function ($browser) { | ||||
$browser->assertToastTitle('Join request') | $browser->assertToastTitle('Join request') | ||||
->assertSeeIn('@message', 'guest requested to join.') | ->assertSeeIn('@message', 'guest requested to join.') | ||||
->click('@message button.accept'); | ->click('@message button.accept'); | ||||
}); | }); | ||||
Show All 28 Lines |