diff --git a/app/tests/Browser/SupplierIntegrationE2ETest.php b/app/tests/Browser/SupplierIntegrationE2ETest.php new file mode 100644 index 00000000..fb68044a --- /dev/null +++ b/app/tests/Browser/SupplierIntegrationE2ETest.php @@ -0,0 +1,77 @@ + $req->getMethod(), 'path' => $req->getUri()->getPath(), 'body' => (string) $req->getBody()]; + // return new React\Http\Message\Response(200, [], json_encode(['id' => 12345])); + // }); + // $socket = new SocketServer('127.0.0.1:0'); + // $server->listen($socket); + // $port = parse_url($socket->getAddress(), PHP_URL_PORT); + // + // Cache::store('redis')->put('supplier:session', [...], now()->addHours(6)); + // config(['services.supplier.portal_url' => "http://127.0.0.1:{$port}"]); + // + // $tenant = Tenant::factory()->create(); + // $sp = SupplierProject::factory()->create(['platform' => 'B1', 'signal_type' => 'site', 'unique_key' => 'e2e.com', 'supplier_external_id' => null]); + // Project::factory()->for($tenant)->create([ + // 'is_active' => true, + // 'signal_type' => 'site', 'signal_identifier' => 'e2e.com', + // 'supplier_b1_project_id' => $sp->id, + // 'daily_limit_target' => 9, 'delivery_days_mask' => 127, + // ]); + // + // $loop->addTimer(2, fn () => $loop->stop()); + // (new SyncSupplierProjectsJob)->handle(); + // $loop->run(); + // $socket->close(); + // + // expect($receivedRequests)->not->toBeEmpty() + // ->and($receivedRequests[0]['path'])->toBe('/admin/rt-project-save'); + // + // $sp->refresh(); + // expect($sp->supplier_external_id)->toBe('12345') + // ->and($sp->sync_status)->toBe('ok'); + expect(true)->toBeTrue(); +})->skip('Plan 3 Task 9 — Linux CI completion. Requires react/http + ext-sockets unavailable on Windows native.');