Skip to content

Commit

Permalink
update test IDS
Browse files Browse the repository at this point in the history
  • Loading branch information
Gkrumbach07 committed Oct 7, 2024
1 parent 6ca06d2 commit ea2516c
Show file tree
Hide file tree
Showing 4 changed files with 47 additions and 45 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -14,19 +14,19 @@ class PipelineImportModal extends Modal {
}

find() {
return cy.findByTestId('upload-version-modal').parents('div[role="dialog"]');
return cy.findByTestId('import-pipeline-modal').parents('div[role="dialog"]');
}

findSubmitButton() {
return this.findFooter().findByRole('button', { name: 'Upload', hidden: true });
}

findVersionNameInput() {
return this.find().findByTestId('pipeline-version-name');
return this.find().findByTestId('pipeline-name');
}

findVersionDescriptionInput() {
return this.find().findByTestId('pipeline-version-description');
return this.find().findByTestId('pipeline-description');
}

findUploadPipelineInput() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ import {
TextArea,
TextInput,
} from '@patternfly/react-core';
import { DebouncedFunc } from 'lodash-es';
import { usePipelinesAPI } from '~/concepts/pipelines/context';
import { PipelineKFv2, PipelineVersionKFv2 } from '~/concepts/pipelines/kfTypes';
import { getDisplayNameFromK8sResource } from '~/concepts/k8s/utils';
Expand All @@ -20,6 +19,7 @@ import {
PIPELINE_ARGO_ERROR,
} from '~/concepts/pipelines/content/const';
import { UpdateObjectAtPropAndValue } from '~/pages/projects/types';
import useDebounceCallback from '~/utilities/useDebounceCallback';
import { PipelineUploadOption, extractKindFromPipelineYAML } from './utils';
import PipelineUploadRadio from './PipelineUploadRadio';
import { PipelineImportData } from './useImportModalData';
Expand All @@ -35,7 +35,7 @@ export type PipelineImportBaseProps = {
setData: UpdateObjectAtPropAndValue<PipelineImportData>;
resetData: () => void;
submitAction: () => Promise<PipelineKFv2 | PipelineVersionKFv2>;
checkForDuplicateName: DebouncedFunc<(value: string) => Promise<boolean>>;
checkForDuplicateName: (value: string) => Promise<boolean>;
children?: React.ReactNode;
};

