测试环境已初始化 ============================================================ SportsGear 客户账户系统 TDD 测试 ============================================================ 【测试组 1】sgUser 对象注入测试 ---------------------------------------- ❌ FAIL: sg-core.php 应该通过 wp_localize_script 注入 sgUser 对象 ✅ PASS: sg-core.php 应该包含 sg_get_customer_data_for_autofill 函数 ❌ FAIL: sg_output_customer_data_script 应该在产品页(is_product)也调用 ❌ FAIL: sg_get_customer_data_for_autofill 应该使用 global $wpdb 查询客户数据 ❌ FAIL: sg_get_customer_data_for_autofill 应该查询 wp_crm_customer_profiles 表 【测试组 2】WhatsApp Modal 预填充测试 ---------------------------------------- ❌ FAIL: sg-cart.js 应该读取 sgUser 或 SG_CUSTOMER_DATA 来获取客户数据 ✅ PASS: sg-cart.js 应该在显示 modal 时预填充电话号码字段 ✅ PASS: sg-cart.js 应该预填充姓名字段 ✅ PASS: sg-cart.js 应该有逻辑跳过已登录用户的 WhatsApp 填写 【测试组 3】Country Code 输入方式测试 ---------------------------------------- ✅ PASS: sg-cart.js 应该允许直接输入完整手机号(含国家码) ✅ PASS: sg-cart.js 应该支持 +86 格式的手机号输入 ❌ FAIL: Country Code 应该是可编辑的(当前是 select 下拉,需要改为 input) 【测试组 4】View Quote 跳转测试 ---------------------------------------- ✅ PASS: template-parts.php 中 View Quote 应该链接到 /get-discount/ ❌ FAIL: template-parts.php 中不应该有 /request-quote/ 链接 ✅ PASS: class-sg-cart.php 中的按钮应该链接到 /get-discount/ 【测试组 5】数据链完整性测试 ---------------------------------------- ❌ FAIL: sg-core.php 应该有 sg_save_whatsapp AJAX 处理程序 ✅ PASS: sg-core.php 应该在保存 WhatsApp 时更新 CRM 客户记录 ✅ PASS: product-detail.js 引用了 sgUser(需要确保 sgUser 已定义) ✅ PASS: product-detail.js 应该检查 sgUser 是否已定义 ============================================================ 测试结果汇总 ============================================================ 通过: 11 失败: 8 总计: 19 通过率: 57.9% ❌ 有 8 个测试失败,需要修复代码。