1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-09-28 17:55:15 +02:00
unleash.unleash/frontend/src/component/feature/__tests__/list-component-test.jsx
Benjamin Ludewig 85fb0f9b89 feature: Add support for permission system in unleash frontend
refactored permission-based components
added tests for all permission-based components
2019-01-16 10:39:58 +01:00

65 lines
1.9 KiB
JavaScript

import React from 'react';
import { MemoryRouter } from 'react-router-dom';
import FeatureListComponent from './../list-component';
import renderer from 'react-test-renderer';
import { CREATE_FEATURE } from '../../../permissions';
jest.mock('react-mdl');
jest.mock('../feature-list-item-component', () => ({
__esModule: true,
default: 'Feature',
}));
test('renders correctly with one feature', () => {
const features = [
{
name: 'Another',
},
];
const featureMetrics = { lastHour: {}, lastMinute: {}, seenApps: {} };
const settings = { sort: 'name' };
const tree = renderer.create(
<MemoryRouter>
<FeatureListComponent
updateSetting={jest.fn()}
settings={settings}
history={{}}
featureMetrics={featureMetrics}
features={features}
toggleFeature={jest.fn()}
fetchFeatureToggles={jest.fn()}
hasPermission={permission => permission === CREATE_FEATURE}
/>
</MemoryRouter>
);
expect(tree).toMatchSnapshot();
});
test('renders correctly with one feature without permissions', () => {
const features = [
{
name: 'Another',
},
];
const featureMetrics = { lastHour: {}, lastMinute: {}, seenApps: {} };
const settings = { sort: 'name' };
const tree = renderer.create(
<MemoryRouter>
<FeatureListComponent
updateSetting={jest.fn()}
settings={settings}
history={{}}
featureMetrics={featureMetrics}
features={features}
toggleFeature={jest.fn()}
fetchFeatureToggles={jest.fn()}
hasPermission={() => false}
/>
</MemoryRouter>
);
expect(tree).toMatchSnapshot();
});