-
Notifications
You must be signed in to change notification settings - Fork 631
/
Copy pathkeystone-idp-form.spec.tsx
49 lines (42 loc) · 1.7 KB
/
keystone-idp-form.spec.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
import { mount } from 'enzyme';
import { Provider } from 'react-redux';
import { BrowserRouter } from 'react-router-dom';
import store from '@console/internal/redux';
import { IDPNameInput } from '../../../public/components/cluster-settings/idp-name-input';
import { IDPCAFileInput } from '../../../public/components/cluster-settings/idp-cafile-input';
import {
AddKeystonePage,
DroppableFileInput as KeystoneFileInput,
} from '../../../public/components/cluster-settings/keystone-idp-form';
import { controlButtonTest } from './basicauth-idp-form.spec';
describe('Add Identity Provider: Keystone', () => {
let wrapper;
beforeEach(() => {
wrapper = mount(
<Provider store={store}>
<BrowserRouter>
<AddKeystonePage />
</BrowserRouter>
</Provider>,
);
});
it('should render AddKeystonePage component', () => {
expect(wrapper.exists()).toBe(true);
});
it('should render correct Keystone IDP page title', () => {
expect(wrapper.contains('Add Identity Provider: Keystone Authentication')).toBeTruthy();
});
it('should render the form elements of AddKeystonePage component', () => {
expect(wrapper.find(IDPNameInput).exists()).toBe(true);
expect(wrapper.find(IDPCAFileInput).exists()).toBe(true);
expect(wrapper.find(KeystoneFileInput).length).toEqual(2);
expect(wrapper.find('input[id="url"]').exists()).toBe(true);
expect(wrapper.find('input[id="domain-name"]').exists()).toBe(true);
});
it('should render control buttons in a button bar', () => {
controlButtonTest(wrapper);
});
it('should prefill keystone in name field by default', () => {
expect(wrapper.find(IDPNameInput).props().value).toEqual('keystone');
});
});