@umbraco/playwright-testhelpers
Version:
Test helpers for making playwright tests for Umbraco solutions
89 lines • 3.34 kB
JavaScript
"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