Skip to content

Commit c8c9dc4

Browse files
committed
more stories
1 parent 2a000dc commit c8c9dc4

File tree

3 files changed

+83
-60
lines changed

3 files changed

+83
-60
lines changed

site/src/pages/WorkspacePage/WorkspaceActions/WorkspaceActions.stories.tsx

+66-40
Original file line numberDiff line numberDiff line change
@@ -34,103 +34,128 @@ export const Running: Story = {
3434
},
3535
};
3636

37-
export const Stopping: Story = {
37+
export const RunningUpdateAvailable: Story = {
38+
name: "Running (Update available)",
3839
args: {
39-
workspace: Mocks.MockStoppingWorkspace,
40+
workspace: {
41+
...Mocks.MockWorkspace,
42+
outdated: true,
43+
},
4044
},
4145
};
4246

43-
export const Stopped: Story = {
47+
export const RunningRequireActiveVersion: Story = {
48+
name: "Running (No required update)",
4449
args: {
45-
workspace: Mocks.MockStoppedWorkspace,
50+
workspace: {
51+
...Mocks.MockWorkspace,
52+
template_require_active_version: true,
53+
},
4654
},
4755
};
4856

49-
export const Canceling: Story = {
57+
export const RunningUpdateRequired: Story = {
58+
name: "Running (Update Required)",
5059
args: {
51-
workspace: Mocks.MockCancelingWorkspace,
60+
workspace: {
61+
...Mocks.MockWorkspace,
62+
template_require_active_version: true,
63+
outdated: true,
64+
},
5265
},
5366
};
5467

55-
export const Canceled: Story = {
68+
export const Stopping: Story = {
5669
args: {
57-
workspace: Mocks.MockCanceledWorkspace,
70+
workspace: Mocks.MockStoppingWorkspace,
5871
},
5972
};
6073

61-
export const Deleting: Story = {
74+
export const Stopped: Story = {
6275
args: {
63-
workspace: Mocks.MockDeletingWorkspace,
76+
workspace: Mocks.MockStoppedWorkspace,
6477
},
6578
};
6679

67-
export const Deleted: Story = {
80+
export const StoppedUpdateAvailable: Story = {
81+
name: "Stopped (Update available)",
6882
args: {
69-
workspace: Mocks.MockDeletedWorkspace,
83+
workspace: {
84+
...Mocks.MockStoppedWorkspace,
85+
outdated: true,
86+
},
7087
},
7188
};
7289

73-
export const Outdated: Story = {
90+
export const StoppedRequireActiveVersion: Story = {
91+
name: "Stopped (No required update)",
7492
args: {
75-
workspace: Mocks.MockOutdatedWorkspace,
93+
workspace: {
94+
...Mocks.MockStoppedWorkspace,
95+
template_require_active_version: true,
96+
},
7697
},
7798
};
7899

79-
export const Failed: Story = {
100+
export const StoppedUpdateRequired: Story = {
101+
name: "Stopped (Update Required)",
80102
args: {
81-
workspace: Mocks.MockFailedWorkspace,
103+
workspace: {
104+
...Mocks.MockStoppedWorkspace,
105+
template_require_active_version: true,
106+
outdated: true,
107+
},
82108
},
83109
};
84110

85-
export const FailedWithDebug: Story = {
111+
export const Updating: Story = {
86112
args: {
87-
workspace: Mocks.MockFailedWorkspace,
88-
canDebug: true,
113+
workspace: Mocks.MockOutdatedWorkspace,
114+
isUpdating: true,
89115
},
90116
};
91117

92-
export const Updating: Story = {
118+
export const Restarting: Story = {
93119
args: {
94-
isUpdating: true,
95-
workspace: Mocks.MockOutdatedWorkspace,
120+
workspace: Mocks.MockStoppingWorkspace,
121+
isRestarting: true,
96122
},
97123
};
98124

99-
export const RequireActiveVersionStarted: Story = {
125+
export const Canceling: Story = {
100126
args: {
101-
workspace: Mocks.MockOutdatedRunningWorkspaceRequireActiveVersion,
102-
canChangeVersions: false,
127+
workspace: Mocks.MockCancelingWorkspace,
103128
},
104129
};
105130

106-
export const RequireActiveVersionStarting: Story = {
131+
export const Deleting: Story = {
107132
args: {
108-
workspace: {
109-
...Mocks.MockStartingWorkspace,
110-
template_require_active_version: true,
111-
},
112-
canChangeVersions: false,
133+
workspace: Mocks.MockDeletingWorkspace,
134+
},
135+
};
136+
137+
export const Deleted: Story = {
138+
args: {
139+
workspace: Mocks.MockDeletedWorkspace,
113140
},
114141
};
115142

116-
export const RequireActiveVersionStopped: Story = {
143+
export const Outdated: Story = {
117144
args: {
118-
workspace: Mocks.MockOutdatedStoppedWorkspaceRequireActiveVersion,
119-
canChangeVersions: false,
145+
workspace: Mocks.MockOutdatedWorkspace,
120146
},
121147
};
122148

123-
export const AlwaysUpdateStarted: Story = {
149+
export const Failed: Story = {
124150
args: {
125-
workspace: Mocks.MockOutdatedRunningWorkspaceAlwaysUpdate,
126-
canChangeVersions: true,
151+
workspace: Mocks.MockFailedWorkspace,
127152
},
128153
};
129154

130-
export const AlwaysUpdateStopped: Story = {
155+
export const FailedWithDebug: Story = {
131156
args: {
132-
workspace: Mocks.MockOutdatedStoppedWorkspaceAlwaysUpdate,
133-
canChangeVersions: true,
157+
workspace: Mocks.MockFailedWorkspace,
158+
canDebug: true,
134159
},
135160
};
136161

@@ -143,6 +168,7 @@ export const CancelShownForOwner: Story = {
143168
isOwner: true,
144169
},
145170
};
171+
146172
export const CancelShownForUser: Story = {
147173
args: {
148174
workspace: Mocks.MockStartingWorkspace,

site/src/pages/WorkspacePage/WorkspaceActions/constants.ts

+17-16
Original file line numberDiff line numberDiff line change
@@ -53,13 +53,6 @@ export const abilitiesByWorkspaceStatus = (
5353
}
5454

5555
const status = workspace.latest_build.status;
56-
if (status === "failed" && canDebug) {
57-
return {
58-
actions: ["retry", "debug"],
59-
canCancel: false,
60-
canAcceptJobs: true,
61-
};
62-
}
6356

6457
switch (status) {
6558
case "starting": {
@@ -120,6 +113,14 @@ export const abilitiesByWorkspaceStatus = (
120113
};
121114
}
122115
case "failed": {
116+
if (canDebug) {
117+
return {
118+
actions: ["retry", "debug"],
119+
canCancel: false,
120+
canAcceptJobs: true,
121+
};
122+
}
123+
123124
return {
124125
actions: ["retry"],
125126
canCancel: false,
@@ -128,6 +129,13 @@ export const abilitiesByWorkspaceStatus = (
128129
}
129130

130131
// Disabled states
132+
case "pending": {
133+
return {
134+
actions: ["pending"],
135+
canCancel: false,
136+
canAcceptJobs: false,
137+
};
138+
}
131139
case "canceling": {
132140
return {
133141
actions: ["canceling"],
@@ -149,15 +157,8 @@ export const abilitiesByWorkspaceStatus = (
149157
canAcceptJobs: false,
150158
};
151159
}
152-
case "pending": {
153-
return {
154-
actions: ["pending"],
155-
canCancel: false,
156-
canAcceptJobs: false,
157-
};
158-
}
159-
default: {
160+
161+
default:
160162
throw new Error(`Unknown workspace status: ${status}`);
161-
}
162163
}
163164
};

site/src/testHelpers/entities.ts

-4
Original file line numberDiff line numberDiff line change
@@ -1175,10 +1175,6 @@ export const MockOutdatedRunningWorkspaceRequireActiveVersion: TypesGen.Workspac
11751175
id: "test-outdated-workspace-require-active-version",
11761176
outdated: true,
11771177
template_require_active_version: true,
1178-
latest_build: {
1179-
...MockWorkspaceBuild,
1180-
status: "running",
1181-
},
11821178
};
11831179

11841180
export const MockOutdatedRunningWorkspaceAlwaysUpdate: TypesGen.Workspace = {

0 commit comments

Comments
 (0)