42 lines
1.4 KiB
JavaScript
42 lines
1.4 KiB
JavaScript
const app = require('vn-loopback/server/server');
|
|
let UserError = require('vn-loopback/util/user-error');
|
|
|
|
describe('sale priceDifference()', () => {
|
|
it('should return ticket price differences', async() => {
|
|
let tomorrow = new Date();
|
|
tomorrow.setDate(tomorrow.getDate() + 1);
|
|
|
|
const ticketId = 16;
|
|
const landed = tomorrow;
|
|
const addressId = 126;
|
|
const agencyModeId = 7;
|
|
const zoneId = 3;
|
|
const warehouseId = 1;
|
|
|
|
const httpCtx = {req: {accessToken: {userId: 106}}};
|
|
let result = await app.models.Ticket.priceDifference(httpCtx, ticketId, landed,
|
|
addressId, agencyModeId, zoneId, warehouseId);
|
|
|
|
expect(result.totalUnitPrice).toEqual(215.77);
|
|
expect(result.totalNewPrice).toEqual(215.77);
|
|
expect(result.totalDifference).toEqual(0);
|
|
});
|
|
|
|
it('should return an error if the ticket is not editable', async() => {
|
|
const ticketId = 1;
|
|
const landed = new Date();
|
|
const addressId = 121;
|
|
const zoneId = 3;
|
|
const warehouseId = 1;
|
|
let error;
|
|
const httpCtx = {req: {accessToken: {userId: 106}}};
|
|
await app.models.Ticket.priceDifference(httpCtx, ticketId, landed, addressId, zoneId, warehouseId)
|
|
.catch(e => {
|
|
error = e;
|
|
});
|
|
|
|
|
|
expect(error).toEqual(new UserError(`The sales of this ticket can't be modified`));
|
|
});
|
|
});
|