|
|
@@ -4,13 +4,12 @@ import com.etotem.cfc.entity.DanKnowledgeBase;
|
|
|
import com.etotem.cfc.entity.DanKnowledgeBaseDimension;
|
|
|
import com.etotem.cfc.entity.DanKnowledgeBaseTag;
|
|
|
import com.etotem.cfc.entity.DanKnowledgeTag;
|
|
|
-import com.etotem.cfc.entity.ProductDimensionConfig;
|
|
|
import com.etotem.cfc.mapper.DanKnowledgeBaseDimensionMapper;
|
|
|
import com.etotem.cfc.mapper.DanKnowledgeBaseMapper;
|
|
|
import com.etotem.cfc.mapper.DanKnowledgeBaseTagMapper;
|
|
|
import com.etotem.cfc.mapper.DanKnowledgeTagMapper;
|
|
|
-import com.etotem.cfc.mapper.ProductDimensionConfigMapper;
|
|
|
import com.etotem.cfc.service.DanKnowledgeBaseService;
|
|
|
+import com.etotem.cfc.service.DimensionRegistryService;
|
|
|
import org.junit.jupiter.api.Test;
|
|
|
import org.mockito.ArgumentCaptor;
|
|
|
|
|
|
@@ -97,12 +96,12 @@ class KnowledgeBaseBackfillTest {
|
|
|
DanKnowledgeBaseTagMapper tagRelMapper = mock(DanKnowledgeBaseTagMapper.class);
|
|
|
DanKnowledgeBaseDimensionMapper dimRelMapper = mock(DanKnowledgeBaseDimensionMapper.class);
|
|
|
DanKnowledgeTagMapper tagMapper = mock(DanKnowledgeTagMapper.class);
|
|
|
- ProductDimensionConfigMapper configMapper = mock(ProductDimensionConfigMapper.class);
|
|
|
+ DimensionRegistryService dimRegistry = mock(DimensionRegistryService.class);
|
|
|
inject(service, "baseMapper", kbMapper);
|
|
|
inject(service, "danKnowledgeBaseTagMapper", tagRelMapper);
|
|
|
inject(service, "danKnowledgeBaseDimensionMapper", dimRelMapper);
|
|
|
inject(service, "danKnowledgeTagMapper", tagMapper);
|
|
|
- inject(service, "productDimensionConfigMapper", configMapper);
|
|
|
+ inject(service, "dimensionRegistryService", dimRegistry);
|
|
|
|
|
|
DanKnowledgeBase kb = new DanKnowledgeBase();
|
|
|
kb.setId(9L);
|
|
|
@@ -120,10 +119,7 @@ class KnowledgeBaseBackfillTest {
|
|
|
when(dimRelMapper.selectList(any())).thenReturn(Collections.singletonList(dimRel));
|
|
|
DanKnowledgeTag tag = tag(1L, "肠道菌群");
|
|
|
when(tagMapper.selectBatchIds(any())).thenReturn(Collections.singletonList(tag));
|
|
|
- ProductDimensionConfig cfg = new ProductDimensionConfig();
|
|
|
- cfg.setId(3L);
|
|
|
- cfg.setDimensionCode("body");
|
|
|
- when(configMapper.selectBatchIds(any())).thenReturn(Collections.singletonList(cfg));
|
|
|
+ when(dimRegistry.getDimensionCodesByIds(any())).thenReturn(Collections.singletonMap(3L, "body"));
|
|
|
|
|
|
Map<String, Object> detail = service.getWithAssociations(9L);
|
|
|
assertEquals("完整正文内容", detail.get("content"), "编辑页需要平铺 content");
|
|
|
@@ -141,22 +137,19 @@ class KnowledgeBaseBackfillTest {
|
|
|
DanKnowledgeBaseTagMapper tagRelMapper = mock(DanKnowledgeBaseTagMapper.class);
|
|
|
DanKnowledgeBaseDimensionMapper dimRelMapper = mock(DanKnowledgeBaseDimensionMapper.class);
|
|
|
DanKnowledgeTagMapper tagMapper = mock(DanKnowledgeTagMapper.class);
|
|
|
- ProductDimensionConfigMapper configMapper = mock(ProductDimensionConfigMapper.class);
|
|
|
+ DimensionRegistryService dimRegistry = mock(DimensionRegistryService.class);
|
|
|
inject(service, "baseMapper", kbMapper);
|
|
|
inject(service, "danKnowledgeBaseTagMapper", tagRelMapper);
|
|
|
inject(service, "danKnowledgeBaseDimensionMapper", dimRelMapper);
|
|
|
inject(service, "danKnowledgeTagMapper", tagMapper);
|
|
|
- inject(service, "productDimensionConfigMapper", configMapper);
|
|
|
+ inject(service, "dimensionRegistryService", dimRegistry);
|
|
|
|
|
|
when(kbMapper.insert(any())).thenAnswer(invocation -> {
|
|
|
((DanKnowledgeBase) invocation.getArgument(0)).setId(101L);
|
|
|
return 1;
|
|
|
});
|
|
|
when(tagMapper.selectList(null)).thenReturn(Collections.singletonList(tag(1L, "肠道菌群")));
|
|
|
- ProductDimensionConfig cfg = new ProductDimensionConfig();
|
|
|
- cfg.setId(7L);
|
|
|
- cfg.setDimensionCode("body");
|
|
|
- when(configMapper.selectOne(any())).thenReturn(cfg);
|
|
|
+ when(dimRegistry.getDimensionIdByCode("body")).thenReturn(7L);
|
|
|
|
|
|
DanKnowledgeBase kb = new DanKnowledgeBase();
|
|
|
kb.setTitle("肠道健康指南");
|