1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- 'use strict';
- /**
- *
- *
- * @author Mai
- * @date 2018/4/27
- * @version
- */
- const { app, assert } = require('egg-mock/bootstrap');
- // excel解析
- const excel = require('node-xlsx');
- describe('test/app/service/index_calc.test.js', () => {
- it('calculate test', function* () {
- const ctx = app.mockContext();
- // 初始化测试用指标模板
- const fileName = app.baseDir + '/test/app/service/test_template.xls';
- const sheets = excel.parse(fileName), templateId = 0;
- yield ctx.service.templateNode.importData(sheets, templateId);
- // 测试计算
- const condition = {
- template_id: templateId,
- node_id: 1,
- }
- const indexes = yield ctx.service.templateIndex.getAllDataByCondition({ where:condition });
- const globalParams = yield ctx.service.templateParam.getAllDataByCondition({
- where: {template_id: templateId, node_id: ctx.app.paramConst.globalParamNodeId,}
- });
- const nodeParams = yield ctx.service.templateParam.getAllDataByCondition({ where: condition });
- // 公路基本造价 = 100
- globalParams[0].calc_value = 100;
- // 建安费 = 50
- globalParams[1].calc_value = 50;
- ctx.service.indexCalc.calculate(indexes, globalParams, nodeParams);
- const index = ctx.helper.findObj(ctx.service.indexCalc.updateArr, 'code', 'z-3');
- // 建安费/公路基本造价 = 0.5
- assert(index.value === 0.5);
- });
- });
|