const app = require('vn-loopback/server/server'); const ParameterizedSQL = require('loopback-connector').ParameterizedSQL; describe('timeBusiness_calculateByUser()', () => { it('should return the expected hours for today', async() => { let start = new Date(); start.setHours(0, 0, 0, 0); let end = new Date(); end.setHours(0, 0, 0, 0); let stmts = []; let stmt; stmts.push('START TRANSACTION'); let params = { workerID: 106, start: start, end: end }; stmt = new ParameterizedSQL('CALL vn.timeBusiness_calculateByUser(?, ?, ?)', [ params.workerID, params.start, params.end ]); stmts.push(stmt); let tableIndex = stmts.push('SELECT * FROM tmp.timeBusinessCalculate') - 1; stmts.push('ROLLBACK'); let sql = ParameterizedSQL.join(stmts, ';'); let result = await app.models.Ticket.rawStmt(sql); let [timeBusinessCalculateTable] = result[tableIndex]; expect(timeBusinessCalculateTable.timeBusinessSeconds).toEqual(28800); }); });