Files
daily-meal-api/tests/Feature/SubscriptionAccessTest.php
T
leonm 29e85589b0
CI / 🧪 Tests Laravel (push) Successful in 2m24s
CI / 🐳 Build & Push Image (push) Successful in 1m13s
feat: revenue cat
2026-08-12 16:00:11 +02:00

40 lines
1.2 KiB
PHP

<?php
use App\Models\User;
use Illuminate\Foundation\Testing\RefreshDatabase;
uses(RefreshDatabase::class);
it('grants analysis access during a RevenueCat subscription trial', function () {
$user = User::factory()->create([
'subscription_expires_at' => now()->addDay(),
'subscription_is_trial' => true,
'subscription_product_id' => 'monthly',
]);
expect($user->canAnalyzeMeals())->toBeTrue()
->and($user->analysisAccessLevel())->toBe('trial');
});
it('grants analysis access to active subscribers', function () {
$user = User::factory()->create([
'subscription_expires_at' => now()->addYear(),
'subscription_is_trial' => false,
'subscription_product_id' => 'yearly',
]);
expect($user->canAnalyzeMeals())->toBeTrue()
->and($user->analysisAccessLevel())->toBe('subscribed');
});
it('keeps publishing accounts free without a subscription', function () {
$user = User::factory()->create([
'subscription_expires_at' => now()->subDay(),
'subscription_is_trial' => true,
'subscription_product_id' => 'monthly',
]);
expect($user->canAnalyzeMeals())->toBeFalse()
->and($user->analysisAccessLevel())->toBe('free');
});