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);
- });
- });
|