From e16e5e3db3fd5b9b6efdce361f5014b0de9288d6 Mon Sep 17 00:00:00 2001 From: jorgep Date: Mon, 13 May 2024 13:19:28 +0200 Subject: [PATCH] feat: refs #5919 back test --- db/dump/fixtures.before.sql | 4 +- .../worker/back/models/specs/locker.spec.js | 56 +++++++++++++++++++ 2 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 modules/worker/back/models/specs/locker.spec.js diff --git a/db/dump/fixtures.before.sql b/db/dump/fixtures.before.sql index 348c1fd067..895046e3d0 100644 --- a/db/dump/fixtures.before.sql +++ b/db/dump/fixtures.before.sql @@ -3789,4 +3789,6 @@ INSERT INTO vn.workerTeam(id, team, workerFk) (8, 1, 19); INSERT INTO vn.workCenter (id, name, payrollCenterFk, counter, warehouseFk, street, geoFk, deliveryManAdjustment) - VALUES(100, 'workCenterOne', 1, NULL, 1, 'gotham', NULL, NULL); \ No newline at end of file + VALUES(100, 'workCenterOne', 1, NULL, 1, 'gotham', NULL, NULL); + +UPDATE vn.locker SET workerFk = 1110 WHERE id = 147; \ No newline at end of file diff --git a/modules/worker/back/models/specs/locker.spec.js b/modules/worker/back/models/specs/locker.spec.js new file mode 100644 index 0000000000..2418f1169f --- /dev/null +++ b/modules/worker/back/models/specs/locker.spec.js @@ -0,0 +1,56 @@ +const {models} = require('vn-loopback/server/server'); + +fdescribe('locker model ', () => { + const productionBossId = 50; + const hrBuyerId = 124; + const hrId = 37; + const jessicaJonesId = 1110; + const bruceBannerId = 1109; + const lockerMaleId = 1; + const lockerFemaleId = 147; + let ctx; + let options; + let tx; + + beforeEach(async() => { + ctx = { + req: { + accessToken: {userId: hrId}, + headers: {origin: 'http://localhost'} + }, + }; + options = {transaction: tx}; + tx = await models.Locker.beginTransaction({}); + options.transaction = tx; + }); + + afterEach(async() => { + await tx.rollback(); + }); + + it('should allocate a locker', async() => { + ctx.req.accessToken.userId = productionBossId; + + const locker = await models.Locker.findById(lockerMaleId, null, options); + await locker.updateAttributes({workerFk: bruceBannerId}, options); + + expect(locker.workerFk).toEqual(bruceBannerId); + }); + + it('should take away a locker', async() => { + ctx.req.accessToken.userId = hrBuyerId; + const locker = await models.Locker.findById(lockerFemaleId, null, options); + await locker.updateAttributes({workerFk: null}, options); + + expect(locker.workerFk).toEqual(null); + }); + + it('should change a locker', async() => { + const locker = await models.Locker.findById(148, null, options); + await locker.updateAttributes({workerFk: jessicaJonesId}, options); + const oldLocker = await models.Locker.findById(lockerFemaleId, null, options); + + expect(locker.workerFk).toEqual(jessicaJonesId); + expect(oldLocker.workerFk).toEqual(null); + }); +});