const app = require(`${loopbackApp}`); const ParameterizedSQL = require('loopback-connector').ParameterizedSQL; describe('last_buy_refresh()', () => { it(`should store some data on cache.last_buy`, async() => { let stmts = []; let stmt; stmts.push('START TRANSACTION'); stmt = new ParameterizedSQL('CALL cache.last_buy_refresh(true)'); stmts.push(stmt); let lastBuyTableIndex = stmts.push(`SELECT * FROM cache.last_buy ORDER BY item_id ASC`) - 1; stmts.push('ROLLBACK'); let sql = ParameterizedSQL.join(stmts, ';'); let result = await app.models.Ticket.rawStmt(sql); let lastBuyTable = result[lastBuyTableIndex]; expect(lastBuyTable.length).toEqual(12); expect(lastBuyTable[0].item_id).toEqual(1); expect(lastBuyTable[1].item_id).toEqual(1); expect(lastBuyTable[2].item_id).toEqual(1); expect(lastBuyTable[3].item_id).toEqual(2); expect(lastBuyTable[4].item_id).toEqual(2); expect(lastBuyTable[5].item_id).toEqual(3); expect(lastBuyTable[0].warehouse_id).toEqual(1); expect(lastBuyTable[1].warehouse_id).toEqual(3); expect(lastBuyTable[2].warehouse_id).toEqual(5); expect(lastBuyTable[3].warehouse_id).toEqual(1); expect(lastBuyTable[4].warehouse_id).toEqual(5); expect(lastBuyTable[5].warehouse_id).toEqual(1); expect(lastBuyTable[1].buy_id).toEqual(10); expect(lastBuyTable[0].buy_id).toEqual(3); expect(lastBuyTable[2].buy_id).toEqual(13); expect(lastBuyTable[3].buy_id).toEqual(4); expect(lastBuyTable[4].buy_id).toEqual(14); expect(lastBuyTable[5].buy_id).toEqual(5); }); });