testRpt.js 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. /**
  2. * Created by Tony on 2017/3/17.
  3. */
  4. var test = require('tape');
  5. var mongoose = require('mongoose');
  6. var JV = require('../../../modules/reports/rpt_component/jpc_value_define');
  7. var Template = require('../../../modules/all_models/rpt_template');
  8. var TemplateData = require('../../../modules/all_models/rpt_tpl_data_demo');
  9. var JpcEx = require('../../../modules/reports/rpt_component/jpc_ex');
  10. var rptUtil = require("../../../modules/reports/util/rpt_util");
  11. var fs = require('fs');
  12. test('test get report pages function: ', function (t) {
  13. rptUtil.setReportDefaultCache();
  14. t.pass('just pass for cache setup!');
  15. t.end();
  16. });
  17. test('test get report pages function: ', function (t) {
  18. var grp_id = "SC";
  19. var tpl_id = "08_2";
  20. var pageSize = "A4";
  21. var rptTpl = null, tplData = null;
  22. Template.getPromise(grp_id, tpl_id).then(function(rst) {
  23. //console.log(rst);
  24. rptTpl = rst;
  25. console.log(rptTpl[JV.NODE_MAIN_INFO][JV.NODE_PAGE_INFO][JV.PROP_PAGE_SIZE]);
  26. t.equal(rptTpl != null, true);
  27. return TemplateData.getPromise(tpl_id);
  28. }).then(function(rst){
  29. //console.log(rst);
  30. tplData = rst;
  31. t.equal(tplData != null, true);
  32. if (tplData) {
  33. var printCom = JpcEx.createInit();
  34. rptTpl[JV.NODE_MAIN_INFO][JV.NODE_PAGE_INFO][JV.PROP_PAGE_SIZE] = pageSize;
  35. var defProperties = rptUtil.getReportDefaultCache();
  36. printCom.initialize(rptTpl);
  37. printCom.analyzeData(rptTpl, tplData, defProperties);
  38. var maxPages = printCom.totalPages;
  39. var pageRst = printCom.outputAsSimpleJSONPageArray(rptTpl, tplData, 1, maxPages, defProperties);
  40. if (pageRst) {
  41. //save as file
  42. var pageStr = JSON.stringify(pageRst);
  43. var buffer = new Buffer(pageStr);
  44. //var length = buffer.length;
  45. fs.writeFile('../../../tmp/' + tpl_id + '.page.txt',buffer,function(err){
  46. if(err) throw err;
  47. console.log('has finished');
  48. });
  49. }
  50. t.equal(pageRst != null, true);
  51. }
  52. t.end();
  53. }).catch(function (err) {
  54. console.log("err: " + err);
  55. t.end();
  56. })
  57. });
  58. test('finish', function (t) {
  59. mongoose.disconnect();
  60. t.pass('closing db connection');
  61. t.end();
  62. });