const app = require(`../../../ticket/server/server`); const server = require(`../../../loopback/server/server`); const ParameterizedSQL = server.loopbackConnector.ParameterizedSQL; describe('buyUltimate()', () => { const today = new Date(); it(`should create buyUltimate temporal table and update it's values`, async () => { let stmts = []; let stmt; stmts.push('START TRANSACTION'); let params = { warehouseFk: 1, date: today }; stmt = new ParameterizedSQL('CALL vn.buyUltimate(?, ?)', [ params.warehouseFk, params.date ]); stmts.push(stmt); let buyUltimateTableIndex = stmts.push(`SELECT * FROM tmp.buyUltimate ORDER BY itemFk ASC`) - 1; stmts.push('ROLLBACK'); let sql = ParameterizedSQL.join(stmts, ';'); let result = await app.models.Ticket.rawStmt(sql); let buyUltimateTable = result[buyUltimateTableIndex]; expect(buyUltimateTable.length).toEqual(4); expect(buyUltimateTable[0].itemFk).toEqual(1); expect(buyUltimateTable[1].itemFk).toEqual(2); expect(buyUltimateTable[2].itemFk).toEqual(3); expect(buyUltimateTable[3].itemFk).toEqual(4); expect(buyUltimateTable[0].warehouseFk).toEqual(1); expect(buyUltimateTable[1].warehouseFk).toEqual(1); expect(buyUltimateTable[2].warehouseFk).toEqual(1); expect(buyUltimateTable[3].warehouseFk).toEqual(1); expect(buyUltimateTable[1].buyFk).toEqual(4); expect(buyUltimateTable[0].buyFk).toEqual(3); expect(buyUltimateTable[2].buyFk).toEqual(5); expect(buyUltimateTable[3].buyFk).toEqual(6); }); });