移除liquidbase 需求20260817
This commit is contained in:
@@ -82,17 +82,19 @@ assert(
|
||||
)
|
||||
|
||||
assert(
|
||||
!personalCreateDialog.includes('label="是否有经营佐证"') &&
|
||||
!personalCreateDialog.includes('prop="bizProof"') &&
|
||||
!personalCreateDialog.includes('bizProof:') &&
|
||||
personalCreateDialog.includes('label="是否有营业执照"') &&
|
||||
personalCreateDialog.includes('prop="bizProof"') &&
|
||||
personalCreateDialog.includes('bizProof: false') &&
|
||||
personalCreateDialog.includes('bizProof: this.isOne(this.editData.bizProof)') &&
|
||||
personalCreateDialog.includes("bizProof: this.form.bizProof ? '1' : '0'") &&
|
||||
personalCreateDialog.includes("loanLoop: this.form.loanLoop ? '1' : '0'") &&
|
||||
personalCreateDialog.includes("data.collThirdParty = this.form.collThirdParty ? '1' : '0'") &&
|
||||
personalCreateDialog.includes('data.collType = this.resolveMortgageCollateralType()') &&
|
||||
personalCreateDialog.includes('delete data.collateralNature') &&
|
||||
personalCreateDialog.includes('delete data.isNineArea') &&
|
||||
personalCreateDialog.includes('collateralNature: this.editData.collateralNature') &&
|
||||
personalCreateDialog.includes('isNineArea: this.editData.isNineArea') &&
|
||||
personalCreateDialog.includes('delete data.collType') &&
|
||||
personalCreateDialog.includes('delete data.collThirdParty'),
|
||||
'个人新增弹窗开关字段或非抵质押提交字段处理不正确'
|
||||
'个人新增弹窗营业执照、抵押来源字段、开关字段或非抵质押提交字段处理不正确'
|
||||
)
|
||||
|
||||
assert(
|
||||
@@ -100,6 +102,19 @@ assert(
|
||||
'个人详情页缺少贷款用途展示'
|
||||
)
|
||||
|
||||
assert(
|
||||
personalDetail.includes('label="是否有营业执照"') && personalDetail.includes('detailData.bizProof'),
|
||||
'个人详情页缺少营业执照展示'
|
||||
)
|
||||
|
||||
assert(
|
||||
personalDetail.includes('label="抵押物性质"') &&
|
||||
personalDetail.includes('detailData.collateralNature') &&
|
||||
personalDetail.includes('label="是否属于九地"') &&
|
||||
personalDetail.includes('detailData.isNineArea'),
|
||||
'个人详情页缺少抵押物性质或九地展示'
|
||||
)
|
||||
|
||||
assert(
|
||||
personalDetail.includes("value === '1'") && personalDetail.includes("value === '0'"),
|
||||
'个人详情页布尔格式化未兼容 1/0'
|
||||
|
||||
@@ -7,15 +7,22 @@ function read(relativePath) {
|
||||
}
|
||||
|
||||
const personalDetail = read('src/views/loanPricing/workflow/components/PersonalWorkflowDetail.vue')
|
||||
const summaryStart = personalDetail.indexOf('<el-card class="summary-card">')
|
||||
const summaryEnd = personalDetail.indexOf('</el-card>', summaryStart)
|
||||
const summaryCard = personalDetail.slice(summaryStart, summaryEnd)
|
||||
|
||||
assert(summaryStart !== -1 && summaryEnd !== -1, '个人流程详情缺少关键信息卡片')
|
||||
|
||||
assert(
|
||||
/label="最终测算利率"/.test(personalDetail),
|
||||
'个人流程详情左侧缺少“最终测算利率”标签'
|
||||
!/label="(?:基准利率|浮动BP|最终测算利率)"/.test(summaryCard),
|
||||
'个人流程详情关键信息不应展示基准利率、浮动BP或最终测算利率'
|
||||
)
|
||||
|
||||
assert(
|
||||
/return this\.retailOutput\?\.finalCalculateRate \|\| '-'/.test(personalDetail),
|
||||
'个人流程详情没有使用 finalCalculateRate 展示最终测算利率'
|
||||
/label="期限"/.test(summaryCard)
|
||||
&& /label="担保方式"/.test(summaryCard)
|
||||
&& /label="产品最低利率下限"/.test(summaryCard),
|
||||
'个人流程详情关键信息缺少期限、担保方式或产品最低利率下限'
|
||||
)
|
||||
|
||||
console.log('personal final calculate rate display assertions passed')
|
||||
console.log('personal key information display assertions passed')
|
||||
|
||||
@@ -9,18 +9,48 @@ function read(relativePath) {
|
||||
const personalDetail = read('src/views/loanPricing/workflow/components/PersonalWorkflowDetail.vue')
|
||||
const modelOutput = read('src/views/loanPricing/workflow/components/ModelOutputDisplay.vue')
|
||||
|
||||
function extractCard(source, className) {
|
||||
const start = source.indexOf(`<el-card class="${className}">`)
|
||||
const end = source.indexOf('</el-card>', start)
|
||||
assert(start !== -1 && end !== -1, `缺少卡片: ${className}`)
|
||||
return source.slice(start, end)
|
||||
}
|
||||
|
||||
const summaryCard = extractCard(personalDetail, 'summary-card')
|
||||
const detailCard = extractCard(personalDetail, 'detail-card')
|
||||
const businessInfoStart = detailCard.indexOf('<h4 class="section-title">业务信息</h4>')
|
||||
const basicInfo = detailCard.slice(0, businessInfoStart)
|
||||
const businessInfo = detailCard.slice(businessInfoStart)
|
||||
|
||||
assert(
|
||||
personalDetail.includes('label="借款期限"') && personalDetail.includes('detailData.loanTerm'),
|
||||
'个人详情页缺少借款期限展示'
|
||||
!basicInfo.includes('label="借款期限"')
|
||||
&& businessInfo.includes('label="借款期限"')
|
||||
&& businessInfo.includes('detailData.loanTerm'),
|
||||
'个人详情页借款期限未展示在业务信息中'
|
||||
)
|
||||
|
||||
;['期限', '担保方式', '产品最低利率下限'].forEach((label) => {
|
||||
assert(summaryCard.includes(`label="${label}"`), `个人流程详情关键信息缺少字段: ${label}`)
|
||||
})
|
||||
|
||||
;['基准利率', '浮动BP', '最终测算利率'].forEach((label) => {
|
||||
assert(!summaryCard.includes(`label="${label}"`), `个人流程详情关键信息不应展示字段: ${label}`)
|
||||
})
|
||||
|
||||
assert(
|
||||
personalDetail.includes('formatRate(retailOutput && retailOutput.minRateProduct)'),
|
||||
'个人流程详情关键信息未展示产品最低利率下限'
|
||||
)
|
||||
|
||||
const requiredRetailFields = [
|
||||
'retailOutput.greyBlackCust',
|
||||
'retailOutput.loanRateHistory',
|
||||
'retailOutput.minRateProduct',
|
||||
'retailOutput.smoothRange',
|
||||
'retailOutput.finalCalculateRate',
|
||||
'retailOutput.referenceRate'
|
||||
'retailOutput.referenceRate',
|
||||
'retailOutput.blackCust',
|
||||
'retailOutput.branchBp',
|
||||
'retailOutput.bpLoanUse',
|
||||
'retailOutput.midPerGasDdc'
|
||||
]
|
||||
|
||||
requiredRetailFields.forEach((field) => {
|
||||
@@ -28,9 +58,26 @@ requiredRetailFields.forEach((field) => {
|
||||
})
|
||||
|
||||
assert(
|
||||
modelOutput.indexOf('label="灰黑名单客户"') > modelOutput.indexOf('<h4 class="section-title">基本信息</h4>')
|
||||
&& modelOutput.indexOf('label="灰黑名单客户"') < modelOutput.indexOf('<h4 class="section-title">测算结果</h4>'),
|
||||
'灰黑名单客户未展示在个人模型输出基础信息中'
|
||||
modelOutput.includes("this.resultItem('营业执照', this.formatBoolean(this.retailOutput.bizProof))"),
|
||||
'个人风险度缺少营业执照或 BP_贷款用途关联展示'
|
||||
)
|
||||
|
||||
assert(
|
||||
detailCard.includes('label="客户名称"')
|
||||
&& !detailCard.includes('label="灰黑名单客户"')
|
||||
&& !detailCard.includes('retailOutput && retailOutput.greyBlackCust'),
|
||||
'个人流程详情基本信息不应展示灰黑名单客户'
|
||||
)
|
||||
|
||||
assert(
|
||||
!basicInfo.includes('label="基准利率"')
|
||||
&& !basicInfo.includes('retailOutput && retailOutput.baseLoanRate'),
|
||||
'个人流程详情基本信息不应展示基准利率'
|
||||
)
|
||||
|
||||
assert(
|
||||
!detailCard.includes('label="运行模式"') && !modelOutput.includes('<h4 class="section-title">基本信息</h4>'),
|
||||
'个人详情仍展示运行模式或模型输出基本信息'
|
||||
)
|
||||
|
||||
console.log('retail display fields assertions passed')
|
||||
|
||||
@@ -6,22 +6,22 @@ function read(relativePath) {
|
||||
return fs.readFileSync(path.join(__dirname, '..', relativePath), 'utf8')
|
||||
}
|
||||
|
||||
function assertModelOutputBeforeDetailCard(source, label) {
|
||||
function assertDetailCardBeforeModelOutput(source, label) {
|
||||
const modelOutputIndex = source.indexOf('<ModelOutputDisplay')
|
||||
const detailCardIndex = source.indexOf('<el-card class="detail-card">')
|
||||
|
||||
assert(modelOutputIndex !== -1, `${label} 缺少模型输出卡片`)
|
||||
assert(detailCardIndex !== -1, `${label} 缺少流程详情卡片`)
|
||||
assert(
|
||||
modelOutputIndex < detailCardIndex,
|
||||
`${label} 的模型输出卡片应位于流程详情卡片上方`
|
||||
detailCardIndex < modelOutputIndex,
|
||||
`${label} 的流程详情卡片应位于模型输出卡片上方`
|
||||
)
|
||||
}
|
||||
|
||||
const personalDetail = read('src/views/loanPricing/workflow/components/PersonalWorkflowDetail.vue')
|
||||
const corporateDetail = read('src/views/loanPricing/workflow/components/CorporateWorkflowDetail.vue')
|
||||
|
||||
assertModelOutputBeforeDetailCard(personalDetail, '个人流程详情')
|
||||
assertModelOutputBeforeDetailCard(corporateDetail, '企业流程详情')
|
||||
assertDetailCardBeforeModelOutput(personalDetail, '个人流程详情')
|
||||
assertDetailCardBeforeModelOutput(corporateDetail, '企业流程详情')
|
||||
|
||||
console.log('workflow detail card order assertions passed')
|
||||
|
||||
Reference in New Issue
Block a user