import React from 'react';
import {mount} from 'enzyme';
import GlobalSelectionStore from 'app/stores/globalSelectionStore';
import withGlobalSelection from 'app/utils/withGlobalSelection';
describe('withGlobalSelection HoC', function() {
beforeEach(() => {
GlobalSelectionStore.init();
});
it('handles projects', function() {
const MyComponent = () => null;
let Container = withGlobalSelection(MyComponent);
let wrapper = mount();
expect(wrapper.find('MyComponent').prop('selection').projects).toEqual([]);
GlobalSelectionStore.updateProjects([1]);
wrapper.update();
expect(wrapper.find('MyComponent').prop('selection').projects).toEqual([1]);
});
it('handles datetime', function() {
const MyComponent = () => null;
let Container = withGlobalSelection(MyComponent);
let wrapper = mount();
expect(wrapper.find('MyComponent').prop('selection').datetime.period).toEqual('14d');
GlobalSelectionStore.updateDateTime({
period: '7d',
start: null,
end: null,
});
wrapper.update();
expect(wrapper.find('MyComponent').prop('selection').datetime.period).toEqual('7d');
GlobalSelectionStore.updateDateTime({
period: null,
start: '2018-08-08T00:00:00',
end: '2018-08-08T00:00:00',
});
});
it('handles environments', function() {
const MyComponent = () => null;
let Container = withGlobalSelection(MyComponent);
let wrapper = mount();
expect(wrapper.find('MyComponent').prop('selection').environments).toEqual([]);
GlobalSelectionStore.updateEnvironments(['beta', 'alpha']);
wrapper.update();
expect(wrapper.find('MyComponent').prop('selection').environments).toEqual([
'beta',
'alpha',
]);
});
});