const fs = require('fs')
const path = require('path')
const assert = require('assert')

function read(relativePath) {
  return fs.readFileSync(path.join(__dirname, '..', relativePath), 'utf8')
}

function assertModelOutputBeforeDetailCard(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} 的模型输出卡片应位于流程详情卡片上方`
  )
}

const personalDetail = read('src/views/loanPricing/workflow/components/PersonalWorkflowDetail.vue')
const corporateDetail = read('src/views/loanPricing/workflow/components/CorporateWorkflowDetail.vue')

assertModelOutputBeforeDetailCard(personalDetail, '个人流程详情')
assertModelOutputBeforeDetailCard(corporateDetail, '企业流程详情')

console.log('workflow detail card order assertions passed')
