Changeset View
Changeset View
Standalone View
Standalone View
src/tests/Browser/Pages/Home.php
Show All 32 Lines | class Home extends Page | ||||
* Get the element shortcuts for the page. | * Get the element shortcuts for the page. | ||||
* | * | ||||
* @return array | * @return array | ||||
*/ | */ | ||||
public function elements() | public function elements() | ||||
{ | { | ||||
return [ | return [ | ||||
'@app' => '#app', | '@app' => '#app', | ||||
'@email-input' => '#inputEmail', | |||||
'@password-input' => '#inputPassword', | |||||
'@second-factor-input' => '#secondfactor', | |||||
]; | ]; | ||||
} | } | ||||
/** | /** | ||||
* Submit logon form. | * Submit logon form. | ||||
* | * | ||||
* @param \Laravel\Dusk\Browser $browser The browser object | * @param \Laravel\Dusk\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 | ||||
* @param bool $wait_for_dashboard | * @param bool $wait_for_dashboard | ||||
* | * | ||||
* @return void | * @return void | ||||
*/ | */ | ||||
public function submitLogon($browser, $username, $password, $wait_for_dashboard = false) | public function submitLogon($browser, $username, $password, $wait_for_dashboard = false) | ||||
{ | { | ||||
$browser | $browser->type('@email-input', $username) | ||||
->type('#inputEmail', $username) | ->type('@password-input', $password); | ||||
->type('#inputPassword', $password) | |||||
->press('form button'); | if ($username == 'ned@kolab.org') { | ||||
$code = \App\Auth\SecondFactor::code('ned@kolab.org'); | |||||
$browser->type('@second-factor-input', $code); | |||||
} | |||||
$browser->press('form button'); | |||||
if ($wait_for_dashboard) { | if ($wait_for_dashboard) { | ||||
$browser->waitForLocation('/dashboard'); | $browser->waitForLocation('/dashboard'); | ||||
} | } | ||||
} | } | ||||
} | } |