feat(addons): finalize event addon catalog and ai styling upgrade flow
This commit is contained in:
79
tests/Feature/Tenant/EventAddonCatalogControllerTest.php
Normal file
79
tests/Feature/Tenant/EventAddonCatalogControllerTest.php
Normal file
@@ -0,0 +1,79 @@
|
||||
<?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',
|
||||
]);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user