/
DisableEnableStrategyDialog.test.tsx
55 lines (46 loc) · 1.67 KB
/
DisableEnableStrategyDialog.test.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
import { screen } from '@testing-library/react';
import { render } from 'utils/testRenderer';
import { testServerRoute, testServerSetup } from 'utils/testServer';
import { DisableEnableStrategyDialog } from './DisableEnableStrategyDialog';
const server = testServerSetup();
const defaultProps = {
isOpen: true,
onClose: () => {},
onConfirm: () => {},
projectId: 'project1',
featureId: 'feature1',
environmentId: 'env1',
strategy: {
id: 'some-id',
name: 'flexibleRollout',
constraints: [],
parameters: {
rollout: '50%',
stickiness: 'default',
},
},
};
test('should render disable dialog in regular mode', async () => {
testServerRoute(server, '/api/admin/ui-config', {});
testServerRoute(server, '/api/admin/projects/project1', {});
render(<DisableEnableStrategyDialog {...defaultProps} />);
expect(
screen.queryByText('Change requests are enabled for this environment.')
).not.toBeInTheDocument();
expect(
screen.getByText('Are you sure you want to disable this strategy?')
).toBeInTheDocument();
});
test('should render enable dialog in regular mode', async () => {
testServerRoute(server, '/api/admin/ui-config', {});
testServerRoute(server, '/api/admin/projects/project1', {});
const props = {
...defaultProps,
strategy: { ...defaultProps.strategy, disabled: true },
};
render(<DisableEnableStrategyDialog {...props} />);
expect(
screen.queryByText('Change requests are enabled for this environment.')
).not.toBeInTheDocument();
expect(screen.getByText('Enable strategy')).toBeInTheDocument();
});