'test_integration', 'name' => 'Test Integration', 'integration_data_schema' => [ 'api_key' => 'required|string', ], ]); $client = Client::query()->create(['code' => 'test-client', 'name' => 'Test Client']); $this->mock(ClientIntegrationService::class, function ($mock) use ($client, $integration) { $mock->shouldReceive('updateOrCreateIntegration') ->once() ->with( Mockery::on(fn (Client $argument) => $argument->is($client)), Mockery::on(fn (Integration $argument) => $argument->is($integration)), ['api_key' => 'secret'] ) ->andReturn(new ClientIntegration); }); $this->putJson('/api/clients/test-client/integrations/test_integration', [ 'integration_data' => [ 'api_key' => 'secret', ], ])->assertOk() ->assertExactJson([ 'code' => 'integration.configured', 'message' => 'Integración configurada correctamente.', ]); } }