import './index'; describe('Client', () => { describe('Component vnClientBalancCreate', () => { let controller; let $httpBackend; let $httpParamSerializer; beforeEach(ngModule('client')); beforeEach(inject(($componentController, $rootScope, _$httpBackend_, _$httpParamSerializer_) => { $httpBackend = _$httpBackend_; $httpParamSerializer = _$httpParamSerializer_; let $scope = $rootScope.$new(); const $element = angular.element(''); const $transclude = { $$boundTransclude: { $$slots: [] } }; controller = $componentController('vnClientBalanceCreate', {$element, $scope, $transclude}); controller.receipt = { clientFk: 101, companyFk: 442 }; })); describe('bankSelection() setter', () => { it('should set the receipt description property', () => { controller.bankSelection = { id: 1, bank: 'Cash', accountingType: { id: 2, receiptDescription: 'Cash' } }; expect(controller.receipt.description).toEqual('Cash'); }); }); describe('getAmountPaid()', () => { it('should make an http GET query and then set the receipt amountPaid property', () => { controller.$params = {id: 101}; const receipt = controller.receipt; const filter = { where: { clientFk: 101, companyFk: 442 } }; const serializedParams = $httpParamSerializer({filter}); $httpBackend.expect('GET', `ClientRisks?${serializedParams}`).respond([{amount: 20}]); controller.getAmountPaid(); $httpBackend.flush(); expect(receipt.amountPaid).toEqual(20); }); }); describe('responseHandler()', () => { it('should make an http POST query and then call to the parent responseHandler() method', () => { jest.spyOn(controller.vnApp, 'showSuccess'); controller.$params = {id: 101}; $httpBackend.expect('POST', `Receipts`).respond({id: 1}); controller.responseHandler('accept'); $httpBackend.flush(); expect(controller.vnApp.showSuccess).toHaveBeenCalled(); }); }); }); });