From 97c86efb84bd11fc8ef5dbfae034acae3b8f5b0c Mon Sep 17 00:00:00 2001 From: Carlos Jimenez <=> Date: Mon, 8 Oct 2018 10:59:05 +0200 Subject: [PATCH 1/2] #713 PROCEDURE vn.buyUltimateFromInterval() unit test --- .../tests/vn/buyUltimateFromInterval.spec.js | 128 ++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100644 services/db/tests/vn/buyUltimateFromInterval.spec.js diff --git a/services/db/tests/vn/buyUltimateFromInterval.spec.js b/services/db/tests/vn/buyUltimateFromInterval.spec.js new file mode 100644 index 000000000..02402eb87 --- /dev/null +++ b/services/db/tests/vn/buyUltimateFromInterval.spec.js @@ -0,0 +1,128 @@ +const app = require(`../../../ticket/server/server`); + +describe('buyUltimateFromInterval()', () => { + let today; + let future; + beforeAll(() => { + let date = new Date(); + let month = `${date.getMonth() + 1}`; + let futureMonth = `${date.getMonth() + 2}`; + let day = date.getDate(); + let year = date.getFullYear(); + + if (month.toString().length < 2) month = '0' + month; + if (futureMonth.toString().length < 2) month = '0' + month; + if (day.toString().length < 2) day = `0${day}`; + + today = [year, month, day].join('-'); + future = [year, futureMonth, day].join('-'); + }); + + it(`should create a temporal table with it's data`, async() => { + let params = { + warehouseFk: 1, + started: today, + ended: today + }; + + let query = ` + START TRANSACTION; + CALL vn.buyUltimateFromInterval(?, ?, ?); + SELECT * FROM tmp.buyUltimateFromInterval; + ROLLBACK;`; + + let result = await app.models.Ticket.rawSql(query, [ + params.warehouseFk, + params.started, + params.ended + ]); + + let buyUltimateFromIntervalTable = result[2]; + + expect(buyUltimateFromIntervalTable.length).toEqual(2); + + expect(buyUltimateFromIntervalTable[0].itemFk).toEqual(1); + expect(buyUltimateFromIntervalTable[1].itemFk).toEqual(3); + + expect(buyUltimateFromIntervalTable[0].warehouseFk).toEqual(1); + expect(buyUltimateFromIntervalTable[1].warehouseFk).toEqual(1); + + expect(buyUltimateFromIntervalTable[0].buyFk).toEqual(3); + expect(buyUltimateFromIntervalTable[1].buyFk).toEqual(5); + + expect(buyUltimateFromIntervalTable[0].landed).toEqual(today); + expect(buyUltimateFromIntervalTable[1].landed).toEqual(today); + }); + + it(`should create a temporal table with it's data in which started value is assigned to ended`, async() => { + let params = { + warehouseFk: 1, + started: today, + ended: null + }; + + let query = ` + START TRANSACTION; + CALL vn.buyUltimateFromInterval(?, ?, ?); + SELECT * FROM tmp.buyUltimateFromInterval; + ROLLBACK;`; + + let result = await app.models.Ticket.rawSql(query, [ + params.warehouseFk, + params.started, + params.ended + ]); + + let buyUltimateFromIntervalTable = result[2]; + + expect(buyUltimateFromIntervalTable.length).toEqual(2); + + expect(buyUltimateFromIntervalTable[0].itemFk).toEqual(1); + expect(buyUltimateFromIntervalTable[1].itemFk).toEqual(3); + + expect(buyUltimateFromIntervalTable[0].warehouseFk).toEqual(1); + expect(buyUltimateFromIntervalTable[1].warehouseFk).toEqual(1); + + expect(buyUltimateFromIntervalTable[0].buyFk).toEqual(3); + expect(buyUltimateFromIntervalTable[1].buyFk).toEqual(5); + + expect(buyUltimateFromIntervalTable[0].landed).toEqual(today); + expect(buyUltimateFromIntervalTable[1].landed).toEqual(today); + }); + + it(`should create a temporal table with it's data in which ended value is a date in the future`, async() => { + let params = { + warehouseFk: 1, + started: today, + ended: future + }; + + let query = ` + START TRANSACTION; + CALL vn.buyUltimateFromInterval(?, ?, ?); + SELECT * FROM tmp.buyUltimateFromInterval; + ROLLBACK;`; + + let result = await app.models.Ticket.rawSql(query, [ + params.warehouseFk, + params.started, + params.ended + ]); + + let buyUltimateFromIntervalTable = result[2]; + + expect(buyUltimateFromIntervalTable.length).toEqual(2); + + expect(buyUltimateFromIntervalTable[0].itemFk).toEqual(1); + expect(buyUltimateFromIntervalTable[1].itemFk).toEqual(3); + + expect(buyUltimateFromIntervalTable[0].warehouseFk).toEqual(1); + expect(buyUltimateFromIntervalTable[1].warehouseFk).toEqual(1); + + expect(buyUltimateFromIntervalTable[0].buyFk).toEqual(3); + expect(buyUltimateFromIntervalTable[1].buyFk).toEqual(5); + + expect(buyUltimateFromIntervalTable[0].landed).toEqual(today); + expect(buyUltimateFromIntervalTable[1].landed).toEqual(today); + }); +}); From 7d5c325abe19404f563b7888dd1a49d99c3c568a Mon Sep 17 00:00:00 2001 From: Carlos Jimenez <=> Date: Mon, 8 Oct 2018 10:59:19 +0200 Subject: [PATCH 2/2] #709 PRECEDURE vn.buyUltimate() unit test --- services/db/tests/vn/buyUltimate.spec.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/services/db/tests/vn/buyUltimate.spec.js b/services/db/tests/vn/buyUltimate.spec.js index 1eb0b4199..63539602e 100644 --- a/services/db/tests/vn/buyUltimate.spec.js +++ b/services/db/tests/vn/buyUltimate.spec.js @@ -11,9 +11,9 @@ describe('buyUltimate()', () => { let query = ` START TRANSACTION; CALL vn.buyUltimate(?, ?); - SELECT * FROM tmp.buyUltimate; - + SELECT * FROM tmp.buyUltimate ORDER BY 'id' DESC; ROLLBACK;`; + let result = await app.models.Ticket.rawSql(query, [ params.warehouseFk, params.date