perillScore.test.js 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. const assert = require('node:assert/strict')
  2. const fs = require('node:fs')
  3. const path = require('node:path')
  4. const { validateFutureExpectation, normalizeFutureExpectationOptions } = require('../utils/perillScore')
  5. const method = (assessmentMethod, score) => ({
  6. assessmentMethod,
  7. answer: `${score}-分`,
  8. questionOption: [{ number: score, questionOption: `${score}-分` }]
  9. })
  10. assert.equal(validateFutureExpectation([method('1', 3), method('2', 4)]), '')
  11. assert.equal(validateFutureExpectation([method('1', 3), method('2', 3)]), '')
  12. assert.equal(
  13. validateFutureExpectation([method('1', 3), method('2', 2)]),
  14. '一年后期待分不得低于现状评分,请注意!'
  15. )
  16. assert.equal(
  17. validateFutureExpectation([
  18. { assessmentMethod: '1', answer: '当前表现良好', questionOption: [{ number: 3, questionOption: '当前表现良好' }] },
  19. { assessmentMethod: '2', answer: '一年后可达成表现优秀', questionOption: [{ number: 4, questionOption: '一年后可达成表现优秀' }] }
  20. ]),
  21. ''
  22. )
  23. const previewMethods = normalizeFutureExpectationOptions([
  24. { assessmentMethod: '1', questionOption: [{ number: 1, questionOption: '1-强烈不同意(Strongly disagree)' }] },
  25. { assessmentMethod: '2', questionOption: [{ number: 1, questionOption: '1-非常不重要(Very unimportant)' }] }
  26. ])
  27. assert.equal(previewMethods[0].questionOption[0].questionOption, '1-强烈不同意(Strongly disagree)')
  28. assert.equal(previewMethods[1].questionOption[0].questionOption, '1-强烈不同意(Strongly disagree)')
  29. const questionnaireConfig = fs.readFileSync(
  30. path.join(__dirname, '../../ChuangHeng_new/src/views/modules/agent/questionnaireList.vue'),
  31. 'utf8'
  32. )
  33. assert.doesNotMatch(questionnaireConfig, /<el-option label="重要性" :value="2"><\/el-option>/)
  34. const questionnaireFill = fs.readFileSync(
  35. path.join(__dirname, '../pagesPublish/questionnaireFill.vue'),
  36. 'utf8'
  37. )
  38. assert.match(questionnaireFill, /normalizeFutureExpectationOptions\(item\.userAnswer\)/)
  39. console.log('perill score rules: PASS')