65 lines
2.3 KiB
JavaScript
65 lines
2.3 KiB
JavaScript
const app = require('vn-loopback/server/server');
|
|
const LoopBackContext = require('loopback-context');
|
|
|
|
describe('Client createWithInsurance', () => {
|
|
const activeCtx = {
|
|
accessToken: {userId: 101},
|
|
http: {
|
|
req: {
|
|
headers: {origin: 'http://localhost'}
|
|
}
|
|
}
|
|
};
|
|
const ctx = {req: activeCtx};
|
|
activeCtx.http.req.__ = value => {
|
|
return value;
|
|
};
|
|
|
|
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};
|
|
spyOn(LoopBackContext, 'getCurrentContext').and.returnValue({
|
|
active: activeCtx
|
|
});
|
|
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};
|
|
spyOn(LoopBackContext, 'getCurrentContext').and.returnValue({
|
|
active: activeCtx
|
|
});
|
|
let result = await app.models.CreditClassification.createWithInsurance(data, ctx);
|
|
|
|
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);
|
|
|
|
// restore
|
|
await app.models.CreditClassification.destroyById(result.id);
|
|
});
|
|
});
|