56 lines
1.6 KiB
PHP
56 lines
1.6 KiB
PHP
<?php
|
|
|
|
namespace Tests\Unit;
|
|
|
|
use App\Services\ConfigService;
|
|
use Illuminate\Http\Request;
|
|
use Tests\TestCase;
|
|
|
|
class ConfigServiceOtpHostTest extends TestCase
|
|
{
|
|
public function test_uses_request_host_without_settings(): void
|
|
{
|
|
$request = Request::create('https://boursemes.com/server/auth/login', 'POST');
|
|
$this->app->instance('request', $request);
|
|
|
|
$host = app(ConfigService::class)->resolvePublicHost($request);
|
|
|
|
$this->assertSame('boursemes.com', $host);
|
|
}
|
|
|
|
public function test_resolve_public_site_url_from_request(): void
|
|
{
|
|
$request = Request::create('https://boursemes.com/server/auth/login', 'POST');
|
|
|
|
$url = app(ConfigService::class)->resolvePublicSiteUrl($request);
|
|
|
|
$this->assertSame('https://boursemes.com', $url);
|
|
}
|
|
|
|
public function test_returns_empty_without_request(): void
|
|
{
|
|
$host = app(ConfigService::class)->resolvePublicHost();
|
|
|
|
$this->assertSame('', $host);
|
|
}
|
|
|
|
public function test_strips_www_prefix(): void
|
|
{
|
|
$request = Request::create('https://www.boursemes.com/server/auth/login', 'POST');
|
|
|
|
$host = app(ConfigService::class)->resolvePublicHost($request);
|
|
|
|
$this->assertSame('boursemes.com', $host);
|
|
}
|
|
|
|
public function test_skips_localhost_request_host(): void
|
|
{
|
|
$request = Request::create('http://localhost/server/auth/login', 'POST');
|
|
$this->app->instance('request', $request);
|
|
|
|
$host = app(ConfigService::class)->resolvePublicHost($request);
|
|
|
|
$this->assertSame('', $host);
|
|
}
|
|
}
|