Changeset View
Changeset View
Standalone View
Standalone View
src/tests/Browser/Meet/RoomSetupTest.php
Show First 20 Lines • Show All 143 Lines • ▼ Show 20 Lines | public function testTwoUsersInARoom(): void | ||||
->assertMissing('@toolbar') | ->assertMissing('@toolbar') | ||||
->assertMissing('@menu') | ->assertMissing('@menu') | ||||
->assertMissing('@session') | ->assertMissing('@session') | ||||
->assertMissing('@chat') | ->assertMissing('@chat') | ||||
->assertMissing('@setup-form') | ->assertMissing('@setup-form') | ||||
->assertVisible('@login-form') | ->assertVisible('@login-form') | ||||
->submitLogon('john@kolab.org', 'simple123') | ->submitLogon('john@kolab.org', 'simple123') | ||||
->waitFor('@setup-form') | ->waitFor('@setup-form') | ||||
->assertMissing('@login-form') | ->within(new Menu(), function ($browser) { | ||||
$browser->assertMenuItems(['explore', 'blog', 'support', 'dashboard', 'logout']); | |||||
}); | |||||
if ($browser->isDesktop()) { | |||||
$browser->within(new Menu('footer'), function ($browser) { | |||||
$browser->assertMenuItems(['explore', 'blog', 'support', 'tos', 'dashboard', 'logout']); | |||||
}); | |||||
} | |||||
$browser->assertMissing('@login-form') | |||||
->waitUntilMissing('@setup-status-message.loading') | ->waitUntilMissing('@setup-status-message.loading') | ||||
->waitFor('@setup-status-message') | ->waitFor('@setup-status-message') | ||||
->assertSeeIn('@setup-status-message', "The room is closed. It will be open for others after you join.") | ->assertSeeIn('@setup-status-message', "The room is closed. It will be open for others after you join.") | ||||
->assertSeeIn('@setup-button', "JOIN") | ->assertSeeIn('@setup-button', "JOIN") | ||||
->type('@setup-nickname-input', 'john') | ->type('@setup-nickname-input', 'john') | ||||
// Join the room (click the button twice, to make sure it does not | // Join the room (click the button twice, to make sure it does not | ||||
// produce redundant participants/subscribers in the room) | // produce redundant participants/subscribers in the room) | ||||
->clickWhenEnabled('@setup-button') | ->clickWhenEnabled('@setup-button') | ||||
->pause(10) | ->pause(10) | ||||
->click('@setup-button') | ->click('@setup-button') | ||||
->waitFor('@session') | ->waitFor('@session') | ||||
->assertMissing('@setup-form') | ->assertMissing('@setup-form') | ||||
->whenAvailable('div.meet-video.self', function (Browser $browser) { | ->whenAvailable('div.meet-video.self', function (Browser $browser) { | ||||
$browser->waitFor('video') | $browser->waitFor('video') | ||||
->assertSeeIn('.meet-nickname', 'john') | ->assertSeeIn('.meet-nickname', 'john') | ||||
->assertVisible('.controls button.link-fullscreen') | ->assertVisible('.controls button.link-fullscreen') | ||||
->assertMissing('.controls button.link-audio') | ->assertMissing('.controls button.link-audio') | ||||
->assertMissing('.status .status-audio') | ->assertMissing('.status .status-audio') | ||||
->assertMissing('.status .status-video'); | ->assertMissing('.status .status-video'); | ||||
}) | }) | ||||
->within(new Menu(), function ($browser) { | ->assertMissing('#header-menu'); | ||||
$browser->assertMenuItems(['explore', 'blog', 'support', 'dashboard', 'logout']); | |||||
}); | |||||
if ($browser->isDesktop()) { | if (!$browser->isPhone()) { | ||||
$browser->within(new Menu('footer'), function ($browser) { | $browser->assertMissing('#footer-menu'); | ||||
$browser->assertMenuItems(['explore', 'blog', 'support', 'tos', 'dashboard', 'logout']); | } else { | ||||
}); | $browser->assertVisible('#footer-menu'); | ||||
} | } | ||||
// After the owner "opened the room" guest should be able to join | // After the owner "opened the room" guest should be able to join | ||||
$guest->waitUntilMissing('@setup-status-message', 10) | $guest->waitUntilMissing('@setup-status-message', 10) | ||||
->assertSeeIn('@setup-button', "JOIN") | ->assertSeeIn('@setup-button', "JOIN") | ||||
// Join the room, disable cam/mic | // Join the room, disable cam/mic | ||||
->select('@setup-mic-select', '') | ->select('@setup-mic-select', '') | ||||
//->select('@setup-cam-select', '') | //->select('@setup-cam-select', '') | ||||
Show All 11 Lines | public function testTwoUsersInARoom(): void | ||||
->whenAvailable('div.meet-video:not(.self)', function (Browser $browser) { | ->whenAvailable('div.meet-video:not(.self)', function (Browser $browser) { | ||||
$browser->waitFor('video') | $browser->waitFor('video') | ||||
->assertSeeIn('.meet-nickname', 'john') | ->assertSeeIn('.meet-nickname', 'john') | ||||
->assertVisible('.controls button.link-fullscreen') | ->assertVisible('.controls button.link-fullscreen') | ||||
->assertVisible('.controls button.link-audio') | ->assertVisible('.controls button.link-audio') | ||||
->assertMissing('.status .status-audio') | ->assertMissing('.status .status-audio') | ||||
->assertMissing('.status .status-video'); | ->assertMissing('.status .status-video'); | ||||
}) | }) | ||||
->assertElementsCount('@session div.meet-video', 2) | ->assertElementsCount('@session div.meet-video', 2); | ||||
->within(new Menu(), function ($browser) { | |||||
$browser->assertMenuItems(['explore', 'blog', 'support', 'signup', 'login']); | |||||
}); | |||||
if ($guest->isDesktop()) { | |||||
$guest->within(new Menu('footer'), function ($browser) { | |||||
$browser->assertMenuItems(['explore', 'blog', 'support', 'tos', 'signup', 'login']); | |||||
}); | |||||
} | |||||
// Check guest's elements in the owner's window | // Check guest's elements in the owner's window | ||||
$browser | $browser | ||||
->whenAvailable('div.meet-video:not(.self)', function (Browser $browser) { | ->whenAvailable('div.meet-video:not(.self)', function (Browser $browser) { | ||||
$browser->waitFor('video') | $browser->waitFor('video') | ||||
->assertVisible('.meet-nickname') | ->assertVisible('.meet-nickname') | ||||
->assertVisible('.controls button.link-fullscreen') | ->assertVisible('.controls button.link-fullscreen') | ||||
->assertVisible('.controls button.link-audio') | ->assertVisible('.controls button.link-audio') | ||||
->assertMissing('.controls button.link-setup') | ->assertMissing('.controls button.link-setup') | ||||
->assertVisible('.status .status-audio') | ->assertVisible('.status .status-audio') | ||||
->assertMissing('.status .status-video'); | ->assertMissing('.status .status-video'); | ||||
}) | }) | ||||
->assertElementsCount('@session div.meet-video', 2); | ->assertElementsCount('@session div.meet-video', 2); | ||||
// Test leaving the room | // Test leaving the room | ||||
// Guest is leaving | // Guest is leaving | ||||
$guest->click('@menu button.link-logout') | $guest->click('@menu button.link-logout') | ||||
->waitForLocation('/login'); | ->waitForLocation('/login') | ||||
->assertVisible('#header-menu'); | |||||
// Expect the participant removed from other users windows | // Expect the participant removed from other users windows | ||||
$browser->waitUntilMissing('@session div.meet-video:not(.self)'); | $browser->waitUntilMissing('@session div.meet-video:not(.self)'); | ||||
// Join the room as guest again | // Join the room as guest again | ||||
$guest->visit(new RoomPage('john')) | $guest->visit(new RoomPage('john')) | ||||
->assertMissing('@toolbar') | ->assertMissing('@toolbar') | ||||
->assertMissing('@menu') | ->assertMissing('@menu') | ||||
▲ Show 20 Lines • Show All 325 Lines • Show Last 20 Lines |