* test: 💍 Add admin UI test for change passsword flow This PR adds a test to the Admin UI e2e test suite to validate the workflow of changing user password from settings menu ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-17173 * refactor: 💡 create resources via REST API ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-17173 * refactor: 💡 consistent code structure, comments ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-17173 * refactor: 💡 code structure consistency ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-17173 * refactor: 💡 removed version parameter from boundary-http funcs ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-17173 * refactor: 💡 rm unneeded params from https makeAuthMethodPrimary ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-17173 * refactor: 💡 rm ui login step ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-17173
42 lines
1.0 KiB
JavaScript
42 lines
1.0 KiB
JavaScript
/**
|
|
* Copyright (c) HashiCorp, Inc.
|
|
* SPDX-License-Identifier: BUSL-1.1
|
|
*/
|
|
|
|
import { nanoid } from 'nanoid';
|
|
import { checkResponse } from './responseHelper.js';
|
|
|
|
/**
|
|
* Create a new user
|
|
* @param {import('@playwright/test').APIRequestContext} request
|
|
* @param {string} orgId
|
|
* @returns {Promise<Serializable>}
|
|
*/
|
|
export async function createUser(request, orgId) {
|
|
const response = await request.post(`/v1/users`, {
|
|
data: {
|
|
scope_id: orgId,
|
|
name: `User ${nanoid()}`,
|
|
description: 'Generated via API from automated test',
|
|
},
|
|
});
|
|
return checkResponse(response);
|
|
}
|
|
|
|
/**
|
|
* Add account to user
|
|
* @param {import('@playwright/test').APIRequestContext} request
|
|
* @param {string} userId
|
|
* @param {string} accountId
|
|
* @returns {Promise<Serializable>}
|
|
*/
|
|
export async function addAccountsToUser(request, { user, accountIds }) {
|
|
const response = await request.post(`/v1/users/${user.id}:add-accounts`, {
|
|
data: {
|
|
account_ids: accountIds,
|
|
version: user.version,
|
|
},
|
|
});
|
|
return checkResponse(response);
|
|
}
|