import './index.js'; describe('Order', () => { describe('Component vnOrderLine', () => { let $state; let controller; let $httpBackend; const vat = 10.5; const rows = [ { quantity: 4, price: 10.5 }, { quantity: 3, price: 2.4 } ]; beforeEach(ngModule('order')); beforeEach(inject(($componentController, _$state_, _$httpBackend_) => { $state = _$state_; $httpBackend = _$httpBackend_; $state.params.id = 1; $httpBackend.whenGET(`OrderRows`).respond(rows); $httpBackend.whenRoute('GET', `Orders/:id/getVAT`).respond(200, vat); controller = $componentController('vnOrderLine', {$element: null}); })); describe('getRows()', () => { it('should make a query to get the rows of a given order', () => { controller.getRows(); $httpBackend.flush(); expect(controller.rows).toEqual(rows); }); }); describe('getVAT()', () => { it('should make a query to get the VAT of a given order', () => { controller.getVAT(); $httpBackend.flush(); expect(controller.VAT).toBe(vat); }); }); describe('deleteRow()', () => { it('should remove a row from rows and add save the data if the response is accept', () => { controller.getRows(); $httpBackend.flush(); controller.card = {reload: jasmine.createSpy('reload')}; $httpBackend.expectPOST(`OrderRows/removes`).respond(); controller.deleteRow(0); $httpBackend.flush(); expect(controller.rows.length).toBe(1); expect(controller.card.reload).toHaveBeenCalled(); }); }); }); });