Changeset View
Changeset View
Standalone View
Standalone View
src/tests/Browser/Pages/Meet/Room.php
Show First 20 Lines • Show All 58 Lines • ▼ Show 20 Lines | public function elements() | ||||
'@app' => '#app', | '@app' => '#app', | ||||
'@setup-form' => '#meet-setup form', | '@setup-form' => '#meet-setup form', | ||||
'@setup-title' => '#meet-setup .card-title', | '@setup-title' => '#meet-setup .card-title', | ||||
'@setup-mic-select' => '#setup-microphone', | '@setup-mic-select' => '#setup-microphone', | ||||
'@setup-cam-select' => '#setup-camera', | '@setup-cam-select' => '#setup-camera', | ||||
'@setup-nickname-input' => '#setup-nickname', | '@setup-nickname-input' => '#setup-nickname', | ||||
'@setup-password-input' => '#setup-password', | '@setup-password-input' => '#setup-password', | ||||
'@setup-preview' => '#setup-preview', | '@setup-preview' => '#meet-setup .media-setup-preview', | ||||
'@setup-volume' => '#setup-preview .volume', | '@setup-volume' => '#meet-setup .media-setup-preview .volume', | ||||
'@setup-video' => '#setup-preview video', | '@setup-video' => '#meet-setup .media-setup-preview video', | ||||
'@setup-status-message' => '#meet-setup div.status-message', | '@setup-status-message' => '#meet-setup div.status-message', | ||||
'@setup-button' => '#join-button', | '@setup-button' => '#join-button', | ||||
'@toolbar' => '#meet-session-toolbar', | '@toolbar' => '#meet-session-toolbar', | ||||
'@menu' => '#meet-session-menu', | '@menu' => '#meet-session-menu', | ||||
'@session' => '#meet-session', | '@session' => '#meet-session', | ||||
▲ Show 20 Lines • Show All 78 Lines • ▼ Show 20 Lines | class Room extends Page | ||||
* Set the nickname for the participant | * Set the nickname for the participant | ||||
* | * | ||||
* @param \Tests\Browser $browser The browser object | * @param \Tests\Browser $browser The browser object | ||||
* @param string $selector Participant element selector | * @param string $selector Participant element selector | ||||
* @param string $nickname Nickname | * @param string $nickname Nickname | ||||
*/ | */ | ||||
public function setNickname($browser, $selector, $nickname): void | public function setNickname($browser, $selector, $nickname): void | ||||
{ | { | ||||
$element = "$selector .meet-nickname .content"; | |||||
$browser->click("$selector .meet-nickname") | |||||
->waitFor("$selector .dropdown-menu") | |||||
->assertSeeIn("$selector .dropdown-menu > .action-nickname", 'Nickname') | |||||
->click("$selector .dropdown-menu > .action-nickname") | |||||
->waitUntilMissing('.dropdown-menu') | |||||
// Use script() because type() does not work with this contenteditable widget | // Use script() because type() does not work with this contenteditable widget | ||||
$selector = $selector . ' .meet-nickname .content'; | ->script( | ||||
$browser->script( | "var element = document.querySelector('$element');" | ||||
"var element = document.querySelector('$selector');" | |||||
. "element.focus();" | |||||
. "element.innerText = '$nickname';" | . "element.innerText = '$nickname';" | ||||
. "element.dispatchEvent(new KeyboardEvent('keydown', { keyCode: 27 }))" | . "element.dispatchEvent(new KeyboardEvent('keydown', { keyCode: 27 }))" | ||||
); | ); | ||||
} | } | ||||
/** | /** | ||||
* Submit logon form. | * Submit logon form. | ||||
* | * | ||||
* @param \Tests\Browser $browser The browser object | * @param \Tests\Browser $browser The browser object | ||||
* @param string $username User name | * @param string $username User name | ||||
* @param string $password User password | * @param string $password User password | ||||
Show All 21 Lines |