in('Browser') — всё на месте, инфраструктура готова. | | Что покрываем (когда CI Linux запустит): | - login flow → редирект на /dashboard и видимая надпись "Dashboard" | - deal-create flow → новая сделка появляется в списке | */ it('login flow redirects to dashboard', function (): void { // На Linux CI после установки pest-plugin-browser: // // use App\Models\Tenant; // use App\Models\User; // // $tenant = Tenant::factory()->create(); // $user = User::factory()->for($tenant)->create([ // 'password_hash' => bcrypt('test1234'), // ]); // // $page = visit('/login'); // $page->fill('input[name="email"]', $user->email); // $page->fill('input[name="password"]', 'test1234'); // $page->click('button[type="submit"]'); // $page->assertSee('Dashboard'); expect(true)->toBeTrue(); })->skip('Browser test pending Linux CI (см. шапку файла, требует ext-sockets + Playwright + pest-plugin-browser)'); it('deal create flow appears in list', function (): void { // На Linux CI после установки pest-plugin-browser: // // $tenant = Tenant::factory()->create(); // $user = User::factory()->for($tenant)->create([ // 'password_hash' => bcrypt('test1234'), // ]); // // $page = visit('/login'); // $page->fill('input[name="email"]', $user->email); // $page->fill('input[name="password"]', 'test1234'); // $page->click('button[type="submit"]'); // $page->visit('/deals'); // $page->click('[data-test="create-deal-btn"]'); // $page->fill('input[name="full_name"]', 'Test Lead'); // $page->click('button[type="submit"]'); // $page->assertSee('Test Lead'); expect(true)->toBeTrue(); })->skip('Browser test pending Linux CI (см. шапку файла, требует ext-sockets + Playwright + pest-plugin-browser)');