Changeset View
Changeset View
Standalone View
Standalone View
src/tests/Browser.php
<?php | <?php | ||||
namespace Tests; | namespace Tests; | ||||
use Facebook\WebDriver\WebDriverKeys; | use Facebook\WebDriver\WebDriverKeys; | ||||
use PHPUnit\Framework\Assert; | use PHPUnit\Framework\Assert; | ||||
use Tests\Browser\Components; | use Tests\Browser\Components\Error; | ||||
/** | /** | ||||
* Laravel Dusk Browser extensions | * Laravel Dusk Browser extensions | ||||
*/ | */ | ||||
class Browser extends \Laravel\Dusk\Browser | class Browser extends \Laravel\Dusk\Browser | ||||
{ | { | ||||
/** | /** | ||||
* Assert number of (visible) elements | * Assert number of (visible) elements | ||||
Show All 12 Lines | public function assertElementsCount($selector, $expected_count, $visible = true) | ||||
} | } | ||||
Assert::assertEquals($expected_count, $count); | Assert::assertEquals($expected_count, $count); | ||||
return $this; | return $this; | ||||
} | } | ||||
/** | /** | ||||
* Assert specified error page is displayed. | |||||
*/ | |||||
public function assertErrorPage(int $error_code) | |||||
{ | |||||
$this->with(new Error($error_code), function ($browser) { | |||||
// empty, assertions will be made by the Error component itself | |||||
}); | |||||
return $this; | |||||
} | |||||
/** | |||||
* Assert that the given element has specified class assigned. | * Assert that the given element has specified class assigned. | ||||
*/ | */ | ||||
public function assertHasClass($selector, $class_name) | public function assertHasClass($selector, $class_name) | ||||
{ | { | ||||
$element = $this->resolver->findOrFail($selector); | $element = $this->resolver->findOrFail($selector); | ||||
$classes = explode(' ', (string) $element->getAttribute('class')); | $classes = explode(' ', (string) $element->getAttribute('class')); | ||||
Assert::assertContains($class_name, $classes); | Assert::assertContains($class_name, $classes); | ||||
return $this; | return $this; | ||||
} | } | ||||
/** | /** | ||||
* Remove all toast messages | |||||
*/ | |||||
public function clearToasts() | |||||
{ | |||||
$this->script("jQuery('.toast-container > *').remove()"); | |||||
return $this; | |||||
} | |||||
/** | |||||
* Check if in Phone mode | * Check if in Phone mode | ||||
*/ | */ | ||||
public static function isPhone() | public static function isPhone() | ||||
{ | { | ||||
return getenv('TESTS_MODE') == 'phone'; | return getenv('TESTS_MODE') == 'phone'; | ||||
} | } | ||||
/** | /** | ||||
▲ Show 20 Lines • Show All 62 Lines • Show Last 20 Lines |