fix some bugs
This commit is contained in:
@@ -4,16 +4,38 @@ namespace Tests\Unit;
|
||||
|
||||
use App\Services\ConfigService;
|
||||
use Illuminate\Http\Request;
|
||||
use Mockery;
|
||||
use Tests\TestCase;
|
||||
|
||||
class ConfigServiceOtpHostTest extends TestCase
|
||||
{
|
||||
protected function tearDown(): void
|
||||
{
|
||||
Mockery::close();
|
||||
parent::tearDown();
|
||||
}
|
||||
|
||||
/** @param mixed $appUrl */
|
||||
private function cfgWithAppUrl($appUrl): ConfigService
|
||||
{
|
||||
$cfg = Mockery::mock(ConfigService::class)->makePartial();
|
||||
$cfg->shouldReceive('get')->andReturnUsing(function (string $key, $default = null) use ($appUrl) {
|
||||
if ($key === 'app_url') {
|
||||
return $appUrl !== null && $appUrl !== '' ? $appUrl : $default;
|
||||
}
|
||||
|
||||
return $default;
|
||||
});
|
||||
|
||||
return $cfg;
|
||||
}
|
||||
|
||||
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);
|
||||
$host = $this->cfgWithAppUrl(null)->resolvePublicHost($request);
|
||||
|
||||
$this->assertSame('boursemes.com', $host);
|
||||
}
|
||||
@@ -22,14 +44,35 @@ class ConfigServiceOtpHostTest extends TestCase
|
||||
{
|
||||
$request = Request::create('https://boursemes.com/server/auth/login', 'POST');
|
||||
|
||||
$url = app(ConfigService::class)->resolvePublicSiteUrl($request);
|
||||
$url = $this->cfgWithAppUrl(null)->resolvePublicSiteUrl($request);
|
||||
|
||||
$this->assertSame('https://boursemes.com', $url);
|
||||
}
|
||||
|
||||
public function test_prefers_app_url_over_api_request_host(): void
|
||||
{
|
||||
$request = Request::create('https://goldarvin.gholaktala.ir/server/customer/order', 'POST');
|
||||
$this->app->instance('request', $request);
|
||||
|
||||
$cfg = $this->cfgWithAppUrl('https://my.goldarvin.ir');
|
||||
|
||||
$this->assertSame('my.goldarvin.ir', $cfg->resolvePublicHost($request));
|
||||
$this->assertSame('https://my.goldarvin.ir', $cfg->resolvePublicSiteUrl($request));
|
||||
}
|
||||
|
||||
public function test_app_url_without_scheme_gets_https(): void
|
||||
{
|
||||
$request = Request::create('https://goldarvin.gholaktala.ir/server/auth/login', 'POST');
|
||||
|
||||
$this->assertSame(
|
||||
'https://my.goldarvin.ir',
|
||||
$this->cfgWithAppUrl('my.goldarvin.ir')->resolvePublicSiteUrl($request)
|
||||
);
|
||||
}
|
||||
|
||||
public function test_returns_empty_without_request(): void
|
||||
{
|
||||
$host = app(ConfigService::class)->resolvePublicHost();
|
||||
$host = $this->cfgWithAppUrl(null)->resolvePublicHost();
|
||||
|
||||
$this->assertSame('', $host);
|
||||
}
|
||||
@@ -38,7 +81,7 @@ class ConfigServiceOtpHostTest extends TestCase
|
||||
{
|
||||
$request = Request::create('https://www.boursemes.com/server/auth/login', 'POST');
|
||||
|
||||
$host = app(ConfigService::class)->resolvePublicHost($request);
|
||||
$host = $this->cfgWithAppUrl(null)->resolvePublicHost($request);
|
||||
|
||||
$this->assertSame('boursemes.com', $host);
|
||||
}
|
||||
@@ -48,7 +91,7 @@ class ConfigServiceOtpHostTest extends TestCase
|
||||
$request = Request::create('http://localhost/server/auth/login', 'POST');
|
||||
$this->app->instance('request', $request);
|
||||
|
||||
$host = app(ConfigService::class)->resolvePublicHost($request);
|
||||
$host = $this->cfgWithAppUrl(null)->resolvePublicHost($request);
|
||||
|
||||
$this->assertSame('', $host);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user