platformAdminUser(); $this->seedPlatformPrices(); PlatformPrice::query()->updateOrCreate( ['code' => 'hidden'], [ 'name' => 'Hidden', 'monthly_amount' => 999, 'currency' => 'gbp', 'features' => [], 'sort_order' => 99, 'is_active' => false, 'is_featured' => false, ], ); $this->browse(function (Browser $browser) use ($admin): void { $browser->loginAs($admin) ->visit('/platform/pricing'); $this->assertSingleProfessionalHeader($browser, 'Pricing'); $browser->assertSee('Basic') ->assertSee('Advanced') ->assertSee('Pro') ->assertDontSee('Hidden'); }); } public function test_admin_price_crud_pages_and_actions_are_browser_reachable(): void { $admin = $this->platformAdminUser(); $this->seedPlatformPrices(); $price = PlatformPrice::query()->where('code', 'basic')->firstOrFail(); $this->browse(function (Browser $browser) use ($admin, $price): void { $browser->loginAs($admin) ->visit('/admin/prices'); $this->assertSingleProfessionalHeader($browser, ''); $browser->assertSee('Basic') ->assertSee('Advanced') ->assertSee('Pro') ->visit('/admin/prices/create'); $this->assertSingleProfessionalHeader($browser, ''); $browser->assertPresent('input[name="name"]') ->assertPresent('input[name="monthly_amount"]') ->visit('/admin/prices/' . $price->id . '/edit'); $this->assertSingleProfessionalHeaderExists($browser); $browser->assertPresent('input[name="name"]') ->assertPresent('input[name="monthly_amount"]'); }); } }