125 lines
3.5 KiB
JavaScript
125 lines
3.5 KiB
JavaScript
const app = require(`${servicesDir}/claim/server/server`);
|
|
|
|
describe('Update Claim', () => {
|
|
let newDate = new Date();
|
|
let newInstance;
|
|
let original = {
|
|
ticketFk: 3,
|
|
clientFk: 101,
|
|
ticketCreated: newDate,
|
|
workerFk: 18,
|
|
claimStateFk: 2,
|
|
isChargedToMana: true,
|
|
responsibility: 4,
|
|
observation: 'observation'
|
|
};
|
|
|
|
beforeAll(async() => {
|
|
newInstance = await app.models.Claim.create(original);
|
|
});
|
|
|
|
afterAll(async() => {
|
|
await app.models.Claim.destroyById(newInstance.id);
|
|
});
|
|
|
|
it('should throw error if isSaleAssistant is false and try to modify a forbidden field', async() => {
|
|
let params = {
|
|
id: newInstance.id,
|
|
ticketFk: 3,
|
|
clientFk: 101,
|
|
ticketCreated: newDate,
|
|
workerFk: 18,
|
|
isChargedToMana: false,
|
|
responsibility: 3,
|
|
observation: 'another'
|
|
};
|
|
let ctx = {
|
|
req: {
|
|
accessToken: {
|
|
userId: 18
|
|
}
|
|
}
|
|
};
|
|
await app.models.Claim.updateClaim(ctx, params)
|
|
.catch(e => {
|
|
error = e;
|
|
});
|
|
|
|
expect(error.message).toEqual(`You don't have enough privileges to change that field`);
|
|
});
|
|
|
|
it('should throw error if isSaleAssistant is false and try to modify a valid field but a forbidden stated', async() => {
|
|
let params = {
|
|
id: newInstance.id,
|
|
ticketFk: 3,
|
|
clientFk: 101,
|
|
ticketCreated: newDate,
|
|
workerFk: 18,
|
|
claimStateFk: 4,
|
|
observation: 'another'
|
|
};
|
|
let ctx = {
|
|
req: {
|
|
accessToken: {
|
|
userId: 18
|
|
}
|
|
}
|
|
};
|
|
await app.models.Claim.updateClaim(ctx, params)
|
|
.catch(e => {
|
|
error = e;
|
|
});
|
|
|
|
expect(error.message).toEqual(`You don't have enough privileges to change that field`);
|
|
});
|
|
|
|
it('should change field observation', async() => {
|
|
let params = {
|
|
id: newInstance.id,
|
|
ticketCreated: newDate,
|
|
observation: 'another3'
|
|
};
|
|
let ctx = {
|
|
req: {
|
|
accessToken: {
|
|
userId: 18
|
|
}
|
|
}
|
|
};
|
|
await app.models.Claim.updateClaim(ctx, params);
|
|
|
|
let claimUpdated = await app.models.Claim.findById(newInstance.id);
|
|
|
|
expect(claimUpdated.observation).toEqual(params.observation);
|
|
});
|
|
|
|
it('should change sensible fields as salesAssistant', async() => {
|
|
let params = {
|
|
id: newInstance.id,
|
|
ticketFk: 3,
|
|
clientFk: 101,
|
|
ticketCreated: newDate,
|
|
workerFk: 18,
|
|
claimStateFk: 3,
|
|
isChargedToMana: true,
|
|
responsibility: 3,
|
|
observation: 'another'
|
|
};
|
|
let ctx = {
|
|
req: {
|
|
accessToken: {
|
|
userId: 21
|
|
}
|
|
}
|
|
};
|
|
await app.models.Claim.updateClaim(ctx, params);
|
|
|
|
let claimUpdated = await app.models.Claim.findById(newInstance.id);
|
|
|
|
expect(claimUpdated.observation).toEqual(params.observation);
|
|
expect(claimUpdated.claimStateFk).toEqual(params.claimStateFk);
|
|
expect(claimUpdated.responsibility).toEqual(params.responsibility);
|
|
expect(claimUpdated.isChargedToMana).toEqual(params.isChargedToMana);
|
|
});
|
|
});
|