salix/client/ticket/src/component/component.spec.js

93 lines
3.3 KiB
JavaScript
Raw Normal View History

import './component.js';
describe('ticket', () => {
describe('Component vnTicketComponents', () => {
let $componentController;
let controller;
beforeEach(() => {
angular.mock.module('ticket');
});
beforeEach(angular.mock.inject(_$componentController_ => {
$componentController = _$componentController_;
controller = $componentController('vnTicketComponents');
}));
describe('total()', () => {
it('should return the sum from all componenets in each sale', () => {
controller.sales = [{
components: [
{componentRate: {name: 'valor de compra'}, value: 5},
{componentRate: {name: 'reparto'}, value: 5},
{componentRate: {name: 'recobro'}, value: 5}
],
quantity: 1
},
{
components: [
{componentRate: {name: 'valor de compra'}, value: 1},
{componentRate: {name: 'reparto'}, value: 1},
{componentRate: {name: 'recobro'}, value: 1}
],
quantity: 5
}
];
let result = controller.total();
expect(result).toEqual(30);
});
});
describe('base()', () => {
it(`should return the sum from all 'valor de compra' componenets in each sale`, () => {
controller.sales = [{
components: [
{componentRate: {name: 'valor de compra'}, value: 5},
{componentRate: {name: 'reparto'}, value: 5},
{componentRate: {name: 'recobro'}, value: 5}
],
quantity: 1
},
{
components: [
{componentRate: {name: 'valor de compra'}, value: 1},
{componentRate: {name: 'reparto'}, value: 1},
{componentRate: {name: 'recobro'}, value: 1}
],
quantity: 5
}
];
let result = controller.base();
expect(result).toEqual(10);
});
});
describe('profitMargin()', () => {
it(`should return the sum from all componenets but 'valor de compra' in each sale`, () => {
controller.sales = [{
components: [
{componentRate: {name: 'valor de compra'}, value: 5},
{componentRate: {name: 'reparto'}, value: 5},
{componentRate: {name: 'recobro'}, value: 5}
],
quantity: 1
},
{
components: [
{componentRate: {name: 'valor de compra'}, value: 1},
{componentRate: {name: 'reparto'}, value: 1},
{componentRate: {name: 'recobro'}, value: 1}
],
quantity: 5
}
];
let result = controller.profitMargin();
expect(result).toEqual(20);
});
});
});
});