'test-care-key']); return [ 'Authorization' => 'Bearer test-care-key', 'Accept' => 'application/json', ]; } protected function provisionCareOrg(string $owner = 'care-owner-uuid'): Organization { $this->postJson('/api/v1/integrations/provision', [ 'owner' => $owner, 'organization_name' => 'Care Clinic', 'branch_name' => 'Main', ], $this->careHeaders($owner))->assertSuccessful(); return Organization::owned($owner)->firstOrFail(); } public function test_provision_enables_care_integration(): void { $owner = 'care-owner-uuid'; $this->postJson('/api/v1/integrations/provision', [ 'owner' => $owner, 'organization_name' => 'Care Clinic', 'branch_name' => 'Main', ], $this->careHeaders($owner)) ->assertCreated() ->assertJsonPath('data.integrations.care', true); $organization = Organization::owned($owner)->first(); $this->assertTrue((bool) data_get($organization->settings, 'integrations.care_enabled')); } public function test_counters_allowed_after_care_provision(): void { $owner = 'care-owner-uuid'; $headers = $this->careHeaders($owner); $this->provisionCareOrg($owner); $this->getJson('/api/v1/counters?owner='.$owner, $headers) ->assertOk(); } public function test_counter_console_resolves_by_uuid(): void { $owner = 'care-owner-uuid'; $headers = $this->careHeaders($owner); $organization = $this->provisionCareOrg($owner); $branch = Branch::owned($owner)->where('organization_id', $organization->id)->firstOrFail(); $queue = ServiceQueue::create([ 'owner_ref' => $owner, 'organization_id' => $organization->id, 'branch_id' => $branch->id, 'name' => 'Morning Shift', 'prefix' => 'A', 'strategy' => 'fifo', 'is_active' => true, ]); $counter = Counter::create([ 'owner_ref' => $owner, 'organization_id' => $organization->id, 'branch_id' => $branch->id, 'name' => 'Counter 1', 'code' => 'C001', 'status' => 'available', 'is_active' => true, ]); $counter->serviceQueues()->sync([$queue->id]); $this->getJson('/api/v1/counters/'.$counter->uuid.'/console?owner='.$owner, $headers) ->assertOk() ->assertJsonPath('data.counter.uuid', $counter->uuid); } public function test_queue_models_use_uuid_route_key(): void { $this->assertSame('uuid', (new Counter)->getRouteKeyName()); $this->assertSame('uuid', (new ServiceQueue)->getRouteKeyName()); } }