37 lines
1.2 KiB
JavaScript
37 lines
1.2 KiB
JavaScript
|
const app = require(`${servicesDir}/order/server/server`);
|
||
|
|
||
|
describe('order summary()', () => {
|
||
|
it('should return a summary object containing data from 1 order', async() => {
|
||
|
let result = await app.models.Order.summary(1);
|
||
|
|
||
|
expect(result.id).toEqual(1);
|
||
|
expect(result.clientFk).toEqual(101);
|
||
|
});
|
||
|
|
||
|
it('should return a summary object containing sales from 1 order', async() => {
|
||
|
let result = await app.models.Order.summary(1);
|
||
|
|
||
|
expect(result.rows.length).toEqual(3);
|
||
|
});
|
||
|
|
||
|
it('should return a summary object containing subTotal for 1 order', async() => {
|
||
|
let result = await app.models.Order.summary(1);
|
||
|
|
||
|
expect(Math.round(result.subTotal * 100) / 100).toEqual(135.60);
|
||
|
});
|
||
|
|
||
|
it('should return a summary object containing VAT for 1 order', async() => {
|
||
|
let result = await app.models.Order.summary(1);
|
||
|
|
||
|
expect(Math.round(result.VAT * 100) / 100).toEqual(9.49);
|
||
|
});
|
||
|
|
||
|
it('should return a summary object containing total for 1 order', async() => {
|
||
|
let result = await app.models.Order.summary(1);
|
||
|
let total = result.subTotal + result.VAT;
|
||
|
let expectedTotal = Math.round(total * 100) / 100;
|
||
|
|
||
|
expect(result.total).toEqual(expectedTotal);
|
||
|
});
|
||
|
});
|