feat: Create temporary user helper function

- Add a helper function that creates and log into a temporary user. So
it doesn't affect other users and tests and the test can more easily be
retried with a 'fresh' state instead of a broken state.
- Adjust the Webauthn test to make use of this.
- Relevant: #5291, #5394
This commit is contained in:
Gusted 2024-10-19 22:40:08 +02:00
parent b76d7a2b2d
commit 0b92d6e0ba
No known key found for this signature in database
GPG key ID: FD821B732837125F
2 changed files with 25 additions and 8 deletions

View file

@ -80,3 +80,24 @@ export async function save_visual(page) {
});
}
}
// Create a temporary user and login to that user and store session info.
// This should ideally run on a per test basis.
export async function create_temp_user(browser, workerInfo, request) {
const username = globalThis.crypto.randomUUID();
const newUser = await request.post(`/api/v1/admin/users`, {
headers: {
'Content-Type': 'application/json',
'Authorization': `Basic ${btoa(`user1:${LOGIN_PASSWORD}`)}`,
},
data: {
username,
email: `${username}@host.invalid`,
password: LOGIN_PASSWORD,
must_change_password: false,
},
});
expect(newUser.ok()).toBeTruthy();
return {context: await login_user(browser, workerInfo, username), username};
}