const app = require(`${servicesDir}/ticket/server/server`); const restoreFixtures = require(`${servicesDir}/db/testing_fixtures`); describe('sale removes()', () => { let sqlStatements = {deletes: ``, inserts: ` INSERT INTO vn2008.Movimientos (Id_Movimiento, Id_Article, Id_Ticket, Concepte, Cantidad, Preu, Descuento, CostFixat, Reservado, OK, PrecioFijado, odbc_date) VALUES ('1', '1', '1', 'Gem of Time', '5.00', '23.50', '0', '0.00', '0', '0', '0', '2018-08-20 00:00:00'); INSERT INTO vn2008.Movimientos (Id_Movimiento, Id_Article, Id_Ticket, Concepte, Cantidad, Preu, Descuento, CostFixat, Reservado, OK, PrecioFijado, odbc_date) VALUES ('2', '2', '1', 'Gem of Mind', '10.00', '4.50', '0', '0.00', '0', '0', '0', '2018-08-20 00:00:00'); `, updates: ``}; afterAll(() => { restoreFixtures(sqlStatements); }); it('should throw an error if the ticket of the given sales is not editable', async() => { let error; let params = { sales: [{id: 1, instance: 0}, {id: 2, instance: 1}], actualTicketFk: 2 }; try { await app.models.Sale.removes(params); } catch (e) { error = e; } expect(error).toEqual(new Error(`The sales of this ticket can't be modified`)); }); it('should delete the sales', async() => { let params = { sales: [{id: 1, instance: 0}, {id: 2, instance: 1}], actualTicketFk: 1 }; let res = await app.models.Sale.removes(params); expect(res).toEqual([{count: 1}, {count: 1}]); }); });