Просмотр исходного кода

test(contract): S-be-1 shop.review.create 修正RED单测文档口径——迁移464→482、实现现状改为实体/Mapper/建表已落地(DatabaseInitializer迁移482),Controller/Service/Impl/DTO仍缺失保持红(10跑7红3绿)

Sisyphus Agent 15 часов назад
Родитель
Сommit
6284967275

+ 11 - 10
cfc-backend/src/test/java/com/etotem/cfc/unit/ProductReviewCreateContractTest.java

@@ -40,19 +40,20 @@ import static org.junit.jupiter.api.Assertions.fail;
  *       订单存在 / {@code productType != 'activity'}(活动评价零污染)/ {@code status=completed} /
  *       {@code buyerId==userId}(评价人为下单人本人)/ {@code confirmTime >= now-90d}(Q4 窗口)/
  *       {@code ProductReviewMapper.findByOrderId} 幂等(一单一评,表唯一键 {@code uk_order_id})</li>
- *   <li>数据:新表 {@code product_reviews}(迁移464,独立于活动评价 {@code review_orders},
+ *   <li>数据:新表 {@code product_reviews}(迁移482,独立于活动评价 {@code review_orders},
  *       {@code ReviewOrderServiceImpl} 活动链路零改动)</li>
  * </ul>
  *
- * <p><b>实现现状</b>:本分支 src/main 中 {@code ProductReviewController} /
- * {@code ProductReviewService} / {@code ProductReviewServiceImpl} / {@code ProductReviewMapper} /
- * {@code ProductReview} 实体 / {@code ProductReviewRequest} DTO 及 schema.sql 的
- * {@code product_reviews} 建表均 <b>未落地</b>(全库 0 引用)。因此本测试以「反射结构契约」探测
- * 实现缺失:能编译通过、能运行、断言失败(红),失败断言原文清晰可贴(对齐同批
- * {@code TeamProfitHookContractTest} 风格)。</p>
+ * <p><b>实现现状</b>(主线核实):{@code ProductReview} 实体、{@code ProductReviewMapper}
+ * 与 schema.sql 的 {@code product_reviews} 建表(迁移482)<b>已落地</b>;但
+ * {@code ProductReviewController} / {@code ProductReviewService} / {@code ProductReviewServiceImpl} /
+ * {@code ProductReviewRequest} DTO 及其 {@code createReview} 行为<b>仍未落地</b>。因此本测试以
+ * 「反射结构契约」钉死宿主:能编译通过、能运行、控制器/服务/DTO 相关断言失败(红),失败断言原文
+ * 清晰可贴(对齐同批 {@code TeamProfitHookContractTest} 风格)。</p>
  *
- * <p><b>RED 预期</b>:全部断言在宿主类/表缺失处失败(红);GREEN 阶段实现方按上述契约清单
- * 落地后转绿。</p>
+ * <p><b>RED 预期</b>:控制器/服务/DTO 相关 7 条断言失败(红);实体、Mapper、建表 3 条锚点已随
+ * 迁移482 落地而转绿。GREEN 阶段实现方仅需补 {@code ProductReviewController} +
+ * {@code ProductReviewService(Impl)} + {@code ProductReviewRequest} 即可整类转绿。</p>
  *
  * <p><b>测试范围</b>:纯契约级,无 Spring / 无 DB / 无外部服务。</p>
  */
@@ -261,7 +262,7 @@ class ProductReviewCreateContractTest {
         String schema = readSchemaSql();
         assertTrue(schema.contains(TABLE_NAME),
                 "[shop.review.create] schema.sql 缺少 product_reviews 建表"
-                        + "(§2.1 迁移464,Q1 拍板=独立表,不复用 review_orders 活动评价表)。实现未落地。");
+                        + "(§2.1 迁移482,Q1 拍板=独立表,不复用 review_orders 活动评价表)。实现未落地。");
         assertTrue(schema.contains(UK_ORDER_ID),
                 "[shop.review.create] product_reviews 应含 " + UK_ORDER_ID
                         + " 唯一键(order_id 一单一评,幂等约束,§2.1 + PRD P0-A 验收1)。");