Files
fotospiel-app/tests/Feature/Tenant/EventAddonCatalogControllerTest.php
Codex Agent d2808ffa4f
Some checks failed
linter / quality (push) Has been cancelled
tests / ci (push) Has been cancelled
tests / ui (push) Has been cancelled
feat(addons): finalize event addon catalog and ai styling upgrade flow
2026-02-07 12:35:07 +01:00

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',
]);
}
}