From d78ed0961b0edff260e3788093bc3fbd090ce69c Mon Sep 17 00:00:00 2001 From: Codex Agent Date: Mon, 22 Dec 2025 15:21:45 +0100 Subject: [PATCH] =?UTF-8?q?=20-=20Endkunden=E2=80=91Checkout=20setzt=20sub?= =?UTF-8?q?scription=5Fexpires=5Fat=20nicht=20mehr=20(bleibt=20null)=20=20?= =?UTF-8?q?=20=20=20app/Services/Checkout/CheckoutAssignmentService.php=20?= =?UTF-8?q?=20=20-=20TenantPackage=20setzt=20f=C3=BCr=20Endkunden=20kein?= =?UTF-8?q?=20addCentury=20mehr=20(Default=20jetzt=201=20Jahr,=20nur=20wen?= =?UTF-8?q?n=20expires=5Fat=20fehlt)=20app/Models/TenantPackage.php=20=20?= =?UTF-8?q?=20-=20Tests=20angepasst=20tests/Unit/TenantPackageTest.php?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Models/TenantPackage.php | 8 ++------ app/Services/Checkout/CheckoutAssignmentService.php | 2 +- tests/Unit/TenantPackageTest.php | 6 ++++-- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/app/Models/TenantPackage.php b/app/Models/TenantPackage.php index 8d460f4..77cab1a 100644 --- a/app/Models/TenantPackage.php +++ b/app/Models/TenantPackage.php @@ -97,8 +97,8 @@ class TenantPackage extends Model if (! $tenantPackage->expires_at) { $tenantPackage->expires_at = now()->addYear(); } - } else { - $tenantPackage->expires_at = now()->addCentury(); + } elseif (! $tenantPackage->expires_at) { + $tenantPackage->expires_at = now()->addYear(); } if ($tenantPackage->active === null) { @@ -120,10 +120,6 @@ class TenantPackage extends Model return; } - - if ($tenantPackage->isDirty('expires_at')) { - $tenantPackage->expires_at = now()->addCentury(); - } }); } } diff --git a/app/Services/Checkout/CheckoutAssignmentService.php b/app/Services/Checkout/CheckoutAssignmentService.php index f0fd5e4..1f25e56 100644 --- a/app/Services/Checkout/CheckoutAssignmentService.php +++ b/app/Services/Checkout/CheckoutAssignmentService.php @@ -110,7 +110,7 @@ class CheckoutAssignmentService if ($package->type !== 'reseller') { $tenant->forceFill([ 'subscription_status' => 'active', - 'subscription_expires_at' => $tenantPackage->expires_at, + 'subscription_expires_at' => null, ])->save(); } diff --git a/tests/Unit/TenantPackageTest.php b/tests/Unit/TenantPackageTest.php index 2efd508..517416c 100644 --- a/tests/Unit/TenantPackageTest.php +++ b/tests/Unit/TenantPackageTest.php @@ -17,7 +17,7 @@ class TenantPackageTest extends TestCase $tenantPackage = TenantPackage::factory()->create([ 'package_id' => $package->id, - 'expires_at' => now()->subYear(), + 'expires_at' => null, 'active' => true, ]); @@ -25,7 +25,9 @@ class TenantPackageTest extends TestCase $this->assertTrue($tenantPackage->isActive()); $this->assertTrue($tenantPackage->active); - $this->assertTrue($tenantPackage->expires_at->greaterThan(now()->addYears(50))); + $this->assertNotNull($tenantPackage->expires_at); + $this->assertTrue($tenantPackage->expires_at->isFuture()); + $this->assertTrue($tenantPackage->expires_at->lessThanOrEqualTo(now()->addYears(2))); } public function test_reseller_packages_still_expire(): void