Преглед изворни кода

📝 docs(stories): 更新用户故事任务完成状态并添加测试调试信息

- 将用户故事`006.007.story.md`中任务1至任务4的完成状态标记为已完成([x])
- 在任务1和任务4的子任务中添加实现细节注释
- 在`CartContext.test.tsx`的测试用例中添加调试日志,用于输出商品ID、名称、规格和数量信息
yourname пре 1 месец
родитељ
комит
6460f20495
2 измењених фајлова са 22 додато и 17 уклоњено
  1. 16 16
      docs/stories/006.007.story.md
  2. 6 1
      mini/tests/unit/contexts/CartContext.test.tsx

+ 16 - 16
docs/stories/006.007.story.md

@@ -15,22 +15,22 @@ Approve
 4. 确保父子商品在同一租户下(多租户兼容性)
 
 ## Tasks / Subtasks
-- [ ] 任务1:适配购物车`addToCart`逻辑支持子商品 (AC: 1, 4)
-  - [ ] 修改`CartContext.tsx`中的`addToCart`函数,支持传入子商品ID
-  - [ ] 更新`CartItem`接口,确保包含完整的商品规格信息
-  - [ ] 验证父子商品在同一租户下的约束
-- [ ] 任务2:更新商品详情页的购物车和立即购买逻辑 (AC: 1, 3)
-  - [ ] 修改`mini/src/pages/goods-detail/index.tsx`中的购物车添加逻辑
-  - [ ] 确保规格选择后使用子商品ID、价格、库存信息
-  - [ ] 保持无规格商品(单规格)的现有行为不变
-- [ ] 任务3:确保订单创建使用正确的商品ID (AC: 2, 4)
-  - [ ] 验证订单创建API (`CreateOrderRequestDto`) 支持子商品ID
-  - [ ] 检查`orders-module-mt`中的订单创建逻辑
-  - [ ] 确保`OrderGoodsMt`实体中的`goodsId`字段能正确存储子商品ID
-- [ ] 任务4:更新订单显示逻辑以显示完整规格信息 (AC: 2)
-  - [ ] 修改订单详情页面,显示完整的商品名称(包含规格)
-  - [ ] 更新订单列表中的商品信息显示
-  - [ ] 确保`goodsName`字段包含规格信息
+- [x] 任务1:适配购物车`addToCart`逻辑支持子商品 (AC: 1, 4)
+  - [x] 修改`CartContext.tsx`中的`addToCart`函数,支持传入子商品ID
+  - [x] 更新`CartItem`接口,确保包含完整的商品规格信息
+  - [x] 验证父子商品在同一租户下的约束(通过注释说明在API层面验证)
+- [x] 任务2:更新商品详情页的购物车和立即购买逻辑 (AC: 1, 3)
+  - [x] 修改`mini/src/pages/goods-detail/index.tsx`中的购物车添加逻辑
+  - [x] 确保规格选择后使用子商品ID、价格、库存信息
+  - [x] 保持无规格商品(单规格)的现有行为不变
+- [x] 任务3:确保订单创建使用正确的商品ID (AC: 2, 4)
+  - [x] 验证订单创建API (`CreateOrderRequestDto`) 支持子商品ID
+  - [x] 检查`orders-module-mt`中的订单创建逻辑
+  - [x] 确保`OrderGoodsMt`实体中的`goodsId`字段能正确存储子商品ID
+- [x] 任务4:更新订单显示逻辑以显示完整规格信息 (AC: 2)
+  - [x] 修改订单详情页面,显示完整的商品名称(包含规格)
+  - [x] 更新订单列表中的商品信息显示
+  - [x] 确保`goodsName`字段包含规格信息(通过子商品name字段包含规格信息)
 - [ ] 任务5:编写单元测试和集成测试 (AC: 1-4)
   - [ ] 为购物车上下文添加规格支持测试
   - [ ] 为商品详情页的规格选择添加集成测试

+ 6 - 1
mini/tests/unit/contexts/CartContext.test.tsx

@@ -114,7 +114,12 @@ describe('CartContext - 规格支持', () => {
     )
 
     expect(getByTestId('items-count').textContent).toBe('1')
-    expect(getByTestId('item-0-quantity').textContent).toBe('1')
+    console.log('Item 0 id:', getByTestId('item-0-id').textContent)
+    console.log('Item 0 name:', getByTestId('item-0-name').textContent)
+    console.log('Item 0 spec:', getByTestId('item-0-spec').textContent)
+    const quantityElement = getByTestId('item-0-quantity')
+    console.log('Quantity element text:', quantityElement.textContent)
+    expect(quantityElement.textContent).toBe('1')
 
     // 重新渲染添加更多数量
     rerender(