Expand Down Expand Up @@ -74,14 +74,24 @@ const PipelineImportBase: React.FC<PipelineImportBaseProps> = ({
[onClose, resetData, data.pipeline],
);

const debouncedCheckForDuplicateName = useDebounceCallback(
React.useCallback(
async (value: string) => {
const isDuplicate = await checkForDuplicateName(value);
setHasDuplicateName(!!isDuplicate);
},
[checkForDuplicateName],
),
500,
);

const handleNameChange = React.useCallback(
async (value: string) => {
setHasDuplicateName(false);
setData('name', value);
const isDuplicate = await checkForDuplicateName(value);
setHasDuplicateName(!!isDuplicate);
debouncedCheckForDuplicateName(value);
},
[checkForDuplicateName, setData],
[debouncedCheckForDuplicateName, setData],
);

const onSubmit = () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import { useNavigate } from 'react-router-dom';
import { usePipelinesAPI } from '~/concepts/pipelines/context';
import { PipelineKFv2 } from '~/concepts/pipelines/kfTypes';
import { pipelineVersionDetailsRoute } from '~/routes';
import useDebounceCallback from '~/utilities/useDebounceCallback';
import { getNameEqualsFilter } from '~/concepts/pipelines/utils';
import { usePipelineImportModalData } from './useImportModalData';
import PipelineImportBase from './PipelineImportBase';
Expand All @@ -25,6 +24,8 @@ const PipelineImportModal: React.FC<PipelineImportModalProps> = ({

const handleClose = React.useCallback(
async (pipeline?: PipelineKFv2) => {
onClose(pipeline);

if (pipeline && redirectAfterImport) {
const { pipeline_versions: versions } = await api.listPipelineVersions(
{},
Expand All @@ -39,7 +40,6 @@ const PipelineImportModal: React.FC<PipelineImportModalProps> = ({
navigate(pipelineVersionDetailsRoute(namespace, pipeline.pipeline_id, versionId));
}
}
onClose(pipeline);
},
[api, namespace, redirectAfterImport, navigate, onClose],
);
Expand Down Expand Up @@ -67,24 +67,21 @@ const PipelineImportModal: React.FC<PipelineImportModalProps> = ({
);
}, [api, modalData]);

const checkForDuplicateName = useDebounceCallback(
React.useCallback(
async (value: string) => {
if (value) {
const { pipelines: duplicatePipelines } = await api.listPipelines(
{},
getNameEqualsFilter(value),
);
const checkForDuplicateName = React.useCallback(
async (value: string) => {
if (value) {
const { pipelines: duplicatePipelines } = await api.listPipelines(
{},
getNameEqualsFilter(value),
);

if (duplicatePipelines?.length) {
return true;
}
if (duplicatePipelines?.length) {
return true;
}
return false;
},
[api],
),
500,
}
return false;

Check warning on line 82 in frontend/src/concepts/pipelines/content/import/PipelineImportModal.tsx

View check run for this annotation

Codecov / codecov/patch

frontend/src/concepts/pipelines/content/import/PipelineImportModal.tsx#L82

Added line #L82 was not covered by tests
},
[api],
);

return (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import { FormGroup, StackItem } from '@patternfly/react-core';
import { usePipelinesAPI } from '~/concepts/pipelines/context';
import { PipelineKFv2, PipelineVersionKFv2 } from '~/concepts/pipelines/kfTypes';
import PipelineSelector from '~/concepts/pipelines/content/pipelineSelector/PipelineSelector';
import useDebounceCallback from '~/utilities/useDebounceCallback';
import { getNameEqualsFilter } from '~/concepts/pipelines/utils';
import { generatePipelineVersionName, PipelineUploadOption } from './utils';
import { usePipelineVersionImportModalData } from './useImportModalData';
Expand All @@ -22,27 +21,23 @@ const PipelineVersionImportModal: React.FC<PipelineVersionImportModalProps> = ({
const { api } = usePipelinesAPI();
const [modalData, setData, resetData] = usePipelineVersionImportModalData(existingPipeline);

const checkForDuplicateName = useDebounceCallback(
React.useCallback(
async (value: string) => {
if (modalData.pipeline?.pipeline_id && value) {
const { pipeline_versions: duplicateVersions } = await api.listPipelineVersions(
{},
modalData.pipeline.pipeline_id,
getNameEqualsFilter(value),
);
const checkForDuplicateName = React.useCallback(
async (value: string) => {
if (modalData.pipeline?.pipeline_id && value) {
const { pipeline_versions: duplicateVersions } = await api.listPipelineVersions(
{},
modalData.pipeline.pipeline_id,
getNameEqualsFilter(value),
);

if (duplicateVersions?.length) {
return true;
}
if (duplicateVersions?.length) {
return true;
}
return false;
},
[api, modalData.pipeline?.pipeline_id],
),
500,
}
return false;

Check warning on line 37 in frontend/src/concepts/pipelines/content/import/PipelineVersionImportModal.tsx

View check run for this annotation

Codecov / codecov/patch

frontend/src/concepts/pipelines/content/import/PipelineVersionImportModal.tsx#L37

Added line #L37 was not covered by tests
},
[api, modalData.pipeline?.pipeline_id],
);

const submitAction = React.useCallback(() => {
const { name, description, fileContents, pipelineUrl, uploadOption, pipeline } = modalData;
const pipelineId = pipeline?.pipeline_id || '';
Expand Down

0 comments on commit ea2516c

Please sign in to comment.