Skip to content

Commit fe96958

Browse files
Move Cluster Operation Mode from domain page metadata component to helper (#1009)
Move Cluster Operation Mode from domain page metadata component to helper, so that it can also be reused in the domain page header.
1 parent 9da6513 commit fe96958

File tree

7 files changed

+43
-47
lines changed

7 files changed

+43
-47
lines changed

src/views/domain-page/config/domain-page-header-info-items.config.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import {
33
type DomainHeaderInfoItemContentProps,
44
type DomainPageHeaderInfoItemsConfig,
55
} from '../domain-page-header-info/domain-page-header-info.types';
6+
import getClusterOperationMode from '../helpers/get-cluster-operation-mode';
67

78
const domainPageHeaderInfoItemsConfig = [
89
{
@@ -11,9 +12,9 @@ const domainPageHeaderInfoItemsConfig = [
1112
placeholderSize: '120px',
1213
},
1314
{
14-
title: 'Global/Local',
15+
title: 'Mode',
1516
getLabel: (props: DomainHeaderInfoItemContentProps) =>
16-
props.domainDescription.isGlobalDomain ? 'Global' : 'Local',
17+
getClusterOperationMode(props.domainDescription),
1718
placeholderSize: '64px',
1819
},
1920
{

src/views/domain-page/config/domain-page-metadata-extended-table.config.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ import { createElement } from 'react';
33
import DomainPageMetadataClusters from '../domain-page-metadata-clusters/domain-page-metadata-clusters';
44
import DomainPageMetadataDescription from '../domain-page-metadata-description/domain-page-metadata-description';
55
import DomainPageMetadataFailoverVersion from '../domain-page-metadata-failover-version/domain-page-metadata-failover-version';
6-
import DomainPageMetadataMode from '../domain-page-metadata-mode/domain-page-metadata-mode';
76
import { type MetadataItem } from '../domain-page-metadata-table/domain-page-metadata-table.types';
87
import DomainPageMetadataViewJson from '../domain-page-metadata-view-json/domain-page-metadata-view-json';
8+
import getClusterOperationMode from '../helpers/get-cluster-operation-mode';
99

1010
const domainPageMetadataExtendedTableConfig = [
1111
{
@@ -47,7 +47,7 @@ const domainPageMetadataExtendedTableConfig = [
4747
description: 'Domain operation mode in multi-cluster setup',
4848
kind: 'simple',
4949
getValue: ({ domainDescription }) =>
50-
createElement(DomainPageMetadataMode, domainDescription),
50+
getClusterOperationMode(domainDescription),
5151
},
5252
{
5353
key: 'failoverVersion',

src/views/domain-page/config/domain-page-metadata-table.config.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ import type { ListTableItem } from '@/components/list-table/list-table.types';
22

33
import DomainPageMetadataClusters from '../domain-page-metadata-clusters/domain-page-metadata-clusters';
44
import DomainPageMetadataFailoverVersion from '../domain-page-metadata-failover-version/domain-page-metadata-failover-version';
5-
import DomainPageMetadataMode from '../domain-page-metadata-mode/domain-page-metadata-mode';
65
import { type DomainDescription } from '../domain-page.types';
6+
import getClusterOperationMode from '../helpers/get-cluster-operation-mode';
77

88
const domainPageMetadataTableConfig: Array<ListTableItem<DomainDescription>> = [
99
{
@@ -25,7 +25,8 @@ const domainPageMetadataTableConfig: Array<ListTableItem<DomainDescription>> = [
2525
{
2626
key: 'mode',
2727
label: 'Mode',
28-
renderValue: DomainPageMetadataMode,
28+
renderValue: (domainDescription: DomainDescription) =>
29+
getClusterOperationMode(domainDescription),
2930
},
3031
{
3132
key: 'failoverVersion',

src/views/domain-page/domain-page-header-info/__tests__/domain-page-header-info.test.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ describe(DomainPageHeaderInfo.name, () => {
7272
expect(
7373
screen.getByTestId('mock-domain-cluster-selector')
7474
).toBeInTheDocument();
75-
expect(screen.getByText('Global')).toBeInTheDocument();
75+
expect(screen.getByText('Active-Passive')).toBeInTheDocument();
7676
expect(screen.getByText('mock-domain-staging-uuid')).toBeInTheDocument();
7777
});
7878
});

src/views/domain-page/domain-page-metadata-mode/__tests__/domain-page-metadata-mode.test.tsx

Lines changed: 0 additions & 38 deletions
This file was deleted.
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import { mockActiveActiveDomain } from '@/views/shared/active-active/__fixtures__/active-active-domain';
2+
3+
import {
4+
mockDomainDescription,
5+
mockDomainDescriptionSingleCluster,
6+
} from '../../__fixtures__/domain-description';
7+
import getClusterOperationMode from '../get-cluster-operation-mode';
8+
9+
jest.mock('@/views/shared/active-active/helpers/is-active-active-domain');
10+
11+
describe(getClusterOperationMode.name, () => {
12+
it('returns Active-Active when domain is active-active', () => {
13+
expect(getClusterOperationMode(mockActiveActiveDomain)).toBe(
14+
'Active-Active'
15+
);
16+
});
17+
18+
it('returns Active-Passive when domain is global but not active-active', () => {
19+
expect(getClusterOperationMode(mockDomainDescription)).toBe(
20+
'Active-Passive'
21+
);
22+
});
23+
24+
it('returns Local when domain is not global', () => {
25+
const nonGlobalDomain = {
26+
...mockDomainDescriptionSingleCluster,
27+
isGlobalDomain: false,
28+
};
29+
30+
expect(getClusterOperationMode(nonGlobalDomain)).toBe('Local');
31+
});
32+
});

src/views/domain-page/domain-page-metadata-mode/domain-page-metadata-mode.tsx renamed to src/views/domain-page/helpers/get-cluster-operation-mode.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ import isActiveActiveDomain from '@/views/shared/active-active/helpers/is-active
22

33
import { type DomainDescription } from '../domain-page.types';
44

5-
export default function DomainPageMetadataMode(
5+
export default function getClusterOperationMode(
66
domainDescription: DomainDescription
7-
) {
7+
): string {
88
if (isActiveActiveDomain(domainDescription)) {
99
return 'Active-Active';
1010
}

0 commit comments

Comments
 (0)