import './index.js';

describe('Route Component vnRoute', () => {
    let controller;

    beforeEach(ngModule('route'));

    beforeEach(inject($componentController => {
        let $element = angular.element(`<div></div>`);
        controller = $componentController('vnRoute', {$element});
    }));

    describe('fetchParams()', () => {
        it('should return a range of dates with passed scope days', () => {
            let params = controller.fetchParams({
                scopeDays: 2
            });
            const from = Date.vnNew();
            from.setHours(0, 0, 0, 0);
            const to = new Date(from.getTime());
            to.setDate(to.getDate() + params.scopeDays);
            to.setHours(23, 59, 59, 999);

            const expectedParams = {
                from,
                scopeDays: params.scopeDays,
                to
            };

            expect(params).toEqual(expectedParams);
        });

        it('should return default value for scope days', () => {
            let params = controller.fetchParams({
                scopeDays: 1
            });

            expect(params.scopeDays).toEqual(1);
        });

        it('should return the given scope days', () => {
            let params = controller.fetchParams({
                scopeDays: 2
            });

            expect(params.scopeDays).toEqual(2);
        });
    });
});