Fix package limits in tenant overview
Some checks failed
linter / quality (push) Has been cancelled
tests / ci (push) Has been cancelled
tests / ui (push) Has been cancelled

This commit is contained in:
Codex Agent
2026-01-06 13:36:50 +01:00
parent e3deec9741
commit ef1773d966
3 changed files with 72 additions and 19 deletions

View File

@@ -0,0 +1,48 @@
<?php
namespace Tests\Feature\Tenant;
use App\Http\Controllers\Api\TenantPackageController;
use App\Models\Package;
use App\Models\TenantPackage;
use Illuminate\Http\Request;
class TenantPackageOverviewTest extends TenantTestCase
{
public function test_active_package_contains_limits_and_features(): void
{
$package = Package::factory()->reseller()->create([
'max_photos' => 1500,
'max_guests' => 250,
'gallery_days' => 30,
'max_tasks' => 40,
'max_events_per_year' => 12,
'features' => ['custom_branding', 'reseller_dashboard'],
'branding_allowed' => true,
'watermark_allowed' => false,
]);
TenantPackage::factory()->create([
'tenant_id' => $this->tenant->id,
'package_id' => $package->id,
'active' => true,
'used_events' => 3,
]);
$request = Request::create('/api/v1/tenant/packages', 'GET');
$request->attributes->set('tenant', $this->tenant);
$response = app(TenantPackageController::class)->index($request);
$payload = $response->getData(true);
$this->assertSame(1500, $payload['active_package']['package_limits']['max_photos']);
$this->assertSame(250, $payload['active_package']['package_limits']['max_guests']);
$this->assertSame(30, $payload['active_package']['package_limits']['gallery_days']);
$this->assertSame(40, $payload['active_package']['package_limits']['max_tasks']);
$this->assertSame(12, $payload['active_package']['package_limits']['max_events_per_year']);
$this->assertTrue($payload['active_package']['package_limits']['branding_allowed']);
$this->assertFalse($payload['active_package']['package_limits']['watermark_allowed']);
$this->assertSame(['custom_branding', 'reseller_dashboard'], $payload['active_package']['package_limits']['features']);
$this->assertSame(9, $payload['active_package']['remaining_events']);
}
}