| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214 | 
							- 'use strict';
 
- /**
 
-  * 台账审批流程单元测试
 
-  *
 
-  * @author Mai
 
-  * @date 2018/5/25
 
-  * @version
 
-  */
 
- const { app, assert } = require('egg-mock/bootstrap');
 
- const testTenderId = 3, testProjectId = 17;
 
- const addData = {
 
-     name: 'test_ledger_audit',
 
-     category: null,
 
- };
 
- const mockData = {};
 
- let times = 1;
 
- const auditConst = require('../../../app/const/audit');
 
- describe('test/app/service/ledger_audit.test.js', () => {
 
-     // 准备测试数据
 
-     before(function* () {
 
-         const ctx = app.mockContext(mockData);
 
-         // 模拟登录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 tenderData = yield ctx.service.tender.getDataByCondition({
 
-             user_id: ctx.session.sessionUser.accountId,
 
-             name: addData.name,
 
-         });
 
-         if (tenderData) {
 
-             const result = yield ctx.service.tender.deleteTenderNoBackup(tenderData.id);
 
-             assert(result);
 
-         }
 
-         // 新建测试标段
 
-         const addResult = yield ctx.service.tender.add(addData);
 
-         assert(addResult);
 
-         // 模拟打开标段
 
-         mockData.tender = {};
 
-         mockData.tender.data = yield ctx.service.tender.getDataByCondition({
 
-             user_id: ctx.session.sessionUser.accountId,
 
-             name: addData.name,
 
-         });
 
-         mockData.tender.id = mockData.tender.data.id;
 
-         mockData.tender.info = yield ctx.service.tenderInfo.getTenderInfo(mockData.tender.id);
 
-     });
 
-     /**
 
-      * 流程   名称          id
 
-      * 原报   CinYung      11
 
-      */
 
-     // 新增审核人
 
-     it('test addAuditor', function* () {
 
-         const ctx = app.mockContext(mockData);
 
-         // 该测试项目存在4个用户,11/13/14/15
 
-         const result1 = yield ctx.service.ledgerAudit.addAuditor(ctx.tender.id, 14, ctx.tender.data.ledger_times);
 
-         assert(result1);
 
-         const result2 = yield ctx.service.ledgerAudit.addAuditor(ctx.tender.id, 15, ctx.tender.data.ledger_times);
 
-         assert(result2);
 
-     });
 
-     /**
 
-      * 流程   名称          id
 
-      * 原报   CinYung      11
 
-      * 1审    陈特         14
 
-      * 2审    付青青       15
 
-      */
 
-     // 查询审核人
 
-     it('test getAuditor', function* () {
 
-         const ctx = app.mockContext(mockData);
 
-         const result = yield ctx.service.ledgerAudit.getAuditor(ctx.tender.id, 14, ctx.tender.data.ledger_times);
 
-         assert(result);
 
-         assert(result.audit_order === 1);
 
-         assert(result.name === '陈特');
 
-     });
 
-     // 获取台账审核人列表
 
-     it('test getAuditors', function* () {
 
-         const ctx = app.mockContext(mockData);
 
-         const result = yield ctx.service.ledgerAudit.getAuditors(ctx.tender.id, ctx.tender.data.ledger_times);
 
-         assert(result);
 
-         assert(result.length === 2);
 
-         assert(result[0].audit_order === 1);
 
-         assert(result[0].name === '陈特');
 
-         assert(result[1].audit_order === 2);
 
-         assert(result[1].name === '付青青');
 
-     });
 
-     // 获取New Order
 
-     it('test getNewOrder', function* () {
 
-         const ctx = app.mockContext(mockData);
 
-         const result = yield ctx.service.ledgerAudit.getNewOrder(ctx.tender.id, ctx.tender.data.ledger_times);
 
-         assert(result === 3);
 
-     });
 
-     it('test deleteAuditor', function* () {
 
-         const ctx = app.mockContext(mockData);
 
-         const result = yield ctx.service.ledgerAudit.deleteAuditor(ctx.tender.id, 14, ctx.tender.data.ledger_times);
 
-         assert(result);
 
-         const auditors = yield ctx.service.ledgerAudit.getAuditors(ctx.tender.id, ctx.tender.data.ledger_times);
 
-         assert(auditors.length === 1);
 
-         assert(auditors[0].audit_order === 1);
 
-         assert(auditors[0].audit_id === 15);
 
-         assert(auditors[0].name === '付青青');
 
-     });
 
-     /**
 
-      * 流程   名称          id
 
-      * 原报   CinYung      11
 
-      * 1审    付青青        15
 
-      */
 
-     // 获取当前审核人 未上报
 
-     it('test getCurAuditor 未上报', function* () {
 
-         const ctx = app.mockContext(mockData);
 
-         let curAuditor = yield ctx.service.ledgerAudit.getCurAuditor(ctx.tender.id, ctx.tender.data.ledger_times);
 
-         assert(curAuditor === null);
 
-     });
 
-     // 上报
 
