Changeset View
Changeset View
Standalone View
Standalone View
src/tests/Browser/Pages/Home.php
<?php | <?php | ||||
namespace Tests\Browser\Pages; | namespace Tests\Browser\Pages; | ||||
use Laravel\Dusk\Browser; | |||||
use Laravel\Dusk\Page; | use Laravel\Dusk\Page; | ||||
class Home extends Page | class Home extends Page | ||||
{ | { | ||||
/** | /** | ||||
* Get the URL for the page. | * Get the URL for the page. | ||||
* | * | ||||
* @return string | * @return string | ||||
*/ | */ | ||||
public function url() | public function url() | ||||
{ | { | ||||
return '/login'; | return '/login'; | ||||
} | } | ||||
/** | /** | ||||
* Assert that the browser is on the page. | * Assert that the browser is on the page. | ||||
* | * | ||||
* @param \Laravel\Dusk\Browser $browser | * @param \Laravel\Dusk\Browser $browser The browser object | ||||
* | |||||
* @return void | * @return void | ||||
*/ | */ | ||||
public function assert(Browser $browser) | public function assert($browser) | ||||
{ | { | ||||
$browser->assertPathIs($this->url()) | $browser->assertPathIs($this->url()) | ||||
->assertVisible('form.form-signin'); | ->assertVisible('form.form-signin'); | ||||
} | } | ||||
/** | /** | ||||
* 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', | ||||
]; | ]; | ||||
} | } | ||||
/** | /** | ||||
* Submit logon form. | * Submit logon form. | ||||
* | * | ||||
* @param Browser $browser | * @param \Laravel\Dusk\Browser $browser The browser object | ||||
* @param string $username | * @param string $username User name | ||||
* @param string $password | * @param string $password User password | ||||
* @param bool $wait_for_dashboard | * @param bool $wait_for_dashboard | ||||
* | * | ||||
* @return void | * @return void | ||||
*/ | */ | ||||
public function submitLogon(Browser $browser, $username, $password, $wait_for_dashboard = false) | public function submitLogon($browser, $username, $password, $wait_for_dashboard = false) | ||||
{ | { | ||||
$browser | $browser | ||||
->type('#inputEmail', $username) | ->type('#inputEmail', $username) | ||||
->type('#inputPassword', $password) | ->type('#inputPassword', $password) | ||||
->press('form button'); | ->press('form button'); | ||||
if ($wait_for_dashboard) { | if ($wait_for_dashboard) { | ||||
$browser->waitForLocation('/dashboard'); | $browser->waitForLocation('/dashboard'); | ||||
} | } | ||||
} | } | ||||
} | } |