| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205 | 
							- 'use strict';
 
- /**
 
-  *
 
-  *
 
-  * @author Mai
 
-  * @date
 
-  * @version
 
-  */
 
- 'use strict';
 
- const { app, assert } = require('egg-mock/bootstrap');
 
- const addData = {
 
-     name: 'test_tenderInfo',
 
-     category: null,
 
- };
 
- const mockData = {};
 
- const TenderInfo = require('../../../app/const/tender_info.js');
 
- const _ = require('lodash');
 
- describe('test/app/service/tender.test.js', () => {
 
-     // 准备测试数据,新增测试标段
 
-     before(function* () {
 
-         const ctx = app.mockContext();
 
-         // 模拟登录session
 
-         const postData = {
 
-             account: '734406061@qq.com',
 
-             project: 'T201711273363',
 
-             project_password: 'mai654321',
 
-         };
 
-         ctx.session = {};
 
-         const loginResult = yield ctx.service.projectAccount.accountLogin(postData, 2);
 
-         assert(loginResult);
 
-         mockData.session = ctx.session;
 
-         // 移除测试数据
 
-         const tender1 = yield ctx.service.tender.getDataByCondition({
 
-             name: addData.name,
 
-             project_id: ctx.session.sessionProject.id,
 
-         });
 
-         if (tender1) {
 
-             const tRst = yield ctx.service.tender.db.delete(ctx.service.tender.tableName, {
 
-                 id: tender1.id
 
-             });
 
-             assert(tRst.affectedRows === 1);
 
-             const lRst = yield ctx.service.ledger.db.delete(ctx.service.ledger.tableName, {
 
-                 tender_id: tender1.id
 
-             });
 
-             assert(lRst.affectedRows === 53);
 
-             const pRst = yield ctx.service.pay.db.delete(ctx.service.pay.tableName, {
 
-                 tid: tender1.id
 
-             });
 
-             assert(pRst.affectedRows === 5);
 
-             const iRst = yield ctx.service.tenderInfo.db.delete(ctx.service.tenderInfo.tableName, {
 
-                 tid: tender1.id
 
-             });
 
-             assert(iRst.affectedRows === 1);
 
-         }
 
-         // 新增测试用标段
 
-         const result = yield ctx.service.tender.add(addData);
 
-         assert(result);
 
-         const tender = yield ctx.service.tender.getDataByCondition({
 
-             name: addData.name,
 
-             project_id: ctx.session.sessionProject.id,
 
-         });
 
-         mockData.tender = {id: tender.id, data: tender};
 
-     });
 
-     // 移除测试数据
 
-     after(function* () {
 
-         const ctx = app.mockContext(mockData);
 
-         // 移除测试数据
 
-         // const tender = yield ctx.service.tender.getDataByCondition({
 
-         //     name: addData.name,
 
-         //     project_id: ctx.session.sessionProject.id,
 
-         // });
 
-         // if (tender) {
 
-         //     const tRst = yield ctx.service.tender.db.delete(ctx.service.tender.tableName, {
 
-         //         id: tender.id
 
-         //     });
 
-         //     assert(tRst.affectedRows === 1);
 
-         //     const lRst = yield ctx.service.ledger.db.delete(ctx.service.ledger.tableName, {
 
-         //         tender_id: tender.id
 
-         //     });
 
-         //     assert(lRst.affectedRows === 53);
 
-         //     const pRst = yield ctx.service.pay.db.delete(ctx.service.pay.tableName, {
 
-         //         tid: tender.id
 
-         //     });
 
-         //     assert(pRst.affectedRows === 5);
 
-         // }
 
-     });
 
-     it('test getTenderInfo', function* () {
 
-         const ctx = app.mockContext(mockData);
 
-         mockData.tender.info = yield ctx.service.tenderInfo.getTenderInfo(mockData.tender.id);
 
-         for (const field in TenderInfo.parseInfo) {
 
-             assert(_.isEqual(TenderInfo.defaultInfo[field], mockData.tender.info[field]));
 
-         }
 
-     });
 
-     it('test saveTenderInfo 标段属性',function* () {
 
-         const ctx = app.mockContext(mockData);
 
-         const dealInfo = JSON.parse(JSON.stringify(ctx.tender.info.deal_info));
 
-         dealInfo.buildName = 'testBuildName';
 
-         dealInfo.dealCode = 'testDealCode';
 
-         dealInfo.dealName = 'testDealName';
 
-         const unit = JSON.parse(JSON.stringify(ctx.tender.info.construction_unit));
 
-         unit.build.company = '建设单位';
 
-         unit.build.corporation = '张三';
 
-         unit.build.date = '2019/06/10';
 
-         unit.contract1.company = '承包单位1';
 
-         unit.contract1.corporation = '李四';
 
-         unit.contract1.date = '2019/06/11';
 
-         unit.contract2.company = '承包单位2';
 
-         unit.contract2.corporation = '王五';
 
-         unit.contract2.date = '2019/06/11';
 
-         unit.supervision1.company = '监理单位1';
 
-         unit.supervision1.corporation = '路人甲';
 
-         unit.supervision1.date = '2019/06/12';
 
-         unit.supervision2.company = '监理单位1';
 
-         unit.supervision2.corporation = '友人A';
 
-         unit.supervision2.date = '2019/06/12';
 
-         const param = JSON.parse(JSON.stringify(ctx.tender.info.tech_param));
 
-         param.loadLevel = 1;
 
-         param.loadLength = 3.5;
 
-         param.startPeg = 'K0+000';
 
-         param.endPeg = 'k3+500';
 
-         param.laneCount = 4;
 
-         param.dealPeriod = '2019年3月~2020年3月';
 
-         param.startDate = '2019/3/20';
 
-         param.planEndDate = '2020/3/5';
 
-         yield ctx.service.tenderInfo.saveTenderInfo(ctx.tender.id, {
 
-             deal_info: dealInfo,
 
-             construction_unit: unit,
 
-             tech_param: param,
 
-         });
 
-         mockData.tender.info = yield ctx.service.tenderInfo.getTenderInfo(ctx.tender.id);
 
-         assert(_.isEqual(mockData.tender.info.deal_info, dealInfo));
 
-         assert(_.isEqual(mockData.tender.info.construction_unit, unit));
 
-         assert(_.isEqual(mockData.tender.info.tech_param, param));
 
-     });
 
-     it('test saveTenderInfo 清单精度', function* () {
 
-         const ctx = app.mockContext(mockData);
 
-         const precision = JSON.parse(JSON.stringify(ctx.tender.info.precision));
 
-         precision.other.value = 4;
 
-         yield ctx.service.tenderInfo.saveTenderInfo(ctx.tender.id, {precision: precision});
 
-         mockData.tender.info = yield ctx.service.tenderInfo.getTenderInfo(ctx.tender.id);
 
-         assert(mockData.tender.info.precision.other.value === 4);
 
-     });
 
-     it('test saveTenderInfo 合同参数', function* () {
 
-         const ctx = app.mockContext(mockData);
 
-         const param = JSON.parse(JSON.stringify(ctx.tender.info.deal_param));
 
-         param.contractPrice = 20000000;
 
-         param.zanLiePrice = 100000;
 
-         param.startAdvance = 200000;
 
-         param.materialAdvance = 150000;
 
-         yield ctx.service.tenderInfo.saveTenderInfo(ctx.tender.id, {deal_param: param});
 
-         mockData.tender.info = yield ctx.service.tenderInfo.getTenderInfo(ctx.tender.id);
 
-         assert(_.isEqual(mockData.tender.info.deal_param, param));
 
-     });
 
-     it('test saveTenderInfo 小数位数', function* () {
 
-         const ctx = app.mockContext(mockData);
 
-         const decimal = JSON.parse(JSON.stringify(ctx.tender.info.decimal));
 
-         decimal.up = 3;
 
-         decimal.tp = 2;
 
-         decimal.pay = true;
 
-         decimal.payTp = 4;
 
-         yield ctx.service.tenderInfo.saveTenderInfo(ctx.tender.id, {decimal: decimal});
 
-         mockData.tender.info = yield ctx.service.tenderInfo.getTenderInfo(ctx.tender.id);
 
-         assert(_.isEqual(mockData.tender.info.decimal, decimal));
 
-     });
 
-     it('test saveTenderInfo 显示设置', function* () {
 
-         const ctx = app.mockContext(mockData);
 
-         const display = JSON.parse(JSON.stringify(ctx.tender.info.display));
 
-         display.ledger.dgnQty = true;
 
-         yield ctx.service.tenderInfo.saveTenderInfo(ctx.tender.id, {display: display});
 
-         mockData.tender.info = yield ctx.service.tenderInfo.getTenderInfo(ctx.tender.id);
 
-         assert(_.isEqual(mockData.tender.info.display, display));
 
-     });
 
-     it('test saveTenderInfo 章节设置', function* () {
 
-         const ctx = app.mockContext(mockData);
 
-         const chapter = JSON.parse(JSON.stringify(ctx.tender.info.chapter));
 
-         const chapterCode = ['100', '200', '300', '400', '500', '600', '700', '800', '900', '1000', '1100', '1200', '1300'];
 
-         for (const code of chapterCode) {
 
-             const data = _.find(chapter, {code: code});
 
-             data.name = data.name + '1';
 
-         }
 
-         yield ctx.service.tenderInfo.saveTenderInfo(ctx.tender.id, {chapter: chapter});
 
-         mockData.tender.info = yield ctx.service.tenderInfo.getTenderInfo(ctx.tender.id);
 
-         assert(_.isEqual(mockData.tender.info.chapter, chapter));
 
-     });
 
- });
 
 
  |