Files
fivem-mcp/tests/Feature/GetQBCoreClientFunctionToolTest.php
T
Adrian Mejias 4a4d9822e7 Add documentation links, refactor tools, and implement new tests
- Added links to QBCore and COX MySQL documentation in the main docs index.
- Refactored GenerateManifest and GenerateResourceBoilerplate tools to use the correct namespaces.
- Updated tests for GenerateManifest and GenerateResourceBoilerplate tools to remove unnecessary parentheses.
- Refactored COX event and function tools to use the correct namespaces and updated related tests.
- Introduced new tests for GetEventClientReference and GetEventServerReference tools.
- Added tests for inventory client and server functions, ensuring they handle various scenarios.
- Created tests for native client and server functions, including case insensitivity and example support.
- Implemented QBCore client and server event/function reference tests, ensuring proper functionality and error handling.
- Removed outdated tests for GetEventReference and GetQBCoreEventReference tools.
- Updated SearchFiveMDocs tool to use the correct namespace and improved test coverage.
2026-03-01 14:30:24 -06:00

50 lines
1.6 KiB
PHP

<?php
use App\Mcp\Tools\QBCore\Client\GetQBCoreClientFunction;
use Laravel\Mcp\Request;
it('returns qbcore client function info', function () {
$tool = new GetQBCoreClientFunction;
$request = new Request(['function_name' => 'QBCore.Functions.GetPlayerData', 'language' => 'lua']);
$response = $tool->handle($request);
expect((string) $response->content())->toContain('GetPlayerData');
});
it('returns not found for invalid client function', function () {
$tool = new GetQBCoreClientFunction;
$request = new Request(['function_name' => 'InvalidClientFunction', 'language' => 'lua']);
$response = $tool->handle($request);
expect((string) $response->content())->toContain('not found');
});
it('supports javascript examples for client functions', function () {
$tool = new GetQBCoreClientFunction;
$request = new Request(['function_name' => 'QBCore.Commands.Add', 'language' => 'js']);
$response = $tool->handle($request);
expect((string) $response->content())->not()->toBeEmpty();
});
it('handles case insensitive client function names', function () {
$tool = new GetQBCoreClientFunction;
$request = new Request(['function_name' => 'qbcore.functions.getplayerdata', 'language' => 'lua']);
$response = $tool->handle($request);
expect((string) $response->content())->toContain('GetPlayerData');
});
it('includes command registration function', function () {
$tool = new GetQBCoreClientFunction;
$request = new Request(['function_name' => 'QBCore.Commands.Add', 'language' => 'lua']);
$response = $tool->handle($request);
expect((string) $response->content())->not()->toBeEmpty();
});