/*
* Copyright OpenSearch Contributors
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
import { shallow } from 'enzyme';
import React from 'react';
import { EuiSteps } from '@elastic/eui';
import { Action, ResourceType } from '../../types';
import { buildHashUrl } from '../../utils/url-builder';
import { GetStarted } from '../get-started';
describe('Get started (landing page)', () => {
const mockCoreStart = {
http: 1,
};
const config = {
ui: {
backend_configurable: true,
},
};
it('renders when backend configuration is enabled', () => {
const component = shallow(
);
expect(component).toMatchSnapshot();
});
it('renders when backend configuration is disabled', () => {
const config1 = {
ui: {
backend_configurable: false,
},
};
const component = shallow(
);
expect(component).toMatchSnapshot();
});
describe('should handle assignments to window.location.href correctly', () => {
let wrapper;
beforeEach(() => {
wrapper = shallow(
);
});
it('Review authentication and authorization button click', () => {
const component = wrapper.find(EuiSteps).shallow();
const button = component.find('[data-test-subj="review-authentication-and-authorization"]');
expect(button).toHaveLength(1);
button.simulate('click');
expect(window.location.hash).toBe(buildHashUrl(ResourceType.auth));
});
it('Explore existing roles button click', () => {
const component = wrapper.find(EuiSteps).shallow();
const button = component.find('[data-test-subj="explore-existing-roles"]');
expect(button).toHaveLength(1);
button.simulate('click');
expect(window.location.hash).toBe(buildHashUrl(ResourceType.roles));
});
it('Create new role button click', () => {
const component = wrapper.find(EuiSteps).shallow();
const button = component.find('[data-test-subj="create-new-role"]');
expect(button).toHaveLength(1);
button.simulate('click');
expect(window.location.hash).toBe(buildHashUrl(ResourceType.roles, Action.create));
});
it('Map users to a role button click', () => {
const component = wrapper.find(EuiSteps).shallow();
const button = component.find('[data-test-subj="map-users-to-role"]');
expect(button).toHaveLength(1);
button.simulate('click');
expect(window.location.hash).toBe(buildHashUrl(ResourceType.users));
});
it('Create internal user button click', () => {
const component = wrapper.find(EuiSteps).shallow();
const button = component.find('[data-test-subj="create-internal-user"]');
expect(button).toHaveLength(1);
button.simulate('click');
expect(window.location.hash).toBe(buildHashUrl(ResourceType.users, Action.create));
});
it('Review Audit Log Configuration button click', () => {
const button = wrapper.find('[data-test-subj="review-audit-log-configuration"]');
expect(button).toHaveLength(1);
button.simulate('click');
expect(window.location.hash).toBe(buildHashUrl(ResourceType.auditLogging));
});
});
});