const app = require(`${servicesDir}/client/server/server`); describe('Client addressesPropagateRe', () => { let client; beforeEach(async() => { client = await app.models.Client.findById(101); await app.models.Address.update({clientFk: 101}, {isEqualizated: false}); await client.updateAttributes({hasToInvoiceByAddress: true}); }); afterAll(async() => { await app.models.Address.update({clientFk: 101}, {isEqualizated: false}); await client.updateAttributes({hasToInvoiceByAddress: true}); }); it('should propagate the isEqualizated on both addresses of Mr Wayne and set hasToInvoiceByAddress to false', async() => { let id = 101; let data = { isEqualizated: true }; let resultAddress = await app.models.Address.find({where: {clientFk: id}}); let resultClient = await app.models.Client.find({where: {id: id}}); expect(resultAddress[0].isEqualizated).toBeFalsy(); expect(resultAddress[1].isEqualizated).toBeFalsy(); expect(resultClient[0].hasToInvoiceByAddress).toBeTruthy(); await app.models.Client.addressesPropagateRe(id, data); resultAddress = await app.models.Address.find({where: {clientFk: id}}); resultClient = await app.models.Client.find({where: {id: id}}); expect(resultAddress[0].isEqualizated).toBeTruthy(); expect(resultAddress[1].isEqualizated).toBeTruthy(); expect(resultClient[0].hasToInvoiceByAddress).toBeFalsy(); }); });