salix/back/methods/docuware/specs/upload.spec.js

64 lines
2.1 KiB
JavaScript
Raw Permalink Normal View History

2023-01-12 14:16:38 +00:00
const models = require('vn-loopback/server/server').models;
describe('docuware upload()', () => {
2023-01-12 14:16:38 +00:00
const userId = 9;
2023-06-13 09:37:35 +00:00
const ticketIds = [10];
2023-01-12 14:16:38 +00:00
const ctx = {
2023-06-13 09:37:35 +00:00
args: {ticketIds},
2023-01-12 14:16:38 +00:00
req: {
getLocale: () => {
return 'en';
},
2023-01-12 14:16:38 +00:00
accessToken: {userId: userId},
headers: {origin: 'http://localhost:5000'},
}
};
const docuwareModel = models.Docuware;
const ticketModel = models.Ticket;
2023-01-12 14:16:38 +00:00
const fileCabinetName = 'deliveryNote';
beforeAll(() => {
spyOn(docuwareModel, 'getFileCabinet').and.returnValue(new Promise(resolve => resolve(Math.random())));
spyOn(docuwareModel, 'getDialog').and.returnValue(new Promise(resolve => resolve(Math.random())));
2023-01-12 14:16:38 +00:00
});
it('should try upload file', async() => {
const tx = await models.Docuware.beginTransaction({});
spyOn(ticketModel, 'deliveryNotePdf').and.returnValue(new Promise(resolve => resolve({})));
2023-01-12 14:16:38 +00:00
let error;
try {
const options = {transaction: tx};
const user = await models.UserConfig.findById(userId, null, options);
2024-01-02 07:12:45 +00:00
await user.updateAttribute('tabletFk', 'Tablet1', options);
await models.Docuware.upload(ctx, ticketIds, fileCabinetName, options);
await tx.rollback();
} catch (e) {
error = e;
await tx.rollback();
}
expect(error.message).toEqual('Action not allowed on the test environment');
});
it('should throw error when not have tablet assigned', async() => {
const tx = await models.Docuware.beginTransaction({});
spyOn(ticketModel, 'deliveryNotePdf').and.returnValue(new Promise(resolve => resolve({})));
let error;
try {
const options = {transaction: tx};
await models.Docuware.upload(ctx, ticketIds, fileCabinetName, options);
await tx.rollback();
2023-01-12 14:16:38 +00:00
} catch (e) {
error = e;
await tx.rollback();
2023-01-12 14:16:38 +00:00
}
expect(error.message).toEqual('This user does not have an assigned tablet');
2023-01-12 14:16:38 +00:00
});
});