|
|
|
@ -31,27 +31,28 @@ class DictDataInitializerTest extends AbstractDictH2Test { |
|
|
|
} |
|
|
|
|
|
|
|
@Test |
|
|
|
@DisplayName("首装:21 个内置分组 + 163 个内置项全部建库,ref_count 预建,种子默认项生效") |
|
|
|
@DisplayName("首装:22 个内置分组 + 168 个内置项全部建库,ref_count 预建,种子默认项生效") |
|
|
|
void firstRun_createsBuiltinDictsWithDefaults() { |
|
|
|
initializer.run(); |
|
|
|
|
|
|
|
List<DictGroup> groups = dictGroupMapper.selectList(null); |
|
|
|
assertThat(groups).hasSize(21); |
|
|
|
assertThat(groups).hasSize(22); |
|
|
|
assertThat(groups).extracting(DictGroup::getCode) |
|
|
|
.containsExactlyInAnyOrder("lead_source", "customer_status", "industry", |
|
|
|
"brand", "product", "scene", "opp_stage", |
|
|
|
"opp_source", "opp_type", "bid_form", "result_tag", "design_config", |
|
|
|
"pause_reason", "pool_reason", "project_role", "close_reason", |
|
|
|
"locality_type", "follow_way", "survey_seq", "apply_way", "customer_role"); |
|
|
|
"locality_type", "follow_way", "survey_seq", "apply_way", "customer_role", |
|
|
|
"attachment_type"); |
|
|
|
assertThat(groups).allMatch(g -> Boolean.TRUE.equals(g.getBuiltin())); |
|
|
|
assertThat(groups).allMatch(g -> g.getStatus() == DictConstants.STATUS_ENABLED); |
|
|
|
|
|
|
|
List<DictItem> items = dictItemMapper.selectList(null); |
|
|
|
assertThat(items).hasSize(163); // 144 + 属地2 + 跟进方式5 + 勘察次数4 + 申请方式2 + 客户角色6
|
|
|
|
assertThat(items).hasSize(168); // 163 + 资料类型5
|
|
|
|
assertThat(items).allMatch(i -> Boolean.TRUE.equals(i.getBuiltin())); |
|
|
|
|
|
|
|
// 引用计数行预建(与新建接口同口径)
|
|
|
|
assertThat(dictRefCountMapper.selectCount(null)).isEqualTo(163); |
|
|
|
assertThat(dictRefCountMapper.selectCount(null)).isEqualTo(168); |
|
|
|
DictGroup statusGroup = groups.stream() |
|
|
|
.filter(g -> g.getCode().equals("customer_status")).findFirst().orElseThrow(); |
|
|
|
DictItem potential = dictItemMapper.selectList(null).stream() |
|
|
|
@ -72,9 +73,9 @@ class DictDataInitializerTest extends AbstractDictH2Test { |
|
|
|
initializer.run(); |
|
|
|
initializer.run(); |
|
|
|
|
|
|
|
assertThat(dictGroupMapper.selectCount(null)).isEqualTo(21); |
|
|
|
assertThat(dictItemMapper.selectCount(null)).isEqualTo(163); |
|
|
|
assertThat(dictRefCountMapper.selectCount(null)).isEqualTo(163); |
|
|
|
assertThat(dictGroupMapper.selectCount(null)).isEqualTo(22); |
|
|
|
assertThat(dictItemMapper.selectCount(null)).isEqualTo(168); |
|
|
|
assertThat(dictRefCountMapper.selectCount(null)).isEqualTo(168); |
|
|
|
assertThat(dictGroupDefaultMapper.selectCount(null)).isEqualTo(1); |
|
|
|
} |
|
|
|
|
|
|
|
@ -198,11 +199,11 @@ class DictDataInitializerTest extends AbstractDictH2Test { |
|
|
|
assertThat(dictItemMapper.selectList(null).stream() |
|
|
|
.filter(i -> i.getGroupId().equals(userGroup.getId()))).isEmpty(); |
|
|
|
// 种子其他分组不受影响(继续正常导入):customer_status + industry + brand + product + scene + opp_stage + 8 商机分组
|
|
|
|
assertThat(dictGroupMapper.selectCount(null)).isEqualTo(21); // lead_source(用户) + 其余 20 个内置分组
|
|
|
|
assertThat(dictGroupMapper.selectCount(null)).isEqualTo(22); // lead_source(用户) + 其余 21 个内置分组
|
|
|
|
assertThat(dictGroupMapper.selectList(null).stream() |
|
|
|
.filter(g -> g.getCode().equals("industry"))).hasSize(1); |
|
|
|
assertThat(dictItemMapper.selectCount(null)).isEqualTo(125); // 163 - 渠道 38(用户分组整组跳过)
|
|
|
|
assertThat(dictRefCountMapper.selectCount(null)).isEqualTo(125); |
|
|
|
assertThat(dictItemMapper.selectCount(null)).isEqualTo(130); // 168 - 渠道 38(用户分组整组跳过)
|
|
|
|
assertThat(dictRefCountMapper.selectCount(null)).isEqualTo(130); |
|
|
|
assertThat(dictGroupDefaultMapper.selectCount(null)).isEqualTo(1); // customer_status 默认项
|
|
|
|
} |
|
|
|
|
|
|
|
|