@umbraco/playwright-testhelpers
Version:
Test helpers for making playwright tests for Umbraco solutions
62 lines • 2.32 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.MemberGroupApiHelper = void 0;
class MemberGroupApiHelper {
api;
constructor(api) {
this.api = api;
}
async get(id) {
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/member-group/' + id);
return await response.json();
}
async create(name, id) {
const memberGroupData = {
"name": name,
"id": id ? id : null,
};
const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/member-group', memberGroupData);
return response.headers().location.split("v1/member-group/").pop();
}
async rename(id, name) {
const memberGroupData = {
"name": name
};
return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/member-group/' + id, memberGroupData);
}
async delete(id) {
return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/member-group/' + id);
}
async getAll() {
return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/member-group/root?skip=0&take=10000');
}
async doesExist(id) {
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/member-group/' + id);
return response.status() === 200;
}
async doesNameExist(name) {
return await this.getByName(name);
}
async getByName(name) {
const rootMemberGroups = await this.getAll();
const jsonMemberGroups = await rootMemberGroups.json();
for (const memberGroup of jsonMemberGroups.items) {
if (memberGroup.name === name) {
return this.get(memberGroup.id);
}
}
return false;
}
async ensureNameNotExists(name) {
const rootMemberGroups = await this.getAll();
const jsonMemberGroups = await rootMemberGroups.json();
for (const memberGroup of jsonMemberGroups.items) {
if (memberGroup.name === name) {
return this.delete(memberGroup.id);
}
}
return null;
}
}
exports.MemberGroupApiHelper = MemberGroupApiHelper;
//# sourceMappingURL=MemberGroupApiHelper.js.map