mirror of
https://github.com/tiennm99/coolify.git
synced 2026-05-13 20:57:59 +00:00
cddd4b59f9
Small test just to see if you wish to continue this way of me writing tests in this shape and form. you can run them locally with php artisan dusk:chrome-driver --detect, run it with ./vendor/laravel/dusk/bin/chromedriver-mac-arm --port=9515 then run tests with php artisan dusk
76 lines
1.9 KiB
PHP
76 lines
1.9 KiB
PHP
<?php
|
|
|
|
namespace Tests;
|
|
|
|
use Facebook\WebDriver\Chrome\ChromeOptions;
|
|
use Facebook\WebDriver\Remote\DesiredCapabilities;
|
|
use Facebook\WebDriver\Remote\RemoteWebDriver;
|
|
use Illuminate\Support\Collection;
|
|
use Laravel\Dusk\TestCase as BaseTestCase;
|
|
|
|
abstract class DuskTestCase extends BaseTestCase
|
|
{
|
|
use CreatesApplication;
|
|
|
|
/**
|
|
* Prepare for Dusk test execution.
|
|
*
|
|
* @beforeClass
|
|
*/
|
|
public static function prepare(): void
|
|
{
|
|
if (! static::runningInSail()) {
|
|
static::startChromeDriver();
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Create the RemoteWebDriver instance.
|
|
*/
|
|
protected function driver(): RemoteWebDriver
|
|
{
|
|
$options = (new ChromeOptions)->addArguments(collect([
|
|
$this->shouldStartMaximized() ? '--start-maximized' : '--window-size=1920,1080',
|
|
])->unless($this->hasHeadlessDisabled(), function (Collection $items) {
|
|
return $items->merge([
|
|
'--disable-gpu',
|
|
'--headless=new',
|
|
]);
|
|
})->all());
|
|
|
|
return RemoteWebDriver::create(
|
|
$_ENV['DUSK_DRIVER_URL'] ?? 'http://localhost:9515',
|
|
DesiredCapabilities::chrome()->setCapability(
|
|
ChromeOptions::CAPABILITY,
|
|
$options
|
|
)
|
|
);
|
|
}
|
|
|
|
/**
|
|
* Determine if the browser window should start maximized.
|
|
*/
|
|
protected function shouldStartMaximized(): bool
|
|
{
|
|
return isset($_SERVER['DUSK_START_MAXIMIZED']) ||
|
|
isset($_ENV['DUSK_START_MAXIMIZED']);
|
|
}
|
|
|
|
/**
|
|
* Determine whether the Dusk command has disabled headless mode.
|
|
*/
|
|
protected function hasHeadlessDisabled(): bool
|
|
{
|
|
return isset($_SERVER['DUSK_HEADLESS_DISABLED']) ||
|
|
isset($_ENV['DUSK_HEADLESS_DISABLED']);
|
|
}
|
|
|
|
protected function baseUrl()
|
|
{
|
|
$app_url = config('app.url');
|
|
$port = config('app.port');
|
|
|
|
return $app_url.':'.$port;
|
|
}
|
|
}
|