58 lines
1.9 KiB
JavaScript
58 lines
1.9 KiB
JavaScript
const models = require('vn-loopback/server/server').models;
|
|
|
|
fdescribe('TicketDms saveSign()', () => {
|
|
const FormData = require('form-data');
|
|
const data = new FormData();
|
|
let ctx = {req: {
|
|
accessToken: {userId: 9},
|
|
headers: {
|
|
...data.getHeaders()
|
|
},
|
|
on: (param, cb) => {}
|
|
}};
|
|
|
|
it(`should not save sign if the ticket's alert level is lower than 2`, async() => {
|
|
const tx = await models.TicketDms.beginTransaction({});
|
|
const ticketWithOkState = 12;
|
|
|
|
try {
|
|
const options = {transaction: tx};
|
|
ctx.args = {tickets: [ticketWithOkState]};
|
|
|
|
await models.TicketDms.saveSign(ctx, options);
|
|
const ticket = await models.Ticket.findById(ticketWithOkState, {fields: ['isSigned']}, options);
|
|
const ticketDms = await models.TicketDms.findOne({where: {ticketFk: ticketWithOkState}}, options);
|
|
|
|
expect(ticket.isSigned).toEqual(false);
|
|
expect(ticketDms).toEqual(null);
|
|
|
|
await tx.rollback();
|
|
} catch (e) {
|
|
await tx.rollback();
|
|
throw e;
|
|
}
|
|
});
|
|
|
|
it(`should save sign if the ticket's alert level is greater than 2`, async() => {
|
|
const tx = await models.TicketDms.beginTransaction({});
|
|
const ticketWithPackedState = 7;
|
|
|
|
try {
|
|
const options = {transaction: tx};
|
|
ctx.args = {tickets: [ticketWithPackedState]};
|
|
|
|
await models.TicketDms.saveSign(ctx, options);
|
|
const ticket = await models.Ticket.findById(ticketWithPackedState, {fields: ['isSigned']}, options);
|
|
const ticketDms = await models.TicketDms.findOne({where: {ticketFk: ticketWithPackedState}}, options);
|
|
|
|
expect(ticket.isSigned).toEqual(true);
|
|
expect(ticketDms).toBeDefined();
|
|
|
|
await tx.rollback();
|
|
} catch (e) {
|
|
await tx.rollback();
|
|
throw e;
|
|
}
|
|
});
|
|
});
|