feat: [AH-1118]: fix routing issue of adding org and project id in version overview pages (#3577)

* feat: [AH-1118]: fix routing issue of adding org and project id in version overview pages
main
Shivanand Sonnad 2025-03-20 06:01:54 +00:00 committed by Harness
parent 7bbd5cdef1
commit 83cf33bbb2
3 changed files with 23 additions and 10 deletions

View File

@ -294,13 +294,13 @@ describe('Verify DockerVersionHeader component render', () => {
const sscaTab = container.querySelector('div[data-tab-id=supply_chain]')
await userEvent.click(sscaTab!)
expect(mockHistoryPush).toHaveBeenLastCalledWith(
'/registries/undefined/artifacts/undefined/versions/undefined/orgs/default/projects/default_project/artifact-sources/67a5dccf6d75916b0c3ea1b5/artifacts/67a5dccf6d75916b0c3ea1b6/supply_chain?digest=sha256:144cdab68a435424250fe06e9a4f8a5f6b6b8a8a55d257bc6ee77476a6ec520d'
'/registries/artifacts/versions/orgs/default/projects/default_project/artifact-sources/67a5dccf6d75916b0c3ea1b5/artifacts/67a5dccf6d75916b0c3ea1b6/supply_chain?digest=sha256:144cdab68a435424250fe06e9a4f8a5f6b6b8a8a55d257bc6ee77476a6ec520d'
)
const stoTab = container.querySelector('div[data-tab-id=security_tests]')
await userEvent.click(stoTab!)
expect(mockHistoryPush).toHaveBeenLastCalledWith(
'/registries/undefined/artifacts/undefined/versions/undefined/orgs/default/projects/default_project/pipelines/HARNESS_ARTIFACT_SCAN_PIPELINE/executions/Tbi7s6nETjmOMKU3Qrnm7A/security_tests?digest=sha256:144cdab68a435424250fe06e9a4f8a5f6b6b8a8a55d257bc6ee77476a6ec520d'
'/registries/artifacts/versions/orgs/default/projects/default_project/pipelines/HARNESS_ARTIFACT_SCAN_PIPELINE/executions/Tbi7s6nETjmOMKU3Qrnm7A/security_tests?digest=sha256:144cdab68a435424250fe06e9a4f8a5f6b6b8a8a55d257bc6ee77476a6ec520d'
)
})
@ -335,13 +335,13 @@ describe('Verify DockerVersionHeader component render', () => {
const sscaTab = container.querySelector('div[data-tab-id=supply_chain]')
await userEvent.click(sscaTab!)
expect(mockHistoryPush).toHaveBeenLastCalledWith(
'/registries/undefined/artifacts/undefined/versions/undefined/orgs/default/projects/default_project/supply_chain?digest=sha256:144cdab68a435424250fe06e9a4f8a5f6b6b8a8a55d257bc6ee77476a6ec520d'
'/registries/artifacts/versions/orgs/default/projects/default_project/supply_chain?digest=sha256:144cdab68a435424250fe06e9a4f8a5f6b6b8a8a55d257bc6ee77476a6ec520d'
)
const stoTab = container.querySelector('div[data-tab-id=security_tests]')
await userEvent.click(stoTab!)
expect(mockHistoryPush).toHaveBeenLastCalledWith(
'/registries/undefined/artifacts/undefined/versions/undefined/orgs/default/projects/default_project/security_tests?digest=sha256:144cdab68a435424250fe06e9a4f8a5f6b6b8a8a55d257bc6ee77476a6ec520d'
'/registries/artifacts/versions/orgs/default/projects/default_project/security_tests?digest=sha256:144cdab68a435424250fe06e9a4f8a5f6b6b8a8a55d257bc6ee77476a6ec520d'
)
})
})

View File

@ -78,9 +78,11 @@ export default function VersionOverviewCards(props: VersionOverviewCardsProps) {
const handleRedirectToTab = (tab: VersionDetailsTab, options: RedirectToTabOptions = {}) => {
let url = routes.toARVersionDetailsTab({
...pathParams,
...options,
versionTab: tab
versionIdentifier: pathParams.versionIdentifier,
artifactIdentifier: pathParams.artifactIdentifier,
repositoryIdentifier: pathParams.repositoryIdentifier,
versionTab: tab,
...options
})
if (digest) {
url = `${url}?digest=${digest}`

View File

@ -67,7 +67,9 @@ export default function VersionDetailsTabs(): JSX.Element {
switch (nextTab) {
case VersionDetailsTab.SUPPLY_CHAIN:
newRoute = routes.toARVersionDetailsTab({
...pathParams,
versionIdentifier: pathParams.versionIdentifier,
artifactIdentifier: pathParams.artifactIdentifier,
repositoryIdentifier: pathParams.repositoryIdentifier,
versionTab: nextTab,
sourceId: data?.sscaArtifactSourceId,
artifactId: data?.sscaArtifactId,
@ -77,7 +79,9 @@ export default function VersionDetailsTabs(): JSX.Element {
break
case VersionDetailsTab.SECURITY_TESTS:
newRoute = routes.toARVersionDetailsTab({
...pathParams,
versionIdentifier: pathParams.versionIdentifier,
artifactIdentifier: pathParams.artifactIdentifier,
repositoryIdentifier: pathParams.repositoryIdentifier,
versionTab: nextTab,
executionIdentifier: data?.stoExecutionId,
pipelineIdentifier: data?.stoPipelineId,
@ -114,7 +118,14 @@ export default function VersionDetailsTabs(): JSX.Element {
</Container>
<Switch>
<RouteProvider exact path={routeDefinitions.toARVersionDetails({ ...versionDetailsPathParams })}>
<Redirect to={routes.toARVersionDetailsTab({ ...pathParams, versionTab: VersionDetailsTab.OVERVIEW })} />
<Redirect
to={routes.toARVersionDetailsTab({
versionIdentifier: pathParams.versionIdentifier,
artifactIdentifier: pathParams.artifactIdentifier,
repositoryIdentifier: pathParams.repositoryIdentifier,
versionTab: VersionDetailsTab.OVERVIEW
})}
/>
</RouteProvider>
<RouteProvider
exact