'use strict'; /** * 标准清单 -- 工程量清单 模型 单元测试 * * @author Mai * @date * @version */ 'use strict'; const { app, assert } = require('egg-mock/bootstrap'); describe('test/app/service/std_bills.test.js', () => { // 测试R类方法 it('test getData', function* () { const ctx = app.mockContext(); // 查询前2层节点 const result1 = yield ctx.service.stdBills.getData(1); assert(result1.length === 10); // 查询前1层节点 const result2 = yield ctx.service.stdBills.getData(1, 1); assert(result2.length === 1); }); it('test getDataByDataId', function* () { const ctx = app.mockContext(); // 查询节点101-1 const node = yield ctx.service.stdBills.getDataByDataId(1, 296); assert(node); assert(node.b_code === '101-1'); assert(node.full_path === '1.294.295.296'); assert(node.source === ctx.service.stdBills.stdType + '-' + node.list_id + '-' + node.bill_id); }); it('test getDataByFullPath', function* () { const ctx = app.mockContext(); // 查询节点102 const node = yield ctx.service.stdBills.getDataByCondition({ list_id: 1, code: '102', }); // 查询102及其子节点 const result = yield ctx.service.stdBills.getDataByFullPath(1, node.full_path + '%'); assert(result.length === 6); // 查询1-10-1的子孙节点 const result1 = yield ctx.service.stdBills.getDataByFullPath(1, node.full_path + '-%'); assert(result1.length === 5); }); it('test getFullLevelDataByFullPath', function* () { const ctx = app.mockContext(); // 查询节点102-1 const node1 = yield ctx.service.stdBills.getDataByCondition({ list_id: 1, code: '102-1', }); // 查询102-1及其全部父节点 const result1 = yield ctx.service.stdBills.getFullLevelDataByFullPath(1, node1.full_path); assert(result1.length === 4); // 查询102-1/102-2及其全部父节点 const node2 = yield ctx.service.stdBills.getDataByCondition({ list_id: 1, code: '102-2', }); const result2 = yield ctx.service.stdBills.getFullLevelDataByFullPath(1, [node1.full_path, node2.full_path]); assert(result2.length === 5); }); });