-     it('test start', function* () {
 
-         const ctx = app.mockContext(mockData);
 
-         const result = yield ctx.service.ledgerAudit.start(ctx.tender.id, ctx.tender.data.ledger_times);
 
-         assert(result);
 
-         const tender = yield ctx.service.tender.getTender(ctx.tender.id);
 
-         assert(tender.ledger_status === auditConst.ledger.status.checking);
 
-         const auditors = yield ctx.service.ledgerAudit.getAuditors(ctx.tender.id, ctx.tender.data.ledger_times);
 
-         assert(auditors);
 
-         assert(auditors.length === 1);
 
-         assert(auditors[0].status === auditConst.ledger.status.checking);
 
-     });
 
-     // 获取当前审核人 审批中
 
-     it('test getCurAuditor 审批中', function* () {
 
-         const ctx = app.mockContext(mockData);
 
-         let curAuditor = yield ctx.service.ledgerAudit.getCurAuditor(ctx.tender.id, ctx.tender.data.ledger_times);
 
-         assert(curAuditor);
 
-         assert(curAuditor.name === '付青青');
 
-     });
 
-     // 审批退回
 
-     it('test check 审批退回', function* () {
 
-         const ctx = app.mockContext(mockData);
 
-         yield ctx.service.ledgerAudit.check(ctx.tender.id, auditConst.ledger.status.checkNo, '审批不通过', ctx.tender.data.ledger_times);
 
-         const auditors = yield ctx.service.ledgerAudit.getAuditors(ctx.tender.id, ctx.tender.data.ledger_times);
 
-         assert(auditors);
 
-         assert(auditors.length === 1);
 
-         assert(auditors[0].status === auditConst.ledger.status.checkNo);
 
-         mockData.tender.data = yield ctx.service.tender.getTender(ctx.tender.id);
 
-         assert(mockData.tender.data.ledger_times === 1);
 
-         assert(mockData.tender.data.ledger_status === auditConst.ledger.status.checkNo);
 
-     });
 
-     // 获取当前审核人 审批退回
 
-     it('test getCurAuditor 审批退回', function* () {
 
-         const ctx = app.mockContext(mockData);
 
-         let curAuditor = yield ctx.service.ledgerAudit.getCurAuditor(ctx.tender.id, ctx.tender.data.ledger_times);
 
-         assert(curAuditor === null);
 
-     });
 
-     it('test start 重新上报', function* () {
 
-         const ctx = app.mockContext(mockData);
 
-         const addRst = yield ctx.service.ledgerAudit.addAuditor(ctx.tender.id, 14, ctx.tender.data.ledger_times);
 
-         assert(addRst);
 
-         const auditors = yield ctx.service.ledgerAudit.getAuditors(ctx.tender.id, ctx.tender.data.ledger_times);
 
-         assert(auditors);
 
-         assert(auditors.length === 2);
 
-         assert(auditors[0].audit_order === 1);
 
-         assert(auditors[0].name === '付青青');
 
-         assert(auditors[1].audit_order === 2);
 
-         assert(auditors[1].name === '陈特');
 
-         const result = yield ctx.service.ledgerAudit.start(ctx.tender.id, ctx.tender.data.ledger_times);
 
-         assert(result);
 
-         const tender = yield ctx.service.tender.getTender(ctx.tender.id);
 
-         assert(tender.ledger_status === auditConst.ledger.status.checking);
 
-         const curAuditor = yield ctx.service.ledgerAudit.getCurAuditor(ctx.tender.id, times);
 
-         assert(curAuditor);
 
-         assert(curAuditor.audit_order === 1);
 
-         assert(curAuditor.name === '付青青');
 
-     });
 
-     it('test check 审批通过', function* () {
 
-         const ctx = app.mockContext(mockData);
 
-         yield ctx.service.ledgerAudit.check(ctx.tender.id, auditConst.ledger.status.checked, '审批通过', ctx.tender.data.ledger_times);
 
-         const tender = yield ctx.service.tender.getTender(ctx.tender.id);
 
-         assert(tender.ledger_status === auditConst.ledger.status.checking);
 
-         const curAuditor = yield ctx.service.ledgerAudit.getCurAuditor(ctx.tender.id, times);
 
-         assert(curAuditor);
 
-         assert(curAuditor.audit_order === 2);
 
-         assert(curAuditor.name === '陈特');
 
-     });
 
-     it('test check 终审 审批通过', function* () {
 
-         const ctx = app.mockContext(mockData);
 
-         yield ctx.service.ledgerAudit.check(ctx.tender.id, auditConst.ledger.status.checked, '审批通过', ctx.tender.data.ledger_times);
 
-         const tender = yield ctx.service.tender.getTender(ctx.tender.id);
 
-         assert(tender.ledger_status === auditConst.ledger.status.checked);
 
-         const curAuditor = yield ctx.service.ledgerAudit.getCurAuditor(ctx.tender.id, times);
 
-         assert(curAuditor === null);
 
-     });
 
-     it('test getCurAuditor 审批完成', function* () {
 
-         const ctx = app.mockContext(mockData);
 
-         let curAuditor = yield ctx.service.ledgerAudit.getCurAuditor(ctx.tender.id, ctx.tender.data.ledger_times);
 
-         assert(curAuditor === null);
 
-     });
 
- });
 
 
  |