Skip to content

Commit 9878577

Browse files
committed
Fixed UserEditor test
1 parent 1a8cc7a commit 9878577

File tree

1 file changed

+69
-31
lines changed

1 file changed

+69
-31
lines changed

__tests__/v2/UserEditor.test.js

Lines changed: 69 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,39 @@ describe('UserEditor', () => {
6060
*/
6161
const mockSaveUser = vi.fn();
6262

63-
it('Update settings with slurm runner backend - success', async () => {
63+
it('Update settings with slurm_sudo runner backend - success', async () => {
64+
const mockRequest = /** @type {import('vitest').Mock} */ (fetch)
65+
.mockResolvedValueOnce({
66+
ok: true,
67+
status: 200,
68+
// mock profile
69+
json: () => new Promise((resolve) => resolve({ id: 1, resource_id: 1 }))
70+
})
71+
.mockResolvedValueOnce({
72+
ok: true,
73+
status: 200,
74+
// mock resources
75+
json: () => new Promise((resolve) => resolve([{ id: 1 }]))
76+
})
77+
.mockResolvedValueOnce({
78+
ok: true,
79+
status: 200,
80+
// mock profiles
81+
json: () => new Promise((resolve) => resolve([{ id: 1 }]))
82+
})
83+
.mockResolvedValueOnce({
84+
ok: true,
85+
status: 200,
86+
json: () =>
87+
new Promise((resolve) =>
88+
resolve({
89+
...initialSettings,
90+
slurm_user: 'user',
91+
project_dir: '/path/to/project/dir'
92+
})
93+
)
94+
});
95+
6496
const user = userEvent.setup();
6597

6698
render(UserEditor, {
@@ -72,19 +104,6 @@ describe('UserEditor', () => {
72104
}
73105
});
74106

75-
const mockRequest = /** @type {import('vitest').Mock} */ (fetch).mockResolvedValue({
76-
ok: true,
77-
status: 200,
78-
json: () =>
79-
new Promise((resolve) =>
80-
resolve({
81-
...initialSettings,
82-
slurm_user: 'user',
83-
project_dir: '/path/to/project/dir'
84-
})
85-
)
86-
});
87-
88107
await user.type(screen.getByRole('textbox', { name: 'Project dir' }), '/path/to/project/dir');
89108
await user.type(screen.getByRole('textbox', { name: 'SLURM user' }), 'user');
90109
await user.click(screen.getByRole('button', { name: 'Save' }));
@@ -108,6 +127,42 @@ describe('UserEditor', () => {
108127
});
109128

110129
it('Update settings with slurm_sudo runner backend - validation error', async () => {
130+
const mockRequest = /** @type {import('vitest').Mock} */ (fetch)
131+
.mockResolvedValueOnce({
132+
ok: true,
133+
status: 200,
134+
// mock profile
135+
json: () => new Promise((resolve) => resolve({ id: 1, resource_id: 1 }))
136+
})
137+
.mockResolvedValueOnce({
138+
ok: true,
139+
status: 200,
140+
// mock resources
141+
json: () => new Promise((resolve) => resolve([{ id: 1 }]))
142+
})
143+
.mockResolvedValueOnce({
144+
ok: true,
145+
status: 200,
146+
// mock profiles
147+
json: () => new Promise((resolve) => resolve([{ id: 1 }]))
148+
})
149+
.mockResolvedValue({
150+
ok: false,
151+
status: 422,
152+
json: () =>
153+
new Promise((resolve) =>
154+
resolve({
155+
detail: [
156+
{
157+
loc: ['body', 'project_dir'],
158+
msg: 'mocked_error',
159+
type: 'value_error'
160+
}
161+
]
162+
})
163+
)
164+
});
165+
111166
const user = userEvent.setup();
112167

113168
render(UserEditor, {
@@ -119,23 +174,6 @@ describe('UserEditor', () => {
119174
}
120175
});
121176

122-
const mockRequest = /** @type {import('vitest').Mock} */ (fetch).mockResolvedValue({
123-
ok: false,
124-
status: 422,
125-
json: () =>
126-
new Promise((resolve) =>
127-
resolve({
128-
detail: [
129-
{
130-
loc: ['body', 'project_dir'],
131-
msg: 'mocked_error',
132-
type: 'value_error'
133-
}
134-
]
135-
})
136-
)
137-
});
138-
139177
await user.type(screen.getByRole('textbox', { name: 'Project dir' }), 'xxx');
140178
await user.click(screen.getByRole('button', { name: 'Save' }));
141179
await screen.findByText('mocked_error');

0 commit comments

Comments
 (0)