import './index.js';

describe('vnItemBasicData', () => {
    describe('Component vnItemBasicData', () => {
        let $scope;
        let controller;
        let $timeout;

        beforeEach(angular.mock.module('item', $translateProvider => {
            $translateProvider.translations('en', {});
        }));

        beforeEach(angular.mock.inject(($componentController, $rootScope, _$timeout_) => {
            $timeout = _$timeout_;
            $scope = $rootScope.$new();
            controller = $componentController('vnItemBasicData', {$scope, $timeout});
            controller.$scope.watcher = {};
        }));

        describe('$onChanges()', () => {
            it('should pass the data to the watcher', () => {
                const data = {item: {currentValue: 'the current value of an item'}};
                controller.$onChanges(data);
                $timeout.flush();

                expect(controller.$scope.watcher.data).toMatchSnapshot();
            });
        });
    });
});