import './index'; import crudModel from 'core/mocks/crud-model'; describe('item shelving', () => { describe('Component vnItemShelving', () => { let controller; let $httpBackend; beforeEach(ngModule('item')); beforeEach(inject(($componentController, _$httpBackend_) => { $httpBackend = _$httpBackend_; const $element = angular.element(''); controller = $componentController('vnItemShelving', {$element}); controller.$.model = crudModel; controller.$.model.data = [ {itemShelvingFk: 1, packing: 10, stock: 1}, {itemShelvingFk: 2, packing: 12, stock: 5}, {itemShelvingFk: 4, packing: 20, stock: 10} ]; const modelData = controller.$.model.data; modelData[0].checked = true; modelData[1].checked = true; })); describe('checked() getter', () => { it('should return a the selected rows', () => { const result = controller.checked; expect(result).toEqual(expect.arrayContaining([1, 2])); }); }); describe('calculateTotals()', () => { it('should calculate the total of labels', () => { controller.calculateTotals(); expect(controller.labelTotal).toEqual(1.0166666666666666); }); }); describe('onRemove()', () => { it('shoud remove the selected lines', () => { jest.spyOn(controller.$.model, 'refresh'); const expectedParams = {itemShelvingIds: [1, 2]}; $httpBackend.expectPOST('ItemShelvings/deleteItemShelvings', expectedParams).respond(200); controller.onRemove(); $httpBackend.flush(); expect(controller.$.model.refresh).toHaveBeenCalled(); }); }); describe('exprBuilder()', () => { it('should search by parking', () => { const expr = controller.exprBuilder('parking', '700-01'); expect(expr).toEqual({'parking': '700-01'}); }); it('should search by shelving', () => { const expr = controller.exprBuilder('shelving', 'AAA'); expect(expr).toEqual({'shelving': 'AAA'}); }); it('should search by label', () => { const expr = controller.exprBuilder('label', 0.17); expect(expr).toEqual({'label': 0.17}); }); it('should search by packing', () => { const expr = controller.exprBuilder('packing', 10); expect(expr).toEqual({'packing': 10}); }); }); }); });