UNPKG

@umbraco/playwright-testhelpers

Version:

Test helpers for making playwright tests for Umbraco solutions

122 lines 4.55 kB
"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