Skip to content

Commit d4878e0

Browse files
authored
fix(web): completion step fails for V3 upgrades (#3108)
1 parent e151b83 commit d4878e0

File tree

9 files changed

+58
-343
lines changed

9 files changed

+58
-343
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
import React from "react";
2-
import Card from "../../common/Card";
3-
import { useInitialState } from "../../../contexts/InitialStateContext";
4-
import { useSettings } from "../../../contexts/SettingsContext";
2+
import Card from "../common/Card";
3+
import { useWizard } from "../../contexts/WizardModeContext";
4+
import { useSettings } from "../../contexts/SettingsContext";
55
import { CheckCircle } from "lucide-react";
66

7-
const KubernetesCompletionStep: React.FC = () => {
8-
const { title } = useInitialState();
9-
const { settings: { themeColor } } = useSettings();
7+
const CompletionStep: React.FC = () => {
8+
const { settings } = useSettings();
9+
const { text } = useWizard();
10+
const themeColor = settings.themeColor;
1011

11-
// Success state
1212
return (
1313
<div className="space-y-6">
1414
<Card>
@@ -17,8 +17,8 @@ const KubernetesCompletionStep: React.FC = () => {
1717
<div className="w-16 h-16 rounded-full flex items-center justify-center mb-4">
1818
<CheckCircle className="w-10 h-10" style={{ color: themeColor }} />
1919
</div>
20-
<p className="text-gray-600 mt-2 mb-6" data-testid="completion-message">
21-
Visit the Admin Console to configure and install {title}
20+
<p className="text-gray-600 mt-2" data-testid="completion-message">
21+
{text.completion}
2222
</p>
2323
</div>
2424
</div>
@@ -27,4 +27,4 @@ const KubernetesCompletionStep: React.FC = () => {
2727
);
2828
};
2929

30-
export default KubernetesCompletionStep;
30+
export default CompletionStep;

web/src/components/wizard/InstallWizard.tsx

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ import ConfigurationStep from "./config/ConfigurationStep";
55
import LinuxSetupStep from "./setup/LinuxSetupStep";
66
import KubernetesSetupStep from "./setup/KubernetesSetupStep";
77
import InstallationStep from "./installation/InstallationStep";
8-
import LinuxCompletionStep from "./completion/LinuxCompletionStep";
9-
import KubernetesCompletionStep from "./completion/KubernetesCompletionStep";
8+
import CompletionStep from "./CompletionStep";
109
import { WizardStep } from "../../types";
1110
import { AppIcon } from "../common/Logo";
1211
import { useWizard } from "../../contexts/WizardModeContext";
@@ -52,9 +51,9 @@ const InstallWizard: React.FC = () => {
5251
case "installation":
5352
return <InstallationStep onNext={goToNextStep} onBack={goToPreviousStep} />;
5453
case "linux-completion":
55-
return <LinuxCompletionStep />;
54+
return <CompletionStep />;
5655
case "kubernetes-completion":
57-
return <KubernetesCompletionStep />;
56+
return <CompletionStep />;
5857
default:
5958
return null;
6059
}

web/src/components/wizard/completion/LinuxCompletionStep.tsx

Lines changed: 0 additions & 78 deletions
This file was deleted.
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
import { describe, it, expect } from "vitest";
2+
import { screen } from "@testing-library/react";
3+
import { renderWithProviders } from "../../../test/setup.tsx";
4+
import CompletionStep from "../CompletionStep.tsx";
5+
6+
describe.each([
7+
{ target: "kubernetes" as const, mode: "install" as const, displayName: "Kubernetes Install" },
8+
{ target: "linux" as const, mode: "install" as const, displayName: "Linux Install" },
9+
{ target: "kubernetes" as const, mode: "upgrade" as const, displayName: "Kubernetes Upgrade" },
10+
{ target: "linux" as const, mode: "upgrade" as const, displayName: "Linux Upgrade" }
11+
])("CompletionStep - $displayName", ({ target, mode }) => {
12+
it("renders completion message", () => {
13+
renderWithProviders(<CompletionStep />, {
14+
wrapperProps: {
15+
authenticated: true,
16+
target,
17+
mode,
18+
},
19+
});
20+
21+
// Check that the completion message is displayed
22+
const message = screen.getByTestId("completion-message");
23+
expect(message).toBeInTheDocument();
24+
// Check message is not empty
25+
expect(message).toBeTruthy();
26+
});
27+
28+
it("renders success icon", () => {
29+
renderWithProviders(<CompletionStep />, {
30+
wrapperProps: {
31+
authenticated: true,
32+
target,
33+
mode,
34+
},
35+
});
36+
37+
// Check that the CheckCircle icon is rendered (via its container)
38+
const message = screen.getByTestId("completion-message");
39+
expect(message).toBeInTheDocument();
40+
});
41+
});

web/src/components/wizard/tests/KubernetesCompletionStep.test.tsx

Lines changed: 0 additions & 59 deletions
This file was deleted.

0 commit comments

Comments
 (0)