57 lines
1.7 KiB
JavaScript
57 lines
1.7 KiB
JavaScript
const app = require('vn-loopback/server/server');
|
|
const LoopBackContext = require('loopback-context');
|
|
|
|
describe('ticket setDelivered()', () => {
|
|
const userId = 50;
|
|
const activeCtx = {
|
|
accessToken: {userId: userId},
|
|
};
|
|
|
|
let ticketOne;
|
|
let ticketTwo;
|
|
|
|
beforeAll(async done => {
|
|
spyOn(LoopBackContext, 'getCurrentContext').and.returnValue({
|
|
active: activeCtx
|
|
});
|
|
try {
|
|
let originalTicketOne = await app.models.Ticket.findById(8);
|
|
let originalTicketTwo = await app.models.Ticket.findById(10);
|
|
|
|
originalTicketOne.id = null;
|
|
originalTicketTwo.id = null;
|
|
|
|
ticketOne = await app.models.Ticket.create(originalTicketOne);
|
|
ticketTwo = await app.models.Ticket.create(originalTicketTwo);
|
|
} catch (error) {
|
|
console.error(error);
|
|
}
|
|
|
|
done();
|
|
});
|
|
|
|
afterAll(async done => {
|
|
try {
|
|
await app.models.Ticket.destroyById(ticketOne.id);
|
|
await app.models.Ticket.destroyById(ticketTwo.id);
|
|
} catch (error) {
|
|
console.error(error);
|
|
}
|
|
|
|
done();
|
|
});
|
|
|
|
it('should return the state which has been applied to the given tickets', async() => {
|
|
let ctx = {req: {accessToken: {userId: 49}}};
|
|
let delivered = await app.models.State.findOne({where: {code: 'delivered'}, fields: ['id']});
|
|
|
|
let params = [ticketOne.id, ticketTwo.id];
|
|
let state = await app.models.TicketTracking.setDelivered(ctx, params);
|
|
|
|
expect(state.id).toEqual(delivered.id);
|
|
|
|
// restores
|
|
await app.models.TicketTracking.destroyById(state.id);
|
|
});
|
|
});
|