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

112 lines
3.8 KiB
JavaScript
Raw Normal View History

2018-12-21 11:50:28 +00:00
const app = require(`${serviceRoot}/server/server`);
const ParameterizedSQL = require('loopback-connector').ParameterizedSQL;
describe('ticket ticketCalculateClon()', () => {
const today = new Date();
2018-11-21 10:50:30 +00:00
it('should add the ticket to the order containing the original ticket', async () => {
let stmts = [];
let stmt;
stmts.push('START TRANSACTION');
let params = {
clientFk: 101,
shipped: today,
warehouseFk: 1,
companyFk: 442,
addressFk: 121,
agencyType: 23,
routeFk: 1,
landed: today,
userId: 21,
originalTicketId: 11
};
stmt = new ParameterizedSQL('CALL vn.ticketCreateWithUser(?, ?, ?, ?, ?, ?, ?, ?, ?, @result)', [
params.clientFk,
params.shipped,
params.warehouseFk,
params.companyFk,
params.addressFk,
params.agencyType,
params.routeFk,
params.landed,
params.userId
]);
stmts.push(stmt);
stmt = new ParameterizedSQL('CALL vn.ticketCalculateClon(@result, ?)', [params.originalTicketId]);
stmts.push(stmt);
let orderIndex = stmts.push(`SELECT * FROM vn.orderTicket WHERE ticketFk = @result`) - 1;
let angencyHourIndex = stmts.push(`SELECT * FROM tmp.agencyHourGetShipped`) - 1;
stmts.push('ROLLBACK');
let sql = ParameterizedSQL.join(stmts, ';');
let result = await app.models.Ticket.rawStmt(sql);
let expectedOrder = 11;
let newestTicketIdInFixtures = 21;
expect(result[orderIndex][0].orderFk).toEqual(expectedOrder);
expect(result[orderIndex][0].ticketFk).toBeGreaterThan(newestTicketIdInFixtures);
expect(result[angencyHourIndex][0].warehouseFk).toEqual(1);
expect(result[angencyHourIndex][0].shipped).toBeDefined();
expect(result[angencyHourIndex][0].landed).toBeDefined();
});
2018-11-21 10:50:30 +00:00
it('should add the ticket to the order containing the original ticket and generate landed value if it was null', async () => {
let stmts = [];
let stmt;
stmts.push('START TRANSACTION');
let params = {
clientFk: 101,
shipped: today,
warehouseFk: 1,
companyFk: 442,
addressFk: 121,
agencyType: 23,
routeFk: 1,
landed: null,
userId: 21,
originalTicketId: 11
};
stmt = new ParameterizedSQL('CALL vn.ticketCreateWithUser(?, ?, ?, ?, ?, ?, ?, ?, ?, @result)', [
params.clientFk,
params.shipped,
params.warehouseFk,
params.companyFk,
params.addressFk,
params.agencyType,
params.routeFk,
params.landed,
params.userId
]);
stmts.push(stmt);
stmt = new ParameterizedSQL('CALL vn.ticketCalculateClon(@result, ?)', [params.originalTicketId]);
stmts.push(stmt);
let orderIndex = stmts.push(`SELECT * FROM vn.orderTicket WHERE ticketFk = @result`) - 1;
let angencyHourIndex = stmts.push(`SELECT * FROM tmp.agencyHourGetShipped`) - 1;
stmts.push('ROLLBACK');
let sql = ParameterizedSQL.join(stmts, ';');
let result = await app.models.Ticket.rawStmt(sql);
let expectedOrder = 11;
let newestTicketIdInFixtures = 21;
expect(result[orderIndex][0].orderFk).toEqual(expectedOrder);
expect(result[orderIndex][0].ticketFk).toBeGreaterThan(newestTicketIdInFixtures);
expect(result[angencyHourIndex][0].warehouseFk).toEqual(1);
expect(result[angencyHourIndex][0].shipped).toBeDefined();
expect(result[angencyHourIndex][0].landed).toBeDefined();
});
});