qe-fe-automation
Version:
FE test automation framework using cypress
71 lines (68 loc) • 1.65 kB
text/typescript
import { IUserList, IUser } from '../interface/company';
import { IUserConfigs } from '../interface/configs';
import { HttpRequest, HttpStatusCodes, Accept } from '../utilities/api';
/**
* Get list of users
* @param authToken
* @param page
* @param size
* @param enabled
* @param roles
* @returns {IUserList} Information
*/
export function getUsersList(
authToken: string,
page = 0,
size = 10,
enabled = true,
roles?: string
): Cypress.Chainable<IUserList> {
return cy
.request({
method: HttpRequest.Get,
url: `api/admin/users`,
headers: {
Authorization: authToken,
Accept: Accept.ApplicationJson
},
retryOnStatusCodeFailure: true,
qs: {
page: page,
size: size,
enabled: enabled,
roles: roles
}
})
.then(({ body, status }) => {
expect(status, 'Users list returned').to.equal(HttpStatusCodes.Ok);
return body;
});
}
/**
* Update given user configurations
* @param authToken
* @param userUuid
* @param userConfigs
* @returns {IUser} Information
*/
export function updateUserConfigurations(
authToken: string,
userUuid: string,
userConfigs: IUserConfigs
): Cypress.Chainable<IUser> {
return cy
.request({
method: HttpRequest.Patch,
url: `api/admin/users/${userUuid}`,
headers: {
Authorization: authToken,
Accept: Accept.ApplicationJson
},
retryOnStatusCodeFailure: true,
body: userConfigs
})
.then(({ body, status }) => {
expect(status, 'User configurations updated').to.equal(HttpStatusCodes.Ok);
return body;
});
}