const models = require('vn-loopback/server/server').models; describe('Client Credit', () => { const instance = {id: 1101, name: 'Bruce Banner'}; describe('after save', () => { it('should delete old rows of clientCredit', async() => { const tx = await models.ClientCredit.beginTransaction({}); const clientConfig = await models.ClientConfig.findOne({ where: {id: 1} }); let rowsBefore; let rowsAfter; try { const options = {transaction: tx}; const salesAssistant = await models.VnUser.findOne({ where: {name: 'salesAssistant'} }, options); rowsBefore = await models.ClientCredit.find({ where: {clientFk: instance.id}, order: 'created DESC', }, options); await models.ClientCredit.create({ amount: 355, clientFk: instance.id, workerFk: salesAssistant.id }, options); rowsAfter = await models.ClientCredit.find({ where: {clientFk: instance.id}, order: 'created DESC', }, options); await tx.rollback(); } catch (e) { await tx.rollback(); throw e; } const FirstRowsBefore = rowsBefore[0]; const FirstRowsAfter = rowsAfter[0]; expect(FirstRowsAfter.id).toBeGreaterThan(FirstRowsBefore.id); expect(rowsBefore.length).toBeGreaterThanOrEqual(clientConfig.maxCreditRows); expect(rowsAfter.length).toEqual(clientConfig.maxCreditRows); }); }); });