feat: add backTest
gitea/salix/pipeline/head This commit looks good Details

This commit is contained in:
Vicent Llopis 2022-11-08 08:46:47 +01:00
parent 11459bbd56
commit 8d7296cc8f
1 changed files with 31 additions and 6 deletions

View File

@ -1,6 +1,6 @@
const models = require('vn-loopback/server/server').models; const models = require('vn-loopback/server/server').models;
describe('workerTimeControl sendMail()', () => { fdescribe('workerTimeControl sendMail()', () => {
const workerId = 18; const workerId = 18;
const ctx = { const ctx = {
req: { req: {
@ -17,7 +17,7 @@ describe('workerTimeControl sendMail()', () => {
jasmine.DEFAULT_TIMEOUT_INTERVAL = 10000; jasmine.DEFAULT_TIMEOUT_INTERVAL = 10000;
}); });
it('should fill time control of a worker without records in Journey and and with rest', async() => { it('should fill time control of a worker without records in Journey and with rest', async() => {
const tx = await models.WorkerTimeControl.beginTransaction({}); const tx = await models.WorkerTimeControl.beginTransaction({});
try { try {
@ -41,7 +41,7 @@ describe('workerTimeControl sendMail()', () => {
} }
}); });
it('should fill time control of a worker without records in Journey and and without rest', async() => { it('should fill time control of a worker without records in Journey and without rest', async() => {
const workdayOf20Hours = 3; const workdayOf20Hours = 3;
const tx = await models.WorkerTimeControl.beginTransaction({}); const tx = await models.WorkerTimeControl.beginTransaction({});
@ -68,7 +68,7 @@ describe('workerTimeControl sendMail()', () => {
} }
}); });
it('should fill time control of a worker with records in Journey', async() => { it('should fill time control of a worker with records in Journey and with rest', async() => {
const tx = await models.WorkerTimeControl.beginTransaction({}); const tx = await models.WorkerTimeControl.beginTransaction({});
try { try {
@ -76,8 +76,7 @@ describe('workerTimeControl sendMail()', () => {
query = `INSERT INTO postgresql.journey(journey_id, day_id, start, end, business_id) query = `INSERT INTO postgresql.journey(journey_id, day_id, start, end, business_id)
VALUES VALUES
(1, 1, '09:00:00', '13:00:00', ?), (1, 1, '09:00:00', '13:00:00', ?),
(2, 1, '14:00:00', '19:00:00', ?), (2, 1, '14:00:00', '19:00:00', ?);`;
(3, 2, '12:30:00', '19:00:00', ?);`;
await models.WorkerTimeControl.rawSql(query, [workerId, workerId, workerId], options); await models.WorkerTimeControl.rawSql(query, [workerId, workerId, workerId], options);
await models.WorkerTimeControl.sendMail(ctx, options); await models.WorkerTimeControl.sendMail(ctx, options);
@ -100,6 +99,32 @@ describe('workerTimeControl sendMail()', () => {
} }
}); });
it('should fill time control of a worker with records in Journey and without rest', async() => {
const tx = await models.WorkerTimeControl.beginTransaction({});
try {
const options = {transaction: tx};
query = `INSERT INTO postgresql.journey(journey_id, day_id, start, end, business_id)
VALUES
(1, 1, '12:30:00', '14:00:00', ?);`;
await models.WorkerTimeControl.rawSql(query, [workerId, workerId, workerId], options);
await models.WorkerTimeControl.sendMail(ctx, options);
const workerTimeControl = await models.WorkerTimeControl.find({
where: {userFk: workerId}
}, options);
expect(`${workerTimeControl[0].timed.getHours()}:${workerTimeControl[0].timed.getMinutes()}`).toEqual('12:30');
expect(workerTimeControl[1].timed.getHours()).toEqual(14);
await tx.rollback();
} catch (e) {
await tx.rollback();
throw e;
}
});
afterAll(function() { afterAll(function() {
jasmine.DEFAULT_TIMEOUT_INTERVAL = originalTimeout; jasmine.DEFAULT_TIMEOUT_INTERVAL = originalTimeout;
}); });