import './index.js';

describe('Route', () => {
    describe('Component summary', () => {
        let controller;
        let $httpBackend;

        beforeEach(ngModule('route'));

        beforeEach(angular.mock.inject(($componentController, _$httpBackend_) => {
            $httpBackend = _$httpBackend_;
            controller = $componentController('vnRouteSummary');
            controller.route = {id: 1};
        }));

        describe('getSummary()', () => {
            it('should perform a query to set summary', () => {
                $httpBackend.when('GET', `Routes/1/summary`).respond(200, 24);
                $httpBackend.expect('GET', `Routes/1/summary`);
                controller.getSummary();
                $httpBackend.flush();

                expect(controller.summary).toEqual(24);
            });
        });

        describe('sumPackages()', () => {
            it('should calculate the packages total', () => {
                controller.summary = {
                    tickets: [
                        {packages: 3},
                        {packages: 1}
                    ]
                };
                controller.sumPackages();

                expect(controller.packagesTotal).toEqual(4);
            });
        });
    });
});