questionnaireReportMerge.spec.js 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. const fs = require('fs')
  2. const path = require('path')
  3. const source = fs.readFileSync(
  4. path.resolve(__dirname, '../../src/views/modules/agent/questionnaireList.vue'),
  5. 'utf8'
  6. )
  7. test('homepage report shortcut points to the questionnaire management entry', () => {
  8. const homeSource = fs.readFileSync(
  9. path.resolve(__dirname, '../../src/views/modules/home.vue'),
  10. 'utf8'
  11. )
  12. expect(homeSource).toContain("toTurn('agent-questionnaire')")
  13. expect(homeSource).not.toContain("toTurn('agent-report')")
  14. })
  15. test('questionnaire management exposes an inline report list action', () => {
  16. expect(source).toContain('报告列表')
  17. expect(source).toContain('getTeamQuestionnaireList')
  18. expect(source).toContain('getTeamReportWjList')
  19. expect(source).toContain('reportList')
  20. expect(source).toContain('reportExpanded')
  21. })
  22. test('questionnaire management wires inline report mutation events to report APIs', () => {
  23. expect(source).toContain('@deleteReport="e=>deleteReportEntry(e,index)"')
  24. expect(source).toContain('@sendReport="e=>sendReportEntry(e,index,item)"')
  25. expect(source).toContain('@reCreateReport="e=>reCreateReportEntry(e,index)"')
  26. expect(source).toContain('deleteTeamReportWj')
  27. expect(source).toContain('sendReportUsers')
  28. expect(source).toContain('reCreateReport')
  29. })
  30. test('questionnaire refresh clears inline report expansion state', () => {
  31. expect(source).toMatch(/const getList[\s\S]*?expandedReportRows\.value = \[\][\s\S]*?currentReportRow\.value = null[\s\S]*?dataList\.value = res\.data\.list\.map\(prepareQuestionnaireRow\)/)
  32. })
  33. test('expanded questionnaire reports retain report operations and current generation endpoint', () => {
  34. const apiSource = fs.readFileSync(
  35. path.resolve(__dirname, '../../src/api/agent/index.js'),
  36. 'utf8'
  37. )
  38. expect(source).toContain('@toggleReport="e=>toggleReportEntry(e,index)"')
  39. expect(source).toContain('@reCreateReport')
  40. expect(source).toContain('@refreshReportList')
  41. expect(apiSource).toContain('/core/team/questionnaire/genReport/${teamQuestionnaireId}')
  42. })