const app = require('vn-loopback/server/server'); const ParameterizedSQL = require('loopback-connector').ParameterizedSQL; describe('zone zone_getLanded()', () => { it(`should return data for a shipped in the past`, async() => { let stmts = []; let stmt; stmts.push('START TRANSACTION'); const date = Date.vnNew(); date.setHours(0, 0, 0, 0); let params = { addressFk: 121, agencyModeFk: 7, warehouseFk: 1, showExpiredZones: true}; stmt = new ParameterizedSQL('CALL zone_getLanded(DATE_ADD(?, INTERVAL -1 DAY), ?, ?, ?, ?)', [ date, params.addressFk, params.agencyModeFk, params.warehouseFk, params.showExpiredZones ]); stmts.push(stmt); let tableIndex = stmts.push('SELECT count(*) countZone FROM tmp.zoneGetLanded') - 1; stmts.push('ROLLBACK'); let sql = ParameterizedSQL.join(stmts, ';'); let result = await app.models.Ticket.rawStmt(sql); let [zoneTable] = result[tableIndex]; expect(zoneTable.countZone).toBe(1); }); it(`should return data for a shipped tomorrow`, async() => { let stmts = []; let stmt; const date = Date.vnNew(); date.setHours(0, 0, 0, 0); stmts.push('START TRANSACTION'); let params = { addressFk: 121, agencyModeFk: 7, warehouseFk: 1, showExpiredZones: false}; stmt = new ParameterizedSQL('CALL zone_getLanded(DATE_ADD(?, INTERVAL +2 DAY), ?, ?, ?, ?)', [ date, params.addressFk, params.agencyModeFk, params.warehouseFk, params.showExpiredZones ]); stmts.push(stmt); let tableIndex = stmts.push('SELECT count(*) countZone FROM tmp.zoneGetLanded') - 1; stmts.push('ROLLBACK'); let sql = ParameterizedSQL.join(stmts, ';'); let result = await app.models.Ticket.rawStmt(sql); let [zoneTable] = result[tableIndex]; expect(zoneTable.countZone).toBe(1); }); });