'use strict'; /** * * * @author Mai * @date * @version */ const { app, assert } = require('egg-mock/bootstrap'); const path = require('path'); let savePath; const mockData = {}; const testSetting1 = { postData: { account: 'fuqingqing', project: 'P0505', project_password: '123456', }, define: { enable: true, setting: JSON.stringify({ title: '请选择汇总的标段', type: 'final', }) }, select: { tenders: [{tid: 2283}, {tid: 2281}], type: 'final', } }; const testSetting2 = { postData: { account: 'zengpeiwen', project: 'P1201', project_password: '123456', }, define: { enable: true, setting: JSON.stringify({ title: '请选择汇总的标段', type: 'final', }) }, select: { tenders: [{tid: 2046}, {tid: 1942}, {tid: 2217}], type: 'final', } }; const testSetting3 = { postData: { account: 'zengpeiwen', project: 'P1201', project_password: '123456', }, define: { enable: true, setting: JSON.stringify({ "title": "请选择汇总的标段", "type": "final", "nameColWidth": 180, "special": [ {"title": "估算", "key": "gu", "width": 60}, {"title": "概算", "key": "gai", "width": 60}, {"title": "预算", "key": "yu", "width": 60} ] }) }, select: JSON.parse('{"tenders":[{"tid":1942},{"tid":2217},{"tid":2046},{"tid":2172,"gu":true},{"tid":2324,"gai":true},{"tid":2326,"yu":true}],"type":"final"}') }; const testSetting4 = { postData: { account: 'zengpeiwen', project: 'P1201', project_password: '123456', }, tenderId: 2436, sorder: 1, }; const testSetting5 = { postData: { account: 'fuqingqing', project: 'P0505', project_password: '123456', }, tenderId: 2142, sorder: 4, }; const testSetting6 = { postData: { account: 'zengpeiwen', project: 'P1201', project_password: '123456', }, tenderId: 2504, sorder: 1, }; const reportDataAnalysis = require('../../../app/lib/rpt_data_analysis'); describe('test/app/service/report_memory.test.js', () => { // 准备测试数据 before(function* () { const ctx = app.mockContext(); savePath = path.join(ctx.app.baseDir,'report_temp'); // const postData = { // account: '734406061@qq.com', // project: 'T201711273363', // project_password: 'mai654321', // }; ctx.session = {}; mockData.session = ctx.session; }); // 汇总合同支付 it('test getGatherStagePay', function* () { const ctx = app.mockContext(); const postData = { account: 'fuqingqing', project: 'P0505', project_password: '123456', }; ctx.session = {}; const loginResult = yield ctx.service.projectAccount.accountLogin(postData, 2); assert(loginResult); const select = { tenders: [{tid: 2283}, {tid: 2281}], type: 'final', }; const define = { enable: true, setting: JSON.stringify({ title: '请选择汇总的标段', type: 'final', }) }; const data = {}; data.mem_gather_stage_pay = yield ctx.service.rptGatherMemory.getGatherStagePay([], define, select); yield ctx.helper.saveBufferFile(JSON.stringify(data.mem_gather_stage_pay, "", "\t"), path.join(savePath, 'mem_gather_stage_pay.json')); reportDataAnalysis.analysisObj.gatherSelectConverse.fun(ctx, data, [], {table: ['mem_gather_stage_pay']}, { tplDefine: {gather_select: define}, cDefine: {gather_select: select}}); yield ctx.helper.saveBufferFile(JSON.stringify(data.mem_gather_stage_pay, "", "\t"), path.join(savePath, 'mem_gather_stage_pay_converse.json')); }); // 汇总签约清单 it('test getGatherDealBills', function* () { const ctx = app.mockContext(); const testSetting = testSetting3; ctx.session = {}; const loginResult = yield ctx.service.projectAccount.accountLogin(testSetting.postData, 2); assert(loginResult); const data = {}; data.mem_gather_deal_bills = yield ctx.service.rptGatherMemory.getGatherDealBills([], testSetting.define, testSetting.select); yield ctx.helper.saveBufferFile(JSON.stringify(data.mem_gather_deal_bills, "", "\t"), path.join(savePath, 'mem_gather_deal_bills.json')); }); it('test getStageImTzData && getStageImTzBillsData', function* () { const ctx = app.mockContext(); const testSetting = testSetting6; ctx.session = {}; const loginResult = yield ctx.service.projectAccount.accountLogin(testSetting.postData, 2); assert(loginResult); const data = {}; const stage = yield ctx.service.stage.getDataByCondition({tid: testSetting.tenderId, order: testSetting.sorder}); data.mem_stage_im_tz = yield ctx.service.reportMemory.getStageImTzData(stage.tid, stage.id, [], false); yield ctx.helper.saveBufferFile(JSON.stringify(data.mem_stage_im_tz, "", "\t"), path.join(savePath, 'mem_stage_im_tz.json')); data.mem_stage_im_tz_bills = yield ctx.service.reportMemory.getStageImTzBillsData(stage.tid, stage.id, [], false); yield ctx.helper.saveBufferFile(JSON.stringify(data.mem_stage_im_tz_bills, "", "\t"), path.join(savePath, 'mem_stage_im_tz_bills.json')); }); it('test getStageImZlData', function* () { const ctx = app.mockContext(); const testSetting = testSetting5; ctx.session = {}; const loginResult = yield ctx.service.projectAccount.accountLogin(testSetting.postData, 2); assert(loginResult); const data = {}; const stage = yield ctx.service.stage.getDataByCondition({tid: testSetting.tenderId, order: testSetting.sorder}); data.mem_stage_im_zl = yield ctx.service.reportMemory.getStageImZlData(stage.tid, stage.id, []); yield ctx.helper.saveBufferFile(JSON.stringify(data.mem_stage_im_zl, "", "\t"), path.join(savePath, 'mem_stage_im_zl.json')); }); });