const app = require('vn-loopback/server/server'); describe('sale deleteSales()', () => { let sale; let newSale; beforeAll(async done => { try { sale = await app.models.Sale.findOne({where: {id: 9}}); sale.id = null; newSale = await app.models.Sale.create(sale); } catch (error) { console.error(error); } done(); }); it('should throw an error if the ticket of the given sales is not editable', async() => { let ctx = { req: { accessToken: {userId: 9}, headers: {origin: 'localhost:5000'}, __: () => {} } }; let error; const sales = [{id: 1, instance: 0}, {id: 2, instance: 1}]; const ticketId = 2; try { await app.models.Sale.deleteSales(ctx, sales, ticketId); } catch (e) { error = e; } expect(error).toEqual(new Error(`The sales of this ticket can't be modified`)); }); it('should delete the sale', async() => { let ctx = { req: { accessToken: {userId: 9}, headers: {origin: 'localhost:5000'}, __: () => {} } }; const sales = [{id: newSale.id, instance: 0}]; const ticketId = 16; let res = await app.models.Sale.deleteSales(ctx, sales, ticketId); expect(res).toEqual([{count: 1}]); }); });