Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit4c0314a

Browse files
committed
site: fix some tests
1 parent56f0410 commit4c0314a

File tree

1 file changed

+100
-51
lines changed

1 file changed

+100
-51
lines changed

‎site/src/api/api.test.ts

Lines changed: 100 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
import{
22
MockTemplate,
3+
MockTemplateVersion2,
34
MockTemplateVersionParameter1,
45
MockTemplateVersionParameter2,
56
MockWorkspace,
7+
MockStoppedWorkspace,
68
MockWorkspaceBuild,
79
MockWorkspaceBuildParameter1,
810
}from"testHelpers/entities";
@@ -171,65 +173,112 @@ describe("api.ts", () => {
171173
});
172174

173175
describe("update",()=>{
174-
it("creates a build with start and the latest template",async()=>{
175-
jest
176-
.spyOn(API,"postWorkspaceBuild")
177-
.mockResolvedValueOnce(MockWorkspaceBuild);
178-
jest.spyOn(API,"getTemplate").mockResolvedValueOnce(MockTemplate);
179-
awaitAPI.updateWorkspace(MockWorkspace);
180-
expect(API.postWorkspaceBuild).toHaveBeenCalledWith(MockWorkspace.id,{
181-
transition:"start",
182-
template_version_id:MockTemplate.active_version_id,
183-
rich_parameter_values:[],
176+
describe("given a running workspace",()=>{
177+
it("stops with current version before starting with the latest version",async()=>{
178+
jest.spyOn(API,"postWorkspaceBuild").mockResolvedValueOnce({
179+
...MockWorkspaceBuild,
180+
transition:"stop",
181+
});
182+
jest.spyOn(API,"postWorkspaceBuild").mockResolvedValueOnce({
183+
...MockWorkspaceBuild,
184+
template_version_id:MockTemplateVersion2.id,
185+
transition:"start",
186+
});
187+
jest.spyOn(API,"getTemplate").mockResolvedValueOnce({
188+
...MockTemplate,
189+
active_version_id:MockTemplateVersion2.id,
190+
});
191+
awaitAPI.updateWorkspace(MockWorkspace);
192+
expect(API.postWorkspaceBuild).toHaveBeenCalledWith(MockWorkspace.id,{
193+
transition:"stop",
194+
log_level:undefined,
195+
});
196+
expect(API.postWorkspaceBuild).toHaveBeenCalledWith(MockWorkspace.id,{
197+
transition:"start",
198+
template_version_id:MockTemplateVersion2.id,
199+
rich_parameter_values:[],
200+
});
184201
});
185-
});
186202

187-
it("fails when having missing parameters",async()=>{
188-
jest
189-
.spyOn(API,"postWorkspaceBuild")
190-
.mockResolvedValue(MockWorkspaceBuild);
191-
jest.spyOn(API,"getTemplate").mockResolvedValue(MockTemplate);
192-
jest.spyOn(API,"getWorkspaceBuildParameters").mockResolvedValue([]);
193-
jest
194-
.spyOn(API,"getTemplateVersionRichParameters")
195-
.mockResolvedValue([
203+
it("fails when having missing parameters",async()=>{
204+
jest
205+
.spyOn(API,"postWorkspaceBuild")
206+
.mockResolvedValue(MockWorkspaceBuild);
207+
jest.spyOn(API,"getTemplate").mockResolvedValue(MockTemplate);
208+
jest.spyOn(API,"getWorkspaceBuildParameters").mockResolvedValue([]);
209+
jest
210+
.spyOn(API,"getTemplateVersionRichParameters")
211+
.mockResolvedValue([
212+
MockTemplateVersionParameter1,
213+
{ ...MockTemplateVersionParameter2,mutable:false},
214+
]);
215+
216+
leterror=newError();
217+
try{
218+
awaitAPI.updateWorkspace(MockWorkspace);
219+
}catch(e){
220+
error=easError;
221+
}
222+
223+
expect(error).toBeInstanceOf(MissingBuildParameters);
224+
// Verify if the correct missing parameters are being passed
225+
expect((errorasMissingBuildParameters).parameters).toEqual([
196226
MockTemplateVersionParameter1,
197227
{ ...MockTemplateVersionParameter2,mutable:false},
198228
]);
229+
});
199230

200-
leterror=newError();
201-
try{
231+
it("creates a build with no parameters if it is already filled",async()=>{
232+
jest.spyOn(API,"postWorkspaceBuild").mockResolvedValueOnce({
233+
...MockWorkspaceBuild,
234+
transition:"stop",
235+
});
236+
jest.spyOn(API,"postWorkspaceBuild").mockResolvedValueOnce({
237+
...MockWorkspaceBuild,
238+
template_version_id:MockTemplateVersion2.id,
239+
transition:"start",
240+
});
241+
jest.spyOn(API,"getTemplate").mockResolvedValueOnce(MockTemplate);
242+
jest
243+
.spyOn(API,"getWorkspaceBuildParameters")
244+
.mockResolvedValue([MockWorkspaceBuildParameter1]);
245+
jest.spyOn(API,"getTemplateVersionRichParameters").mockResolvedValue([
246+
{
247+
...MockTemplateVersionParameter1,
248+
required:true,
249+
mutable:false,
250+
},
251+
]);
202252
awaitAPI.updateWorkspace(MockWorkspace);
203-
}catch(e){
204-
error=easError;
205-
}
206-
207-
expect(error).toBeInstanceOf(MissingBuildParameters);
208-
// Verify if the correct missing parameters are being passed
209-
expect((errorasMissingBuildParameters).parameters).toEqual([
210-
MockTemplateVersionParameter1,
211-
{ ...MockTemplateVersionParameter2,mutable:false},
212-
]);
253+
expect(API.postWorkspaceBuild).toHaveBeenCalledWith(MockWorkspace.id,{
254+
transition:"stop",
255+
log_level:undefined,
256+
});
257+
expect(API.postWorkspaceBuild).toHaveBeenCalledWith(MockWorkspace.id,{
258+
transition:"start",
259+
template_version_id:MockTemplate.active_version_id,
260+
rich_parameter_values:[],
261+
});
262+
});
213263
});
214-
215-
it("creates a build with the no parameters if it is already filled",async()=>{
216-
jest
217-
.spyOn(API,"postWorkspaceBuild")
218-
.mockResolvedValueOnce(MockWorkspaceBuild);
219-
jest.spyOn(API,"getTemplate").mockResolvedValueOnce(MockTemplate);
220-
jest
221-
.spyOn(API,"getWorkspaceBuildParameters")
222-
.mockResolvedValue([MockWorkspaceBuildParameter1]);
223-
jest
224-
.spyOn(API,"getTemplateVersionRichParameters")
225-
.mockResolvedValue([
226-
{ ...MockTemplateVersionParameter1,required:true,mutable:false},
227-
]);
228-
awaitAPI.updateWorkspace(MockWorkspace);
229-
expect(API.postWorkspaceBuild).toHaveBeenCalledWith(MockWorkspace.id,{
230-
transition:"start",
231-
template_version_id:MockTemplate.active_version_id,
232-
rich_parameter_values:[],
264+
describe("given a stopped workspace",()=>{
265+
it("creates a build with start and the latest template",async()=>{
266+
jest
267+
.spyOn(API,"postWorkspaceBuild")
268+
.mockResolvedValueOnce(MockWorkspaceBuild);
269+
jest.spyOn(API,"getTemplate").mockResolvedValueOnce({
270+
...MockTemplate,
271+
active_version_id:MockTemplateVersion2.id,
272+
});
273+
awaitAPI.updateWorkspace(MockStoppedWorkspace);
274+
expect(API.postWorkspaceBuild).toHaveBeenCalledWith(
275+
MockStoppedWorkspace.id,
276+
{
277+
transition:"start",
278+
template_version_id:MockTemplateVersion2.id,
279+
rich_parameter_values:[],
280+
},
281+
);
233282
});
234283
});
235284
});

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp