64 lines
2.1 KiB
JavaScript
64 lines
2.1 KiB
JavaScript
const models = require('vn-loopback/server/server').models;
|
|
|
|
describe('docuware upload()', () => {
|
|
const userId = 9;
|
|
const ticketIds = [10];
|
|
const ctx = {
|
|
args: {ticketIds},
|
|
req: {
|
|
getLocale: () => {
|
|
return 'en';
|
|
},
|
|
accessToken: {userId: userId},
|
|
headers: {origin: 'http://localhost:5000'},
|
|
}
|
|
};
|
|
|
|
const docuwareModel = models.Docuware;
|
|
const ticketModel = models.Ticket;
|
|
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())));
|
|
});
|
|
|
|
it('should try upload file', async() => {
|
|
const tx = await models.Docuware.beginTransaction({});
|
|
spyOn(ticketModel, 'deliveryNotePdf').and.returnValue(new Promise(resolve => resolve({})));
|
|
|
|
let error;
|
|
try {
|
|
const options = {transaction: tx};
|
|
const user = await models.UserConfig.findById(userId, null, options);
|
|
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();
|
|
} catch (e) {
|
|
error = e;
|
|
await tx.rollback();
|
|
}
|
|
|
|
expect(error.message).toEqual('This user does not have an assigned tablet');
|
|
});
|
|
});
|