UNPKG

@umbraco/playwright-testhelpers

Version:

Test helpers for making playwright tests for Umbraco solutions

62 lines 2.32 kB
"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