const app = require('vn-loopback/server/server'); describe('sale reserve()', () => { const ctx = {req: {accessToken: {userId: 9}}}; afterAll(async done => { let ctx = {req: {accessToken: {userId: 9}}}; let params = { sales: [ {id: 7}, {id: 8}], ticketFk: 11, reserved: false }; await app.models.Sale.reserve(ctx, params); done(); }); it('should throw an error if the ticket can not be modified', async() => { let error; const ticketId = 2; const sales = [{id: 5}]; const reserved = false; await app.models.Sale.reserve(ctx, ticketId, sales, reserved) .catch(response => { expect(response).toEqual(new Error(`The sales of this ticket can't be modified`)); error = response; }); expect(error).toBeDefined(); }); it('should update the given sales of a ticket to reserved', async() => { originalTicketSales = await app.models.Ticket.getSales(11); expect(originalTicketSales[0].reserved).toEqual(0); expect(originalTicketSales[1].reserved).toEqual(0); const ticketId = 11; const sales = [{id: 7}, {id: 8}]; const reserved = true; await app.models.Sale.reserve(ctx, ticketId, sales, reserved); const reservedTicketSales = await app.models.Ticket.getSales(ticketId); expect(reservedTicketSales[0].reserved).toEqual(1); expect(reservedTicketSales[1].reserved).toEqual(1); }); });