| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- <?php
- namespace App\Module\Mex\Tests;
- use App\Module\AppGame\Handler\Matchexchange\OpenHandler;
- use App\Module\Mex\Services\MexPriceConfigService;
- use Uraus\Kku\Request\RequestMatchexchangeOpen;
- use Uraus\Kku\Response\ResponseMatchexchangeOpen;
- /**
- * OpenHandler测试类
- */
- class OpenHandlerTest
- {
- /**
- * 测试获取开放交易物品列表
- */
- public static function testGetOpenItems()
- {
- echo "=== 测试获取开放交易物品列表 ===\n";
- try {
- // 1. 测试获取启用的价格配置
- echo "1. 获取启用的价格配置...\n";
- $enabledConfigs = MexPriceConfigService::getEnabledConfigs();
- echo "启用的价格配置数量: " . count($enabledConfigs) . "\n";
-
- if (!empty($enabledConfigs)) {
- echo "价格配置详情:\n";
- foreach ($enabledConfigs as $config) {
- echo " - 物品ID: {$config['item_id']}, 价格范围: {$config['price_range']}\n";
- }
- } else {
- echo "警告: 没有找到启用的价格配置\n";
- }
- // 2. 模拟Handler处理
- echo "\n2. 模拟Handler处理...\n";
- $itemIds = [];
- foreach ($enabledConfigs as $config) {
- $itemIds[] = $config['item_id'];
- }
-
- echo "提取的物品ID列表: " . json_encode($itemIds) . "\n";
- // 3. 验证响应格式
- echo "\n3. 验证响应格式...\n";
- $response = new ResponseMatchexchangeOpen();
- $response->setItemId($itemIds);
-
- $responseItemIds = $response->getItemId();
- echo "响应中的物品ID数量: " . count($responseItemIds) . "\n";
- echo "响应中的物品ID: " . json_encode(iterator_to_array($responseItemIds)) . "\n";
- echo "\n✅ 测试完成,功能正常\n";
- return true;
- } catch (\Exception $e) {
- echo "\n❌ 测试失败: " . $e->getMessage() . "\n";
- echo "错误堆栈: " . $e->getTraceAsString() . "\n";
- return false;
- }
- }
- /**
- * 运行所有测试
- */
- public static function runAll()
- {
- echo "开始运行OpenHandler测试...\n\n";
-
- $results = [];
- $results['testGetOpenItems'] = self::testGetOpenItems();
-
- echo "\n=== 测试结果汇总 ===\n";
- foreach ($results as $test => $result) {
- $status = $result ? '✅ 通过' : '❌ 失败';
- echo "{$test}: {$status}\n";
- }
-
- $passCount = array_sum($results);
- $totalCount = count($results);
- echo "\n总计: {$passCount}/{$totalCount} 个测试通过\n";
-
- return $passCount === $totalCount;
- }
- }
|