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); }); }); }); });