questionnaireReportMerge.spec.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  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('questionnaire management exposes an inline report list action', () => {
  8. expect(source).toContain('报告列表')
  9. expect(source).toContain('getTeamQuestionnaireList')
  10. expect(source).toContain('getTeamReportWjList')
  11. expect(source).toContain('reportList')
  12. expect(source).toContain('reportExpanded')
  13. })
  14. test('questionnaire management wires inline report mutation events to report APIs', () => {
  15. expect(source).toContain('@deleteReport="e=>deleteReportEntry(e,index)"')
  16. expect(source).toContain('@sendReport="e=>sendReportEntry(e,index,item)"')
  17. expect(source).toContain('@reCreateReport="e=>reCreateReportEntry(e,index)"')
  18. expect(source).toContain('deleteTeamReportWj')
  19. expect(source).toContain('sendReportUsers')
  20. expect(source).toContain('reCreateReport')
  21. })
  22. test('questionnaire refresh clears inline report expansion state', () => {
  23. expect(source).toMatch(/const getList[\s\S]*?expandedReportRows\.value = \[\][\s\S]*?currentReportRow\.value = null[\s\S]*?dataList\.value = res\.data\.list\.map\(prepareQuestionnaireRow\)/)
  24. })
  25. test('expanded questionnaire reports retain report operations and current generation endpoint', () => {
  26. const apiSource = fs.readFileSync(
  27. path.resolve(__dirname, '../../src/api/agent/index.js'),
  28. 'utf8'
  29. )
  30. expect(source).toContain('@toggleReport="e=>toggleReportEntry(e,index)"')
  31. expect(source).toContain('@reCreateReport')
  32. expect(source).toContain('@refreshReportList')
  33. expect(apiSource).toContain('/core/team/questionnaire/genReport/${teamQuestionnaireId}')
  34. })