Skip to content

Commit

Permalink
Merge pull request #2703 from DaoDaoNoCode/jira-rhoaieng-4258
Browse files Browse the repository at this point in the history
Fix issue when selecting a pipeline without version on the clone run page
  • Loading branch information
openshift-merge-bot[bot] authored Apr 11, 2024
2 parents 4ab9c17 + 3dc524c commit e120a40
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,10 @@ import { configIntercept, dspaIntercepts, projectsIntercept } from './intercepts

const projectName = 'test-project-name';
const mockPipeline = buildMockPipelineV2();
const mockNoVersionPipeline = buildMockPipelineV2({
pipeline_id: 'no-version-pipeline',
display_name: 'No version pipeline',
});
const mockPipelineVersion = buildMockPipelineVersionV2({ pipeline_id: mockPipeline.pipeline_id });
const pipelineVersionRef = {
pipeline_id: mockPipeline.pipeline_id,
Expand Down Expand Up @@ -173,8 +177,9 @@ describe('Pipeline create runs', () => {

// Mock experiments, pipelines & versions for form select dropdowns
cloneRunPage.mockGetExperiments(mockExperiments);
cloneRunPage.mockGetPipelines([mockPipeline]);
cloneRunPage.mockGetPipelines([mockPipeline, mockNoVersionPipeline]);
cloneRunPage.mockGetPipelineVersions([mockPipelineVersion], mockPipelineVersion.pipeline_id);
cloneRunPage.mockGetPipelineVersions([], mockNoVersionPipeline.pipeline_id);
cloneRunPage.mockGetRun(mockRun);
cloneRunPage.mockGetPipelineVersion(mockPipelineVersion);
cloneRunPage.mockGetPipeline(mockPipeline);
Expand All @@ -199,6 +204,13 @@ describe('Pipeline create runs', () => {
paramsSection.findParamById('neighbors').find('input').should('have.value', '1');
paramsSection.findParamById('standard_scaler').should('have.value', 'false');

// Verify switch to a no-version pipeline will show the correct result
cloneRunPage.findPipelineSelect().click();
cloneRunPage.selectPipelineByName(mockNoVersionPipeline.display_name);
cloneRunPage.findPipelineVersionSelect().should('be.disabled');

cloneRunPage.findPipelineSelect().click();
cloneRunPage.selectPipelineByName(mockPipeline.display_name);
cloneRunPage.mockCreateRun(mockPipelineVersion, mockDuplicateRun).as('duplicateRun');
cloneRunPage.submit();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ const useUpdatePipelineFormData = (
setFormValue('pipeline', pipeline);
}

if (!formData.version && version) {
if (!formData.version && version && formData.pipeline?.pipeline_id === pipeline?.pipeline_id) {
setFormValue('version', version);
}
}, [formData.pipeline, formData.version, pipeline, setFormValue, version]);
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/concepts/pipelines/content/createRun/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ const runTypeSafeDates = (runType: RunFormData['runType']): boolean =>
export const isFilledRunFormData = (formData: RunFormData): formData is SafeRunFormData => {
const inputDefinitionParams = getInputDefinitionParams(formData.version);
const hasRequiredInputParams = Object.entries(formData.params || {}).every(
([paramKey, paramValue]) => inputDefinitionParams?.[paramKey].isOptional || paramValue !== '',
([paramKey, paramValue]) => inputDefinitionParams?.[paramKey]?.isOptional || paramValue !== '',
);

return (
Expand Down

0 comments on commit e120a40

Please sign in to comment.