import './index.js'; describe('Entry', () => { describe('Component vnEntryLatestBuys', () => { let controller; let $httpBackend; beforeEach(ngModule('entry')); beforeEach(angular.mock.inject(($componentController, $rootScope, _$httpBackend_) => { $httpBackend = _$httpBackend_; const $element = angular.element(' {}}, edit: {hide: () => {}} }; })); describe('get columns', () => { it(`should return a set of columns`, () => { let result = controller.columns; let length = result.length; let anyColumn = Object.keys(result[Math.floor(Math.random() * Math.floor(length))]); expect(anyColumn).toContain('field', 'displayName'); }); }); describe('get checked', () => { it(`should return a set of checked lines`, () => { controller.$.model.data = [ {checked: true, id: 1}, {checked: true, id: 2}, {checked: true, id: 3}, {checked: false, id: 4}, ]; let result = controller.checked; expect(result.length).toEqual(3); }); }); describe('onEditAccept()', () => { it(`should perform a query to update columns`, () => { controller.editedColumn = {field: 'my field', newValue: 'the new value'}; const query = 'Buys/editLatestBuys'; $httpBackend.expectPOST(query).respond(); controller.onEditAccept(); $httpBackend.flush(); const result = controller.checked; expect(result.length).toEqual(0); }); }); describe('reCheck()', () => { it(`should recheck buys`, () => { controller.$.model.data = [ {checked: false, id: 1}, {checked: false, id: 2}, {checked: false, id: 3}, {checked: false, id: 4}, ]; controller.checkedBuys = [1, 2]; controller.reCheck(); expect(controller.$.model.data[0].checked).toEqual(true); expect(controller.$.model.data[1].checked).toEqual(true); expect(controller.$.model.data[2].checked).toEqual(false); expect(controller.$.model.data[3].checked).toEqual(false); }); }); describe('saveChecked()', () => { it(`should check buy`, () => { const buyCheck = 3; controller.checkedBuys = [1, 2]; controller.saveChecked(buyCheck); expect(controller.checkedBuys[2]).toEqual(buyCheck); }); it(`should uncheck buy`, () => { const buyUncheck = 3; controller.checkedBuys = [1, 2, 3]; controller.saveChecked(buyUncheck); expect(controller.checkedBuys[2]).toEqual(undefined); }); }); }); });