Skip to content

Commit

Permalink
fixes issue with form switch for name-value-editor on eventSources cr…
Browse files Browse the repository at this point in the history
…eation form
  • Loading branch information
invincibleJai committed Apr 3, 2020
1 parent baa4cbb commit 387091b
Show file tree
Hide file tree
Showing 5 changed files with 18 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import { FormFooter } from '@console/shared';
import { Form } from '@patternfly/react-core';
import AppSection from '@console/dev-console/src/components/import/app/AppSection';
import { FirehoseList } from '@console/dev-console/src/components/import/import-types';
import { AsyncComponent } from '@console/internal/components/utils/async';
import CronJobSection from './event-sources/CronJobSection';
import SinkBindingSection from './event-sources/SinkBindingSection';
import ApiServerSection from './event-sources/ApiServerSection';
Expand All @@ -13,6 +14,15 @@ import { EventSources } from './import-types';
import EventSourcesSelector from './event-sources/EventSourcesSelector';
import { useEventSourceList } from '../../utils/create-eventsources-utils';

export const NameValueEditorComponent = (props) => (
<AsyncComponent
loader={() =>
import('@console/internal/components/utils/name-value-editor').then((c) => c.NameValueEditor)
}
{...props}
/>
);

interface OwnProps {
namespace: string;
projects: FirehoseList;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ import * as fuzzy from 'fuzzysearch';
import { useFormikContext, FormikValues } from 'formik';
import { FormGroup } from '@patternfly/react-core';
import { ServiceAccountModel } from '@console/internal/models';
import { NameValueEditor } from '@console/internal/components/utils/name-value-editor';
import { ResourceDropdownField, DropdownField, getFieldId } from '@console/shared';
import FormSection from '@console/dev-console/src/components/import/section/FormSection';
import { NameValueEditorComponent } from '../EventSourceForm';

interface ApiServerSectionProps {
namespace: string;
Expand Down Expand Up @@ -62,7 +62,7 @@ const ApiServerSection: React.FC<ApiServerSectionProps> = ({ namespace }) => {
return (
<FormSection title="ApiServerSource">
<FormGroup fieldId={fieldId} label="Resource" isRequired>
<NameValueEditor
<NameValueEditorComponent
nameValuePairs={nameValue}
valueString="kind"
nameString="apiVersion"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ import * as _ from 'lodash';
import { useFormikContext, FormikValues } from 'formik';
import { TextInputTypes, FormGroup } from '@patternfly/react-core';
import { InputField, getFieldId } from '@console/shared';
import { NameValueEditor } from '@console/internal/components/utils/name-value-editor';
import FormSection from '@console/dev-console/src/components/import/section/FormSection';
import { NameValueEditorComponent } from '../EventSourceForm';

const SinkBindingSection: React.FC = () => {
const { values, setFieldValue } = useFormikContext<FormikValues>();
Expand Down Expand Up @@ -47,7 +47,7 @@ const SinkBindingSection: React.FC = () => {
required
/>
<FormGroup fieldId={fieldId} label="Match Labels">
<NameValueEditor
<NameValueEditorComponent
nameValuePairs={nameValue}
valueString="Value"
nameString="Name"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import * as React from 'react';
import { shallow } from 'enzyme';
import { ResourceDropdownField } from '@console/shared';
import { NameValueEditor } from '@console/internal/components/utils/name-value-editor';
import FormSection from '@console/dev-console/src/components/import/section/FormSection';
import ApiServerSection from '../ApiServerSection';
import { NameValueEditorComponent } from '../../EventSourceForm';

jest.mock('formik', () => ({
useField: jest.fn(() => [{}, {}]),
Expand All @@ -26,7 +26,7 @@ describe('ApiServerSection', () => {

it('should render NameValueEditor', () => {
const wrapper = shallow(<ApiServerSection namespace="test-project" />);
const nameValueEditorField = wrapper.find(NameValueEditor);
const nameValueEditorField = wrapper.find(NameValueEditorComponent);
expect(nameValueEditorField).toHaveLength(1);
expect(nameValueEditorField.props().nameString).toBe('apiVersion');
expect(nameValueEditorField.props().valueString).toBe('kind');
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import * as React from 'react';
import { shallow, ShallowWrapper } from 'enzyme';
import { InputField } from '@console/shared';
import { NameValueEditor } from '@console/internal/components/utils/name-value-editor';
import FormSection from '@console/dev-console/src/components/import/section/FormSection';
import SinkBindingSection from '../SinkBindingSection';
import { NameValueEditorComponent } from '../../EventSourceForm';

type SinkBindingSectionProps = React.ComponentProps<typeof SinkBindingSection>;

Expand All @@ -30,7 +30,7 @@ describe('SinkBindingSection', () => {
});

it('should render NameValueEditor', () => {
const nameValueEditorField = wrapper.find(NameValueEditor);
const nameValueEditorField = wrapper.find(NameValueEditorComponent);
expect(nameValueEditorField).toHaveLength(1);
expect(nameValueEditorField.props().nameString).toBe('Name');
expect(nameValueEditorField.props().valueString).toBe('Value');
Expand Down

0 comments on commit 387091b

Please sign in to comment.