diff --git a/x-pack/plugins/ml/public/application/trained_models/models_management/pipelines/pipelines.tsx b/x-pack/plugins/ml/public/application/trained_models/models_management/pipelines/pipelines.tsx index 0465d5638d4a5..6ea883ed84706 100644 --- a/x-pack/plugins/ml/public/application/trained_models/models_management/pipelines/pipelines.tsx +++ b/x-pack/plugins/ml/public/application/trained_models/models_management/pipelines/pipelines.tsx @@ -57,6 +57,7 @@ export const ModelPipelines: FC = ({ pipelines, ingestStats extraAction={ pipelineDefinition ? ( { const locator = share.url.locators.get('INGEST_PIPELINES_APP_LOCATOR'); if (!locator) return; @@ -81,7 +82,7 @@ export const ModelPipelines: FC = ({ pipelines, ingestStats > {ingestStats?.pipelines ? ( - +
@@ -98,7 +99,7 @@ export const ModelPipelines: FC = ({ pipelines, ingestStats ) : null} {pipelineDefinition ? ( - +
diff --git a/x-pack/test/functional/apps/ml/model_management/model_list.ts b/x-pack/test/functional/apps/ml/model_management/model_list.ts index bd6d5eca64bce..aef8f1d95302d 100644 --- a/x-pack/test/functional/apps/ml/model_management/model_list.ts +++ b/x-pack/test/functional/apps/ml/model_management/model_list.ts @@ -69,7 +69,9 @@ export default function ({ getService }: FtrProviderContext) { await ml.trainedModelsTable.assertDetailsTabContent(); await ml.trainedModelsTable.assertInferenceConfigTabContent(); await ml.trainedModelsTable.assertStatsTabContent(); - await ml.trainedModelsTable.assertPipelinesTabContent(); + await ml.trainedModelsTable.assertPipelinesTabContent(true, [ + { pipelineName: `pipeline_${modelWithPipelineData.modelId}`, expectDefinition: true }, + ]); }); it('renders expanded row content correctly for model without pipelines', async () => { @@ -182,7 +184,9 @@ export default function ({ getService }: FtrProviderContext) { await ml.trainedModelsTable.assertDetailsTabContent(); await ml.trainedModelsTable.assertInferenceConfigTabContent(); await ml.trainedModelsTable.assertStatsTabContent(); - await ml.trainedModelsTable.assertPipelinesTabContent(false); + await ml.trainedModelsTable.assertPipelinesTabContent(true, [ + { pipelineName: `pipeline_${modelWithPipelineData.modelId}`, expectDefinition: false }, + ]); }); }); }); diff --git a/x-pack/test/functional/services/ml/trained_models_table.ts b/x-pack/test/functional/services/ml/trained_models_table.ts index 1ad65658bc20c..1f35d7d1f6d39 100644 --- a/x-pack/test/functional/services/ml/trained_models_table.ts +++ b/x-pack/test/functional/services/ml/trained_models_table.ts @@ -249,8 +249,23 @@ export function TrainedModelsTableProvider({ getService }: FtrProviderContext) { await this.assertTabContent('stats', expectVisible); } - public async assertPipelinesTabContent(expectVisible = true) { + public async assertPipelinesTabContent( + expectVisible = true, + pipelinesExpectOptions?: Array<{ pipelineName: string; expectDefinition: boolean }> + ) { await this.assertTabContent('pipelines', expectVisible); + + if (Array.isArray(pipelinesExpectOptions)) { + for (const p of pipelinesExpectOptions) { + if (p.expectDefinition) { + await testSubjects.existOrFail(`mlTrainedModelPipelineEditButton_${p.pipelineName}`); + await testSubjects.existOrFail(`mlTrainedModelPipelineDefinition_${p.pipelineName}`); + } else { + await testSubjects.missingOrFail(`mlTrainedModelPipelineEditButton_${p.pipelineName}`); + await testSubjects.missingOrFail(`mlTrainedModelPipelineDefinition_${p.pipelineName}`); + } + } + } } })(); }