|
574 | 574 | $response->assertOk() |
575 | 575 | ->assertInertia(fn ($page) => $page |
576 | 576 | ->where('currentDay.day_number', 2) |
577 | | - ->where('currentDay.status', 'generating') |
578 | 577 | ->where('currentDay.needs_generation', true)); |
579 | 578 | }); |
| 579 | + |
| 580 | +it('requires subscription when upgrades are enabled and user is not verified', function (): void { |
| 581 | + $user = User::factory()->create(['is_verified' => false]); |
| 582 | + config()->set('plate.enable_premium_upgrades', true); |
| 583 | + |
| 584 | + $response = $this->actingAs($user) |
| 585 | + ->get(route('meal-plans.index')); |
| 586 | + |
| 587 | + $response->assertOk() |
| 588 | + ->assertInertia(fn ($page) => $page |
| 589 | + ->where('requiresSubscription', true)); |
| 590 | +}); |
| 591 | + |
| 592 | +it('does not require subscription when upgrades are disabled even if user is not verified', function (): void { |
| 593 | + $user = User::factory()->create(['is_verified' => false]); |
| 594 | + config()->set('plate.enable_premium_upgrades', false); |
| 595 | + |
| 596 | + $response = $this->actingAs($user) |
| 597 | + ->get(route('meal-plans.index')); |
| 598 | + |
| 599 | + $response->assertOk() |
| 600 | + ->assertInertia(fn ($page) => $page |
| 601 | + ->where('requiresSubscription', false)); |
| 602 | +}); |
| 603 | + |
| 604 | +it('does not require subscription when user is verified regardless of upgrades setting', function (): void { |
| 605 | + $user = User::factory()->verified()->create(); |
| 606 | + |
| 607 | + // Test with upgrades enabled |
| 608 | + config()->set('plate.enable_premium_upgrades', true); |
| 609 | + $response = $this->actingAs($user)->get(route('meal-plans.index')); |
| 610 | + $response->assertOk() |
| 611 | + ->assertInertia(fn ($page) => $page->where('requiresSubscription', false)); |
| 612 | + |
| 613 | + // Test with upgrades disabled |
| 614 | + config()->set('plate.enable_premium_upgrades', false); |
| 615 | + $response = $this->actingAs($user)->get(route('meal-plans.index')); |
| 616 | + $response->assertOk() |
| 617 | + ->assertInertia(fn ($page) => $page->where('requiresSubscription', false)); |
| 618 | +}); |
0 commit comments