Skip to content

Commit cbde920

Browse files
authored
Cherry pick locations fix (#346)
1 parent c2f0abf commit cbde920

File tree

6 files changed

+52
-7
lines changed

6 files changed

+52
-7
lines changed

apps/infra/VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3.2.8-dev
1+
3.2.8

apps/infra/deploy/Chart.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ apiVersion: v2
44
name: orch-ui-infra
55
description: Deploy the Edge-Native Software Platform Infrastructure pod
66
type: application
7-
version: 3.2.8-dev
7+
version: 3.2.8
88
# Default appVersion will be overwritten by a the build to use the version from package.json.
99

10-
appVersion: "3.2.8-dev"
10+
appVersion: "3.2.8"
1111
dependencies: []
1212
annotations: {}

apps/infra/src/components/organism/locations/SiteView/SiteView.cy.tsx

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import { SiteViewPom } from "./SiteView.pom";
1111
const pom = new SiteViewPom();
1212
describe("<SiteView/>", () => {
1313
it("should render component", () => {
14+
pom.interceptApis([pom.api.getSite]);
1415
cy.mount(<SiteView />, {
1516
reduxStore: setupStore({
1617
locations: {
@@ -21,10 +22,12 @@ describe("<SiteView/>", () => {
2122
}),
2223
});
2324

25+
pom.waitForApis();
2426
pom.root.should("exist");
2527
});
2628

2729
it("should render all info correctly when the site is valid", () => {
30+
pom.interceptApis([pom.api.getSite]);
2831
pom.metrics.interceptApis([pom.metrics.api.getRegionTelemetryMetrics]);
2932
pom.logs.interceptApis([pom.logs.api.getRegionTelemetryLogs]);
3033

@@ -38,6 +41,7 @@ describe("<SiteView/>", () => {
3841
}),
3942
});
4043

44+
pom.waitForApis();
4145
pom.metrics.waitForApis();
4246
pom.logs.waitForApis();
4347

@@ -50,6 +54,7 @@ describe("<SiteView/>", () => {
5054
});
5155

5256
it("should render actions button by default when hideActions prop is not passed", () => {
57+
pom.interceptApis([pom.api.getSite]);
5358
pom.metrics.interceptApis([pom.metrics.api.getRegionTelemetryMetrics]);
5459
pom.logs.interceptApis([pom.logs.api.getRegionTelemetryLogs]);
5560

@@ -63,12 +68,14 @@ describe("<SiteView/>", () => {
6368
}),
6469
});
6570

71+
pom.waitForApis();
6672
pom.metrics.waitForApis();
6773
pom.logs.waitForApis();
6874
pom.siteActionsPopup.el.siteActionsBtn.should("exist");
6975
});
7076

7177
it("should not render actions button when hideActions prop is passed as true", () => {
78+
pom.interceptApis([pom.api.getSite]);
7279
pom.metrics.interceptApis([pom.metrics.api.getRegionTelemetryMetrics]);
7380
pom.logs.interceptApis([pom.logs.api.getRegionTelemetryLogs]);
7481

@@ -82,6 +89,7 @@ describe("<SiteView/>", () => {
8289
}),
8390
});
8491

92+
pom.waitForApis();
8593
pom.metrics.waitForApis();
8694
pom.logs.waitForApis();
8795
pom.siteActionsPopup.el.siteActionsBtn.should("not.exist");

apps/infra/src/components/organism/locations/SiteView/SiteView.pom.ts

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,35 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
import { CyPom } from "@orch-ui/tests";
6+
import { infra } from "@orch-ui/apis";
7+
import { CyApiDetails, CyPom, defaultActiveProject } from "@orch-ui/tests";
8+
import { siteRestaurantTwo } from "@orch-ui/utils";
79
import { SiteActionsPopupPom } from "../../../../components/atom/locations/SiteActionsPopup/SiteActionsPopup.pom";
810
import { TelemetryProfileLogsPom } from "../../../../components/molecules/locations/TelemetryProfileLogs/TelemetryProfileLogs.pom";
911
import { TelemetryProfileMetricsPom } from "../../../../components/molecules/locations/TelemetryProfileMetrics/TelemetryProfileMetrics.pom";
1012

1113
const dataCySelectors = ["siteName", "siteRegion"] as const;
1214
type Selectors = (typeof dataCySelectors)[number];
1315

14-
export class SiteViewPom extends CyPom<Selectors> {
16+
type ApiAliases = "getSite";
17+
18+
const route = `**/v1/projects/${defaultActiveProject.name}/regions/${siteRestaurantTwo.region?.resourceId}/sites/${siteRestaurantTwo.resourceId}`;
19+
20+
const endpoints: CyApiDetails<ApiAliases, infra.SiteServiceGetSiteApiResponse> =
21+
{
22+
getSite: {
23+
route: route,
24+
statusCode: 200,
25+
response: siteRestaurantTwo,
26+
},
27+
};
28+
29+
export class SiteViewPom extends CyPom<Selectors, ApiAliases> {
1530
public metrics = new TelemetryProfileMetricsPom();
1631
public logs = new TelemetryProfileLogsPom();
1732
public siteActionsPopup = new SiteActionsPopupPom();
1833

1934
constructor(public rootCy: string = "siteView") {
20-
super(rootCy, [...dataCySelectors]);
35+
super(rootCy, [...dataCySelectors], endpoints);
2136
}
2237
}

apps/infra/src/components/organism/locations/SiteView/SiteView.tsx

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6+
import { infra } from "@orch-ui/apis";
67
import { Flex, SquareSpinner } from "@orch-ui/components";
8+
import { SharedStorage } from "@orch-ui/utils";
79
import { Heading } from "@spark-design/react";
810
import { DeploymentMetadata } from "../../../../components/atom/locations/DeploymentMetadata/DeploymentMetadata";
911
import { SiteActionsPopup } from "../../../../components/atom/locations/SiteActionsPopup/SiteActionsPopup";
@@ -22,9 +24,24 @@ interface SiteViewProps {
2224

2325
export const SiteView = ({ basePath, hideActions = false }: SiteViewProps) => {
2426
const cy = { "data-cy": dataCy };
25-
const site = useAppSelector(selectSite);
27+
const siteFromRedux = useAppSelector(selectSite);
2628
const className = "site-view";
2729

30+
const { data: site } = infra.useSiteServiceGetSiteQuery(
31+
{
32+
projectName: SharedStorage.project?.name ?? "",
33+
resourceId: siteFromRedux?.resourceId ?? "",
34+
regionResourceId: siteFromRedux?.region?.resourceId ?? "",
35+
},
36+
{
37+
skip:
38+
!siteFromRedux?.resourceId ||
39+
!siteFromRedux?.region?.resourceId ||
40+
!SharedStorage.project?.name,
41+
refetchOnMountOrArgChange: true,
42+
},
43+
);
44+
2845
if (!site) {
2946
return <SquareSpinner />;
3047
}

apps/infra/src/components/pages/region/RegionForm.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -487,6 +487,11 @@ const RegionForm: React.FC = () => {
487487

488488
await Promise.all(allPromises);
489489

490+
// Force tree refresh to show updated region data
491+
if (regionId !== "new") {
492+
localStorage.setItem("clearTree", "true");
493+
}
494+
490495
redirectToLocationsPage();
491496
} catch (error) {
492497
setErrorInfo(error);

0 commit comments

Comments
 (0)