test(salix): refs #7648 #7648 test travels and entries
gitea/salix/pipeline/pr-master Build queued... Details

This commit is contained in:
Javier Segarra 2024-07-16 12:45:51 +02:00
parent 8fe94772f3
commit d558e3d9f4
4 changed files with 151 additions and 41 deletions

View File

@ -9,7 +9,8 @@ describe('Entry filter()', () => {
const ctx = {
args: {
search: 1
}
},
req: {accessToken: {userId: 9}}
};
const result = await models.Entry.filter(ctx, options);
@ -32,12 +33,13 @@ describe('Entry filter()', () => {
const ctx = {
args: {
currencyFk: 1
}
},
req: {accessToken: {userId: 9}}
};
const result = await models.Entry.filter(ctx, options);
expect(result.length).toEqual(9);
expect(result.length).toEqual(11);
await tx.rollback();
} catch (e) {
@ -46,26 +48,73 @@ describe('Entry filter()', () => {
}
});
it('should return the entry matching the supplier', async() => {
const tx = await models.Entry.beginTransaction({});
const options = {transaction: tx};
describe('should return the entry matching the supplier', () => {
it('when userId is supplier ', async() => {
const tx = await models.Entry.beginTransaction({});
const options = {transaction: tx};
try {
const ctx = {
args: {
supplierFk: 2
}
};
try {
const ctx = {
args: {days: 6},
req: {accessToken: {userId: 1102}}
};
const result = await models.Entry.filter(ctx, options);
const result = await models.Entry.filter(ctx, options);
expect(result.length).toEqual(6);
expect(result.length).toEqual(2);
await tx.rollback();
} catch (e) {
await tx.rollback();
throw e;
}
await tx.rollback();
} catch (e) {
await tx.rollback();
throw e;
}
});
it('when userId is supplier fetching other supplier', async() => {
const tx = await models.Entry.beginTransaction({});
const options = {transaction: tx};
try {
const ctx = {
args: {
supplierFk: 1
},
req: {accessToken: {userId: 1102}}
};
const result = await models.Entry.filter(ctx, options);
expect(result.length).toEqual(8);
await tx.rollback();
} catch (e) {
await tx.rollback();
throw e;
}
});
it('when userId is not supplier', async() => {
const tx = await models.Entry.beginTransaction({});
const options = {transaction: tx};
try {
const ctx = {
args: {
supplierFk: 2
},
req: {accessToken: {userId: 9}}
};
const result = await models.Entry.filter(ctx, options);
expect(result.length).toEqual(8);
await tx.rollback();
} catch (e) {
await tx.rollback();
throw e;
}
});
});
it('should return the entry matching the company', async() => {
@ -76,12 +125,13 @@ describe('Entry filter()', () => {
const ctx = {
args: {
companyFk: 442
}
},
req: {accessToken: {userId: 9}}
};
const result = await models.Entry.filter(ctx, options);
expect(result.length).toEqual(8);
expect(result.length).toEqual(10);
await tx.rollback();
} catch (e) {
@ -98,7 +148,8 @@ describe('Entry filter()', () => {
const ctx = {
args: {
isBooked: true,
}
},
req: {accessToken: {userId: 9}}
};
const result = await models.Entry.filter(ctx, options);
@ -121,7 +172,8 @@ describe('Entry filter()', () => {
args: {
reference: 'movement',
travelFk: '2'
}
},
req: {accessToken: {userId: 9}}
};
const result = await models.Entry.filter(ctx, options);

View File

@ -1,24 +1,82 @@
const UserError = require('vn-loopback/util/user-error');
const models = require('vn-loopback/server/server').models;
describe('entry getBuys()', () => {
const entryId = 4;
it('should get the buys and items of an entry', async() => {
const tx = await models.Entry.beginTransaction({});
const options = {transaction: tx};
describe('should get the buys and items of an entry ', () => {
it('when is supplier and entry owner', async() => {
const tx = await models.Entry.beginTransaction({});
const options = {transaction: tx};
try {
const result = await models.Entry.getBuys(entryId, options);
try {
const ctx = {
args: {
search: 1
},
req: {accessToken: {userId: 2}}
};
const length = result.length;
const anyResult = result[Math.floor(Math.random() * Math.floor(length))];
const result = await models.Entry.getBuys(ctx, entryId, options);
expect(result.length).toEqual(4);
expect(anyResult.item).toBeDefined();
const length = result.length;
const anyResult = result[Math.floor(Math.random() * Math.floor(length))];
await tx.rollback();
} catch (e) {
await tx.rollback();
throw e;
}
expect(result.length).toEqual(4);
expect(anyResult.item).toBeDefined();
await tx.rollback();
} catch (e) {
await tx.rollback();
throw e;
}
});
it('when is supplier but not entry owner', async() => {
const tx = await models.Entry.beginTransaction({});
const options = {transaction: tx};
const entryId = 1;
try {
const ctx = {
args: {
search: 1
},
req: {accessToken: {userId: 1102}}
};
const result = await models.Entry.getBuys(ctx, entryId, options);
expect(result).toBeUndefined();
} catch (error) {
expect(error).toBeInstanceOf(UserError);
expect(error.message).toBe('Access Denied');
}
});
it('when is not supplier', async() => {
const tx = await models.Entry.beginTransaction({});
const options = {transaction: tx};
try {
const ctx = {
args: {
search: 1
},
req: {accessToken: {userId: 9}}
};
const result = await models.Entry.getBuys(ctx, entryId, options);
const length = result.length;
const anyResult = result[Math.floor(Math.random() * Math.floor(length))];
expect(result.length).toEqual(4);
expect(anyResult.item).toBeDefined();
await tx.rollback();
} catch (e) {
await tx.rollback();
throw e;
}
});
});
});

View File

@ -79,7 +79,7 @@ describe('Travel extraCommunityFilter()', () => {
const result = await app.models.Travel.extraCommunityFilter(ctx, filter);
expect(result.length).toEqual(8);
expect(result.length).toEqual(9);
});
it('should return the travel matching "cargoSupplierFk"', async() => {
@ -110,6 +110,6 @@ describe('Travel extraCommunityFilter()', () => {
const result = await app.models.Travel.extraCommunityFilter(ctx, filter);
expect(result.length).toEqual(1);
expect(result.length).toEqual(2);
});
});

View File

@ -50,7 +50,7 @@ describe('Travel filter()', () => {
const result = await app.models.Travel.filter(ctx);
expect(result.length).toEqual(5);
expect(result.length).toEqual(6);
});
it('should return the routes matching "shipped from" and "shipped to"', async() => {
@ -80,6 +80,6 @@ describe('Travel filter()', () => {
const result = await app.models.Travel.filter(ctx);
expect(result.length).toEqual(5);
expect(result.length).toEqual(6);
});
});