Files
threshold-ui/e2e-tests/helpers/boundary-http/auth-methods.js
T
Tony aa7eb2e844 test: 💍 Add admin UI test for change passsword flow (#2920)
* 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
2025-07-10 11:26:52 -04:00

37 lines
1012 B
JavaScript

/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: BUSL-1.1
*/
import { nanoid } from 'nanoid';
import { checkResponse } from './responseHelper.js';
/**
* Creates a new auth method
* @param {import('@playwright/test').APIRequestContext} request
* @param {string} orgId
* @returns {Promise<Serializable>}
*/
export async function createPasswordAuthMethod(request, orgId) {
const response = await request.post(`/v1/auth-methods`, {
data: {
scope_id: orgId,
name: `Auth Method ${nanoid()}`,
description: 'Generated via API from automated test',
type: 'password',
},
});
return checkResponse(response);
}
/**
* Deletes an auth method
* @param {import('@playwright/test').APIRequestContext} request
* @param {string} authMethodId
* @returns {Promise<Serializable>}
*/
export async function deleteAuthMethod(request, authMethodId) {
const response = await request.delete(`/v1/auth-methods/${authMethodId}`);
return checkResponse(response, true);
}