import './index.js'; describe('Item Component vnClaimDescriptor', () => { let $httpBackend; let controller; beforeEach(angular.mock.module('claim', $translateProvider => { $translateProvider.translations('en', {}); })); beforeEach(angular.mock.inject(($componentController, _$httpBackend_) => { $httpBackend = _$httpBackend_; controller = $componentController('vnClaimDescriptor'); controller.claim = {id: 2}; })); describe('showPickupOrder()', () => { it('should open a new window showing a pickup order PDF document', () => { let expectedPath = '/api/report/rpt-claim-pickup-order?claimFk=2'; spyOn(window, 'open'); controller.showPickupOrder(); expect(window.open).toHaveBeenCalledWith(expectedPath); }); }); describe('confirmPickupOrder()', () => { it('should call confirmPickupOrder.show()', () => { controller.$scope.confirmPickupOrder = { show: jasmine.createSpy('show') }; controller.claim = {id: 2}; controller.confirmPickupOrder(); expect(controller.$scope.confirmPickupOrder.show).toHaveBeenCalledWith(); }); }); describe('sendPickupOrder(response)', () => { it('should make a query and call vnApp.showMessage() if the response is ACCEPT', () => { spyOn(controller.vnApp, 'showMessage'); $httpBackend.when('POST', `/api/email/claim-pickup-order`, {claimFk: 2}).respond(); $httpBackend.expect('POST', `/api/email/claim-pickup-order`, {claimFk: 2}).respond(); controller.sendPickupOrder('ACCEPT'); $httpBackend.flush(); expect(controller.vnApp.showMessage).toHaveBeenCalledWith('Notification sent!'); }); }); describe('confirmDeleteClaim()', () => { it('should call confirmDeleteClaim.show()', () => { controller.$scope.confirmDeleteClaim = { show: jasmine.createSpy('show') }; controller.claim = {id: 2}; controller.confirmDeleteClaim(); expect(controller.$scope.confirmDeleteClaim.show).toHaveBeenCalledWith(); }); }); describe('deleteClaime(response)', () => { it('should perform a query and call showSuccess if the response is ACCEPT', () => { let response = 'ACCEPT'; controller.claim = {id: 2}; spyOn(controller.vnApp, 'showSuccess'); spyOn(controller.$state, 'go'); $httpBackend.when('DELETE', `/claim/api/Claims/2`).respond(200); $httpBackend.expect('DELETE', `/claim/api/Claims/2`); controller.deleteClaim(response); $httpBackend.flush(); expect(controller.vnApp.showSuccess).toHaveBeenCalledWith('Claim deleted!'); expect(controller.$state.go).toHaveBeenCalledWith('claim.index'); }); }); });