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; } }); });