80 lines
2.3 KiB
PHP
80 lines
2.3 KiB
PHP
<?php
|
|
|
|
namespace Tests\Feature\Tenant;
|
|
|
|
use App\Models\PackageAddon;
|
|
use Illuminate\Support\Facades\Config;
|
|
|
|
class EventAddonCatalogControllerTest extends TenantTestCase
|
|
{
|
|
public function test_paypal_catalog_only_returns_addons_with_paypal_price(): void
|
|
{
|
|
Config::set('package-addons.provider', 'paypal');
|
|
|
|
PackageAddon::create([
|
|
'key' => 'extend_gallery_30d',
|
|
'label' => 'Galerie +30 Tage',
|
|
'active' => true,
|
|
'sort' => 10,
|
|
'extra_gallery_days' => 30,
|
|
'metadata' => ['price_eur' => 4],
|
|
]);
|
|
|
|
PackageAddon::create([
|
|
'key' => 'extend_gallery_90d',
|
|
'label' => 'Galerie +90 Tage',
|
|
'active' => true,
|
|
'sort' => 20,
|
|
'extra_gallery_days' => 90,
|
|
'variant_id' => 'variant_only',
|
|
'metadata' => [],
|
|
]);
|
|
|
|
$response = $this->authenticatedRequest('GET', '/api/v1/tenant/addons/catalog');
|
|
|
|
$response->assertOk();
|
|
$response->assertJsonFragment([
|
|
'key' => 'extend_gallery_30d',
|
|
'price_id' => 'paypal',
|
|
]);
|
|
$response->assertJsonMissing([
|
|
'key' => 'extend_gallery_90d',
|
|
]);
|
|
}
|
|
|
|
public function test_lemonsqueezy_catalog_only_returns_addons_with_variant(): void
|
|
{
|
|
Config::set('package-addons.provider', 'lemonsqueezy');
|
|
|
|
PackageAddon::create([
|
|
'key' => 'extend_gallery_30d',
|
|
'label' => 'Galerie +30 Tage',
|
|
'active' => true,
|
|
'sort' => 10,
|
|
'extra_gallery_days' => 30,
|
|
'variant_id' => 'var_30d',
|
|
'metadata' => ['price_eur' => 4],
|
|
]);
|
|
|
|
PackageAddon::create([
|
|
'key' => 'extend_gallery_90d',
|
|
'label' => 'Galerie +90 Tage',
|
|
'active' => true,
|
|
'sort' => 20,
|
|
'extra_gallery_days' => 90,
|
|
'metadata' => ['price_eur' => 10],
|
|
]);
|
|
|
|
$response = $this->authenticatedRequest('GET', '/api/v1/tenant/addons/catalog');
|
|
|
|
$response->assertOk();
|
|
$response->assertJsonFragment([
|
|
'key' => 'extend_gallery_30d',
|
|
'price_id' => 'var_30d',
|
|
]);
|
|
$response->assertJsonMissing([
|
|
'key' => 'extend_gallery_90d',
|
|
]);
|
|
}
|
|
}
|