From d1381c93b04adac87642c57962bf37966e9a7345 Mon Sep 17 00:00:00 2001 From: Jerry Yan <792602257@qq.com> Date: Thu, 20 Nov 2025 11:41:22 +0800 Subject: [PATCH] =?UTF-8?q?feat(puzzle):=20=E6=9B=B4=E6=96=B0=E6=8B=BC?= =?UTF-8?q?=E5=9B=BE=E5=85=83=E7=B4=A0=E5=A1=AB=E5=85=85=E5=BC=95=E6=93=8E?= =?UTF-8?q?=E6=89=A7=E8=A1=8C=E6=96=B9=E6=B3=95=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在engine.execute方法调用中增加scenicId参数 - 修改测试用例以适应新的方法签名 - 确保所有相关测试验证逻辑正确性 - 更新PuzzleGenerateServiceImplTest中的fillEngine调用参数 - 调整verify语句匹配新参数列表 - 保持原有功能逻辑不变仅扩展参数传递 --- .../fill/PuzzleElementFillEngineTest.java | 23 ++++++++++--------- .../impl/PuzzleGenerateServiceImplTest.java | 6 ++--- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/src/test/java/com/ycwl/basic/puzzle/fill/PuzzleElementFillEngineTest.java b/src/test/java/com/ycwl/basic/puzzle/fill/PuzzleElementFillEngineTest.java index 02a418f3..21f07a95 100644 --- a/src/test/java/com/ycwl/basic/puzzle/fill/PuzzleElementFillEngineTest.java +++ b/src/test/java/com/ycwl/basic/puzzle/fill/PuzzleElementFillEngineTest.java @@ -70,7 +70,7 @@ class PuzzleElementFillEngineTest { .thenReturn(new ArrayList<>()); // When - Map result = engine.execute(templateId, faceId); + Map result = engine.execute(templateId, faceId, scenicId); // Then assertTrue(result.isEmpty()); @@ -116,7 +116,7 @@ class PuzzleElementFillEngineTest { .thenReturn("https://oss.example.com/img4.jpg"); // When - Map result = engine.execute(templateId, faceId); + Map result = engine.execute(templateId, faceId, scenicId); // Then assertEquals(4, result.size()); @@ -133,7 +133,7 @@ class PuzzleElementFillEngineTest { @Test @DisplayName("缺少faceId时直接返回空结果") void shouldReturnEmptyWhenRequiredIdsMissing() { - Map result = engine.execute(1L, null); + Map result = engine.execute(1L, null, 1L); assertTrue(result.isEmpty()); verifyNoInteractions(ruleMapper, itemMapper, sourceMapper, conditionEvaluator, dataSourceResolver); } @@ -143,6 +143,7 @@ class PuzzleElementFillEngineTest { void shouldContinueWhenRuleHasNoItems() { Long templateId = 1L; Long faceId = 123L; + Long scenicId = 1L; PuzzleFillRuleEntity highPriorityRule = createRule(1L, "高优先级无明细", 200); PuzzleFillRuleEntity lowPriorityRule = createRule(2L, "低优先级有效", 100); @@ -164,7 +165,7 @@ class PuzzleElementFillEngineTest { .thenReturn("https://oss.example.com/valid.png"); // When - Map result = engine.execute(templateId, faceId); + Map result = engine.execute(templateId, faceId, scenicId); assertEquals(1, result.size()); assertEquals("https://oss.example.com/valid.png", result.get("avatar")); @@ -206,7 +207,7 @@ class PuzzleElementFillEngineTest { .thenReturn("https://oss.example.com/img.jpg"); // When - Map result = engine.execute(templateId, faceId); + Map result = engine.execute(templateId, faceId, scenicId); // Then assertEquals(1, result.size()); @@ -244,7 +245,7 @@ class PuzzleElementFillEngineTest { when(conditionEvaluator.evaluate(any(), any())).thenReturn(false); // When - Map result = engine.execute(templateId, faceId); + Map result = engine.execute(templateId, faceId, scenicId); // Then assertTrue(result.isEmpty()); @@ -280,7 +281,7 @@ class PuzzleElementFillEngineTest { .thenReturn(null); // When - Map result = engine.execute(templateId, faceId); + Map result = engine.execute(templateId, faceId, scenicId); // Then assertEquals(1, result.size()); @@ -315,7 +316,7 @@ class PuzzleElementFillEngineTest { .thenReturn("https://oss.example.com/default.jpg"); // When - Map result = engine.execute(templateId, faceId); + Map result = engine.execute(templateId, faceId, scenicId); // Then assertEquals(1, result.size()); @@ -342,7 +343,7 @@ class PuzzleElementFillEngineTest { when(itemMapper.listByRuleId(1L)).thenReturn(new ArrayList<>()); // When - Map result = engine.execute(templateId, faceId); + Map result = engine.execute(templateId, faceId, scenicId); // Then assertTrue(result.isEmpty()); @@ -360,7 +361,7 @@ class PuzzleElementFillEngineTest { .thenThrow(new RuntimeException("Database error")); // When - Map result = engine.execute(templateId, faceId); + Map result = engine.execute(templateId, faceId, scenicId); // Then assertTrue(result.isEmpty()); @@ -406,7 +407,7 @@ class PuzzleElementFillEngineTest { .thenReturn("https://oss.example.com/device300.jpg"); // When - Map result = engine.execute(templateId, faceId); + Map result = engine.execute(templateId, faceId, scenicId); // Then assertEquals(2, result.size()); diff --git a/src/test/java/com/ycwl/basic/puzzle/service/impl/PuzzleGenerateServiceImplTest.java b/src/test/java/com/ycwl/basic/puzzle/service/impl/PuzzleGenerateServiceImplTest.java index d77c9fc7..7784dc3e 100644 --- a/src/test/java/com/ycwl/basic/puzzle/service/impl/PuzzleGenerateServiceImplTest.java +++ b/src/test/java/com/ycwl/basic/puzzle/service/impl/PuzzleGenerateServiceImplTest.java @@ -74,7 +74,7 @@ class PuzzleGenerateServiceImplTest { when(templateMapper.getByCode("ticket")).thenReturn(template); when(elementMapper.getByTemplateId(template.getId())).thenReturn(List.of(element)); - when(fillEngine.execute(eq(template.getId()), eq(88L))) + when(fillEngine.execute(eq(template.getId()), eq(88L), anyLong())) .thenReturn(Map.of("faceImage", "https://images.test/a.png")); when(imageRenderer.render(eq(template), anyList(), anyMap())) .thenReturn(new BufferedImage(10, 10, BufferedImage.TYPE_INT_ARGB)); @@ -105,7 +105,7 @@ class PuzzleGenerateServiceImplTest { resetStorageFactory(); } - verify(fillEngine).execute(template.getId(), 88L); + verify(fillEngine).execute(template.getId(), 88L, 9L); ArgumentCaptor captor = ArgumentCaptor.forClass(com.ycwl.basic.puzzle.entity.PuzzleGenerationRecordEntity.class); verify(recordMapper).insert(captor.capture()); @@ -147,7 +147,7 @@ class PuzzleGenerateServiceImplTest { resetStorageFactory(); } - verify(fillEngine, never()).execute(anyLong(), anyLong()); + verify(fillEngine, never()).execute(anyLong(), anyLong(), anyLong()); } @SuppressWarnings("unchecked")