@umbraco/playwright-testhelpers
Version:
Test helpers for making playwright tests for Umbraco solutions
122 lines • 4.55 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.PackageApiHelper = void 0;
class PackageApiHelper {
api;
constructor(api) {
this.api = api;
}
async ensureNameNotExists(name) {
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/package/created?skip=0&take=10000');
const json = await response.json();
for (const sb of json.items) {
if (sb.name === name) {
if (sb.id !== null) {
return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/package/created/' + sb.id);
}
}
}
return null;
}
async doesExist(id) {
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/package/created/' + id);
return response.status() === 200;
}
async doesNameExist(name) {
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/package/created?skip=0&take=10000');
const json = await response.json();
if (name !== null) {
for (const sb of json.items) {
if (sb.name === name) {
return true;
}
}
}
return false;
}
async create(name, contentLoadChildNodes = false, mediaLoadChildNodes = false, contentNodeId, mediaIds, documentTypes, mediaTypes, dataTypes, templates, partialViews, stylesheets, scripts, languages, dictionaryItems) {
const packageData = {
"name": name,
"contentNodeId": contentNodeId,
"contentLoadChildNodes": contentLoadChildNodes,
"mediaIds": mediaIds,
"mediaLoadChildNodes": mediaLoadChildNodes,
"documentTypes": [
documentTypes
],
"mediaTypes": [
mediaTypes
],
"dataTypes": [
dataTypes
],
"templates": [
templates
],
"partialViews": [
partialViews
],
"stylesheets": [
stylesheets
],
"scripts": [
scripts
],
"languages": [
languages
],
"dictionaryItems": [
dictionaryItems
]
};
const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/package/created', packageData);
// Returns the id of the created package
return response.headers().location.split("/").pop();
}
async getByName(name) {
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/package/created?skip=0&take=10000');
const json = await response.json();
if (name !== null) {
for (const sb of json.items) {
if (sb.name === name) {
if (sb.id !== null) {
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/package/created/' + sb.id);
return await response.json();
}
}
}
}
return null;
}
async get(id) {
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/package/created/' + id);
const json = await response.json();
if (json !== null) {
return json;
}
return null;
}
async getAll() {
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/package/created?skip=0&take=10000');
const json = await response.json();
if (json !== null) {
return json;
}
return null;
}
async update(id, packageData) {
return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/package/created/' + id, packageData);
}
async delete(id) {
return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/package/created/' + id);
}
async download(id) {
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/package/created/' + id + '/download');
return await response.text();
}
async createEmptyPackage(name) {
return await this.create(name);
}
}
exports.PackageApiHelper = PackageApiHelper;
//# sourceMappingURL=PackageApiHelper.js.map