81 lines
3.0 KiB
TypeScript
81 lines
3.0 KiB
TypeScript
import assert from 'node:assert/strict'
|
|
import { readFileSync } from 'node:fs'
|
|
import test from 'node:test'
|
|
|
|
const readyTab = readFileSync(
|
|
new URL('../src/views/m/pl/plan-cert/ReadyTab.vue', import.meta.url),
|
|
'utf8'
|
|
)
|
|
const contractTab = readFileSync(
|
|
new URL('../src/views/m/pl/plan-cert/CustomerTab.vue', import.meta.url),
|
|
'utf8'
|
|
)
|
|
const planCertIndex = readFileSync(
|
|
new URL('../src/views/m/pl/plan-cert/index.vue', import.meta.url),
|
|
'utf8'
|
|
)
|
|
const archiveForm = readFileSync(
|
|
new URL('../src/views/m/pl/plan-cert/archive-form.vue', import.meta.url),
|
|
'utf8'
|
|
)
|
|
const stopCard = readFileSync(
|
|
new URL('../src/views/m/pl/plan/PlanStopReadCard.vue', import.meta.url),
|
|
'utf8'
|
|
)
|
|
|
|
test('H5 证书齐备对齐 2.0:待完善列表与完善并关闭,且文案不宣称归档可跳过额度', () => {
|
|
assert.match(readyTab, /listPendingFulfill/)
|
|
assert.match(readyTab, /certReadyApi\.fulfill/)
|
|
assert.match(readyTab, /fulfillBatch/)
|
|
assert.match(readyTab, /已标记待完善/)
|
|
assert.match(readyTab, /完善并关闭/)
|
|
assert.match(readyTab, /归档前仍须/)
|
|
assert.doesNotMatch(readyTab, /安排和归档时都不再校验/)
|
|
assert.doesNotMatch(readyTab, /也不扣减额度/)
|
|
})
|
|
|
|
test('H5 客户用证按客户列表展示证件', () => {
|
|
assert.match(contractTab, /quotaStatisticsApi\.customers/)
|
|
assert.match(contractTab, /\/m\/pl\/plan-cert\/customer\//)
|
|
assert.match(contractTab, /暂无客户用证数据/)
|
|
assert.match(planCertIndex, /title: '客户用证'/)
|
|
assert.match(planCertIndex, /客户名称 \/ 编号/)
|
|
assert.doesNotMatch(planCertIndex, /合同编号 \/ 名称 \/ 销售或购买单位/)
|
|
})
|
|
|
|
test('H5 客户用证详情显式导入 WebView 壳,避免空白页', () => {
|
|
const customerDetail = readFileSync(
|
|
new URL('../src/views/m/pl/plan-cert/customer-detail.vue', import.meta.url),
|
|
'utf8'
|
|
)
|
|
assert.match(customerDetail, /import MpWebviewShell from '@\/layouts\/MpWebviewShell\.vue'/)
|
|
assert.match(customerDetail, /import MpBusinessHeader from '@\/components\/mp\/MpBusinessHeader\.vue'/)
|
|
assert.match(customerDetail, /@ready="onShellReady"/)
|
|
})
|
|
|
|
test('H5 证件详情与建档列表展示系统客户和证用品类', () => {
|
|
const faceModel = readFileSync(
|
|
new URL('../src/views/m/pl/plan-cert/face-model.ts', import.meta.url),
|
|
'utf8'
|
|
)
|
|
const archiveTab = readFileSync(
|
|
new URL('../src/views/m/pl/plan-cert/ArchiveTab.vue', import.meta.url),
|
|
'utf8'
|
|
)
|
|
assert.match(faceModel, /label: '证用品类'/)
|
|
assert.match(faceModel, /certCategoryLabel/)
|
|
assert.match(archiveTab, /系统客户/)
|
|
assert.match(archiveTab, /证用品类/)
|
|
assert.match(archiveTab, /certCategoryLabel/)
|
|
})
|
|
|
|
test('H5 建档页使用关联购买证且无证面引用残留', () => {
|
|
assert.match(archiveForm, /关联购买证/)
|
|
assert.doesNotMatch(archiveForm, /证面引用/)
|
|
})
|
|
|
|
test('H5 段次只读卡展示同市只需购买证', () => {
|
|
assert.match(stopCard, /是否同市/)
|
|
assert.match(stopCard, /同市只需购买证/)
|
|
})
|