diff --git a/packages/oss-console/src/components/Breadcrumbs/async/utils/index.ts b/packages/oss-console/src/components/Breadcrumbs/async/utils/index.ts index ecfc8aee1..da5add6f0 100644 --- a/packages/oss-console/src/components/Breadcrumbs/async/utils/index.ts +++ b/packages/oss-console/src/components/Breadcrumbs/async/utils/index.ts @@ -67,7 +67,7 @@ export const getExecutionSpecProjectDomain = ( ? breadcrumb.projectId : executionSpecIdentifier.project; const domain = - breadcrumb.projectId === executionSpecIdentifier.domain + breadcrumb.domainId === executionSpecIdentifier.domain ? breadcrumb.domainId : executionSpecIdentifier.domain; diff --git a/packages/oss-console/src/components/Breadcrumbs/async/utils/tests/getExecutionSpecProjectDomain.test.ts b/packages/oss-console/src/components/Breadcrumbs/async/utils/tests/getExecutionSpecProjectDomain.test.ts new file mode 100644 index 000000000..c8d99f332 --- /dev/null +++ b/packages/oss-console/src/components/Breadcrumbs/async/utils/tests/getExecutionSpecProjectDomain.test.ts @@ -0,0 +1,33 @@ +import { getExecutionSpecProjectDomain } from '..'; +import { BreadcrumbFormControlInterface } from '../../../types'; +import { DomainIdentifierScope } from '../../../../../models/Common/types'; + +describe('getExecutionSpecProjectDomain', () => { + const breadcrumb = { projectId: 'production', domainId: 'staging' } as BreadcrumbFormControlInterface; + + it('returns the execution spec project and domain', () => { + const executionSpecIdentifier = { + project: 'my-project', + domain: 'development', + } as DomainIdentifierScope; + + expect(getExecutionSpecProjectDomain(executionSpecIdentifier, breadcrumb)).toEqual({ + project: 'my-project', + domain: 'development', + }); + }); + + it('returns the execution domain when a project is named after a domain', () => { + // breadcrumb.projectId ('production') matches the execution's domain, which is the case the + // domain branch compares against. + const executionSpecIdentifier = { + project: 'my-project', + domain: 'production', + } as DomainIdentifierScope; + + expect(getExecutionSpecProjectDomain(executionSpecIdentifier, breadcrumb)).toEqual({ + project: 'my-project', + domain: 'production', + }); + }); +});