import './index'; describe('ticket', () => { describe('Component vnTicketVolume', () => { let $componentController; let controller; let $httpBackend; let $state; let $scope; beforeEach(() => { angular.mock.module('ticket'); }); beforeEach(angular.mock.inject((_$componentController_, _$state_, _$httpBackend_, $rootScope) => { $componentController = _$componentController_; $httpBackend = _$httpBackend_; $httpBackend.when('GET', /\/locale\/\w+\/[a-z]{2}\.json/).respond({}); $scope = $rootScope.$new(); $scope.model = {data: [{id: 1}, {id: 2}], accept: () => { return { then: () => {} }; }}; $state = _$state_; $state.params.id = 101; controller = $componentController('vnTicketVolume', {$scope: $scope}, {$httpBackend: $httpBackend}, {$state: $state}); })); it('should join the sale volumes to its respective sale', () => { controller.ticket = {id: 1}; let response = {volumes: [{saleFk: 1, m3: 0.008}, {saleFk: 2, m3: 0.003}]}; $httpBackend.whenGET(`/api/tickets/1/getVolume`).respond(response); $httpBackend.expectGET(`/api/tickets/1/getVolume`); controller.onDataChange(); $httpBackend.flush(); expect($scope.model.data[0].volume.m3).toBe(0.008); expect($scope.model.data[1].volume.m3).toBe(0.003); }); }); });