const app = require('vn-loopback/server/server'); describe('loopback model address', () => { let createdAddressId; const clientId = 1101; afterAll(async done => { let client = await app.models.Client.findById(clientId); await app.models.Address.destroyById(createdAddressId); await client.updateAttribute('isEqualizated', false); done(); }); describe('observe()', () => { it('should throw an error when deactivating a consignee if its the default address', async() => { let error; let address = await app.models.Address.findById(1); await address.updateAttribute('isActive', false) .catch(e => { error = e; expect(error.message).toEqual('The default consignee can not be unchecked'); }); expect(error).toBeDefined(); }); it('should set isEqualizated to true of a given Client to trigger any new address to have it', async() => { let client = await app.models.Client.findById(clientId); expect(client.isEqualizated).toBeFalsy(); await client.updateAttribute('isEqualizated', true); let newAddress = await app.models.Address.create({ clientFk: clientId, agencyModeFk: 5, city: 'here', isActive: true, mobile: '555555555', nickname: 'Test address', phone: '555555555', postalCode: '46000', provinceFk: 1, street: 'Test address', incotermsFk: 'FAS', customsAgentFk: 1 }); expect(newAddress.isEqualizated).toBeTruthy(); createdAddressId = newAddress.id; }); }); });