fix: tests
gitea/salix/pipeline/pr-master This commit looks good
Details
gitea/salix/pipeline/pr-master This commit looks good
Details
This commit is contained in:
parent
c07e30a89c
commit
f557b41feb
|
@ -4,6 +4,8 @@ const LoopBackContext = require('loopback-context');
|
|||
describe('Worker deleteAbsence()', () => {
|
||||
const businessId = 18;
|
||||
const workerId = 18;
|
||||
const hrId = 37;
|
||||
const salesBossId = 19;
|
||||
const activeCtx = {
|
||||
accessToken: {userId: 1106},
|
||||
headers: {origin: 'http://localhost'}
|
||||
|
@ -50,16 +52,16 @@ describe('Worker deleteAbsence()', () => {
|
|||
});
|
||||
|
||||
it('should successfully delete an absence', async() => {
|
||||
activeCtx.accessToken.userId = 19;
|
||||
activeCtx.accessToken.userId = salesBossId;
|
||||
|
||||
const tx = await app.models.Calendar.beginTransaction({});
|
||||
|
||||
const pastDate = new Date(Date.vnNow() + 24 * 60 * 60 * 1000);
|
||||
try {
|
||||
const options = {transaction: tx};
|
||||
const createdAbsence = await app.models.Calendar.create({
|
||||
businessFk: businessId,
|
||||
dayOffTypeFk: 1,
|
||||
dated: Date.vnNew()
|
||||
dated: pastDate
|
||||
}, options);
|
||||
|
||||
ctx.args = {absenceId: createdAbsence.id};
|
||||
|
@ -76,4 +78,61 @@ describe('Worker deleteAbsence()', () => {
|
|||
throw e;
|
||||
}
|
||||
});
|
||||
|
||||
it('should successfully delete an absence if the user is HR even if the date is in the past', async() => {
|
||||
activeCtx.accessToken.userId = hrId;
|
||||
const tx = await app.models.Calendar.beginTransaction({});
|
||||
|
||||
try {
|
||||
const options = {transaction: tx};
|
||||
const pastDate = new Date(Date.vnNow() - 24 * 60 * 60 * 1000); // Restar un día
|
||||
const createdAbsence = await app.models.Calendar.create({
|
||||
businessFk: businessId,
|
||||
dayOffTypeFk: 1,
|
||||
dated: pastDate
|
||||
}, options);
|
||||
|
||||
ctx.args = {absenceId: createdAbsence.id};
|
||||
await app.models.Worker.deleteAbsence(ctx, workerId, options);
|
||||
|
||||
const deletedAbsence = await app.models.Calendar.findById(createdAbsence.id, null, options);
|
||||
|
||||
expect(deletedAbsence).toBeNull();
|
||||
|
||||
await tx.rollback();
|
||||
} catch (e) {
|
||||
await tx.rollback();
|
||||
throw e;
|
||||
}
|
||||
});
|
||||
|
||||
it('should throw an error if the date is in the past', async() => {
|
||||
activeCtx.accessToken.userId = salesBossId;
|
||||
const tx = await app.models.Calendar.beginTransaction({});
|
||||
|
||||
let error;
|
||||
try {
|
||||
const options = {transaction: tx};
|
||||
const pastDate = new Date(Date.vnNow() - 24 * 60 * 60 * 1000);
|
||||
const createdAbsence = await app.models.Calendar.create({
|
||||
businessFk: businessId,
|
||||
dayOffTypeFk: 1,
|
||||
dated: pastDate
|
||||
}, options);
|
||||
|
||||
ctx.args = {absenceId: createdAbsence.id};
|
||||
await app.models.Worker.deleteAbsence(ctx, workerId, options);
|
||||
|
||||
const deletedAbsence = await app.models.Calendar.findById(createdAbsence.id, null, options);
|
||||
|
||||
expect(deletedAbsence).toBeNull();
|
||||
|
||||
await tx.rollback();
|
||||
} catch (e) {
|
||||
await tx.rollback();
|
||||
error = e;
|
||||
}
|
||||
|
||||
expect(error.message).toBe('Holidays to past days not available');
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue