const app = require('vn-loopback/server/server'); describe('Client createWithInsurance', () => { let classificationId; afterAll(async done => { await app.models.CreditClassification.destroyById(classificationId); done(); }); it('should verify the classifications and insurances are untainted', async() => { let classifications = await app.models.CreditClassification.find(); let insurances = await app.models.CreditInsurance.find(); expect(classifications.length).toEqual(5); expect(insurances.length).toEqual(3); }); it('should not create the insurance if couldnt create the classification', async() => { let error; let data = {clientFk: null, started: Date.now(), credit: 999, grade: 255}; let ctx = {req: {accessToken: {userId: 101}}}; await app.models.CreditClassification.createWithInsurance(data, ctx) .catch(e => { error = e; }); expect(error.toString()).toBe('Error: ER_BAD_NULL_ERROR: Column \'client\' cannot be null'); let classifications = await app.models.CreditClassification.find(); let insurances = await app.models.CreditInsurance.find(); expect(classifications.length).toEqual(5); expect(insurances.length).toEqual(3); }); it('should create a new client credit classification with insurance', async() => { let data = {clientFk: 101, started: Date.now(), credit: 999, grade: 255}; let ctx = {req: {accessToken: {userId: 101}}}; let result = await app.models.CreditClassification.createWithInsurance(data, ctx); classificationId = result.id; expect(result.client).toEqual(101); let classifications = await app.models.CreditClassification.find(); let insurances = await app.models.CreditInsurance.find(); expect(classifications.length).toEqual(6); expect(insurances.length).toEqual(4); }); });