All files / modules/75-cd/pages/pipeline-deployment-list CDPipelineDeploymentList.tsx

100% Statements 20/20
72.73% Branches 16/22
100% Functions 2/2
100% Lines 20/20

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58              1x 1x 1x   1x 1x 1x 1x 1x   1x   4x   3x 3x 3x   3x 1x   3x           3x                     3x   3x   3x                
/*
 * Copyright 2021 Harness Inc. All rights reserved.
 * Use of this source code is governed by the PolyForm Shield 1.0.0 license
 * that can be found in the licenses directory at the root of this repository, also available at
 * https://polyformproject.org/wp-content/uploads/2020/06/PolyForm-Shield-1.0.0.txt.
 */
 
import React from 'react'
import { useParams } from 'react-router-dom'
import PipelineDeploymentList from '@pipeline/pages/pipeline-deployment-list/PipelineDeploymentList'
import type { GitQueryParams, PipelinePathProps, PipelineType } from '@common/interfaces/RouteInterfaces'
import { useStrings } from 'framework/strings'
import { useGetPipelineSummary } from 'services/pipeline-ng'
import { useDocumentTitle } from '@common/hooks/useDocumentTitle'
import { useQueryParams } from '@common/hooks'
import { useRunPipelineModal } from '@pipeline/components/RunPipelineModal/useRunPipelineModal'
 
export default function CDPipelineDeploymentList(): React.ReactElement {
  const { pipelineIdentifier, orgIdentifier, projectIdentifier, accountId } =
    useParams<PipelineType<PipelinePathProps>>()
 
  const { branch, repoIdentifier } = useQueryParams<GitQueryParams>()
  const { getString } = useStrings()
  useDocumentTitle([getString('pipelines'), getString('executionsText')])
 
  const onRunPipeline = (): void => {
    openRunPipelineModal()
  }
  const { openRunPipelineModal } = useRunPipelineModal({
    pipelineIdentifier,
    repoIdentifier,
    branch
  })
 
  const { data: pipeline } = useGetPipelineSummary({
    pipelineIdentifier,
    queryParams: {
      accountIdentifier: accountId,
      orgIdentifier,
      projectIdentifier,
      repoIdentifier,
      branch
    }
  })
 
  const isPipelineInvalid = pipeline?.data?.entityValidityDetails?.valid === false
 
  useDocumentTitle([pipeline?.data?.name || getString('pipelines'), getString('executionsText')])
 
  return (
    <PipelineDeploymentList
      showHealthAndExecution
      onRunPipeline={onRunPipeline}
      isPipelineInvalid={isPipelineInvalid}
    />
  )
}