41 lines
1.2 KiB
PHP
41 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace Tests\Unit;
|
|
|
|
use App\Services\LemonSqueezy\LemonSqueezyClient;
|
|
use Illuminate\Support\Facades\Http;
|
|
use Tests\TestCase;
|
|
|
|
class LemonSqueezyClientTest extends TestCase
|
|
{
|
|
public function test_base_url_is_normalized_when_missing_scheme(): void
|
|
{
|
|
$this->app['config']->set('lemonsqueezy.api_key', 'test-token');
|
|
$this->app['config']->set('lemonsqueezy.base_url', '/v1');
|
|
|
|
Http::fake(function ($request) {
|
|
$this->assertSame('https://api.lemonsqueezy.com/v1/products', $request->url());
|
|
|
|
return Http::response(['data' => []], 200);
|
|
});
|
|
|
|
$client = $this->app->make(LemonSqueezyClient::class);
|
|
$client->get('/products');
|
|
}
|
|
|
|
public function test_base_url_is_forced_to_api_when_pointing_to_local_host(): void
|
|
{
|
|
$this->app['config']->set('lemonsqueezy.api_key', 'test-token');
|
|
$this->app['config']->set('lemonsqueezy.base_url', 'http://localhost/v1');
|
|
|
|
Http::fake(function ($request) {
|
|
$this->assertSame('https://api.lemonsqueezy.com/v1/products', $request->url());
|
|
|
|
return Http::response(['data' => []], 200);
|
|
});
|
|
|
|
$client = $this->app->make(LemonSqueezyClient::class);
|
|
$client->get('/products');
|
|
}
|
|
}
|