report_controller.test.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. 'use strict';
  2. /**
  3. *
  4. *
  5. * @author Mai
  6. * @date
  7. * @version
  8. */
  9. const { app, assert } = require('egg-mock/bootstrap');
  10. const mockData = {};
  11. const path = require('path');
  12. describe('test/app/service/report_memory.test.js', () => {
  13. // 准备测试数据
  14. before(function* () {
  15. const ctx = app.mockContext();
  16. // 模拟登录session
  17. const postData = {
  18. account: 'fuqingqing',
  19. project: 'P0505',
  20. project_password: '123456',
  21. };
  22. // const postData = {
  23. // account: 'chente',
  24. // project: 'T201711273363',
  25. // project_password: '123456',
  26. // };
  27. ctx.session = {};
  28. const loginResult = yield ctx.service.projectAccount.accountLogin(postData, 2);
  29. assert(loginResult);
  30. mockData.session = ctx.session;
  31. });
  32. // 数据
  33. it('test getReportData', function* () {
  34. const ctx = app.mockContext(mockData);
  35. // test12 - 第6期
  36. const stage = yield ctx.service.stage.getDataByCondition({tid: 12, order: 6});
  37. const params = {
  38. tender_id: stage.tid,
  39. stage_id: stage.id,
  40. };
  41. const filters = ['change', 'change_audit_list'];
  42. const result = yield ctx.service.report.getReportData(ctx, params, filters);
  43. const savePath = path.join(ctx.app.baseDir, 'report_temp');
  44. yield ctx.helper.recursiveMkdirSync(savePath);
  45. for (const table in result) {
  46. yield ctx.helper.saveBufferFile(JSON.stringify(result[table],"","\t"), path.join(savePath, table + '.json'));
  47. }
  48. });
  49. });