UNPKG

@umbraco/playwright-testhelpers

Version:

Test helpers for making playwright tests for Umbraco solutions

89 lines 3.34 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MemberApiHelper = void 0; const json_models_builders_1 = require("@umbraco/json-models-builders"); class MemberApiHelper { api; constructor(api) { this.api = api; } async get(id) { const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/member/' + id); return await response.json(); } async create(member) { if (member == null) { return; } const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/member', member); return response.headers().location.split("v1/member/").pop(); } async delete(id) { if (id == null) { return; } const response = await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/member/' + id); return response.status(); } async getAll() { return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/filter/member?skip=0&take=1000'); } async filterByMemberTypeId(memberTypeId) { return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/filter/member?memberTypeId=' + memberTypeId + '&orderBy=username&skip=0&take=100'); } async doesExist(id) { const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/member/' + id); return response.status() === 200; } async doesNameExist(name) { return await this.getByName(name); } async getByName(name) { const rootMembers = await this.getAll(); const jsonMembers = await rootMembers.json(); for (const member of jsonMembers.items) { if (member.variants[0].name === name) { return await this.get(member.id); } } return false; } async ensureNameNotExists(name) { const rootMembers = await this.getAll(); const jsonMembers = await rootMembers.json(); for (const member of jsonMembers.items) { if (member.variants[0].name === name) { return await this.delete(member.id); } } return null; } async createDefaultMember(memberName, memberTypeId, email, username, password) { await this.ensureNameNotExists(memberName); const member = new json_models_builders_1.MemberBuilder() .addVariant() .withName(memberName) .done() .withEmail(email) .withUsername(username) .withPassword(password) .withMemberTypeId(memberTypeId) .build(); return await this.create(member); } async createMemberWithMemberGroup(memberName, memberTypeId, email, username, password, memberGroupId) { const member = new json_models_builders_1.MemberBuilder() .addVariant() .withName(memberName) .done() .withEmail(email) .withUsername(username) .withPassword(password) .withMemberTypeId(memberTypeId) .addGroup(memberGroupId) .build(); return await this.create(member); } } exports.MemberApiHelper = MemberApiHelper; //# sourceMappingURL=MemberApiHelper.js.map