salix/services/db/tests/vn/buyUltimate.spec.js

50 lines
1.7 KiB
JavaScript
Raw Normal View History

2018-12-21 11:50:28 +00:00
const app = require(`${serviceRoot}/server/server`);
const ParameterizedSQL = require('vn-loopback/node_modules/loopback-connector').ParameterizedSQL;
describe('buyUltimate()', () => {
const today = new Date();
2018-11-21 10:50:30 +00:00
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);
});
});