UNPKG

angles-javascript-client

Version:

This is the javascript client for the Angles Dashboard. It allows you to store your test results.

124 lines 4.26 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.ScreenshotRequests = void 0; const form_data_1 = __importDefault(require("form-data")); const BaseRequests_1 = require("./BaseRequests"); class ScreenshotRequests extends BaseRequests_1.BaseRequests { constructor(axiosInstance) { super(axiosInstance); } saveScreenshot(storeScreenshot) { const path = require('path'); const fs = require('fs'); const formData = new form_data_1.default(); const { buildId, view, timestamp, tags, platform } = storeScreenshot; formData.append("buildId", buildId); formData.append("view", view); formData.append("timestamp", timestamp.toISOString()); if (tags) formData.append("tags", JSON.stringify(tags)); if (platform) { Object.entries(platform).forEach(([key, value]) => { formData.append(key, value); }); } const fullPath = path.resolve(storeScreenshot.filePath); const fileName = path.basename(fullPath); const fileStream = fs.createReadStream(fullPath); formData.append('screenshot', fileStream, fileName); return this.post(`screenshot/`, formData, { headers: formData.getHeaders(), }); } /** * Retrieves the screenshots for a specified build * @param {string} buildId * @param {number} [limit=100] */ getScreenshotsForBuild(buildId, limit) { const params = { buildId }; if (limit) { params.limit = limit; } return this.get(`screenshot/`, { params, }); } getScreenshots(screenshotIds) { return this.get('screenshot/', { params: { screenshotIds: screenshotIds.join(',') } }); } getScreenshotViews(view, limit) { return this.get('screenshot/views', { params: { view, limit, } }); } getScreenshotTags(tag, limit) { return this.get('screenshot/tags', { params: { tag, limit, } }); } getScreenshotHistoryByView(view, platformId, limit, offset) { return this.get('/screenshot/', { params: { view, platformId, limit, offset, }, }); } getScreenshotsGroupedByPlatform(view, numberOfDays) { return this.get('screenshot/grouped/platform', { params: { view, numberOfDays }, }); } getScreenshotsGroupedByTag(tag, numberOfDays) { return this.get('screenshot/grouped/tag', { params: { tag, numberOfDays }, }); } getScreenshot(screenshotId) { return this.get(`screenshot/${screenshotId}`); } deleteScreenshot(screenshotId) { return this.delete(`screenshot/${screenshotId}`); } // TODO: Update screenshot getScreenshotImage(screenshotId) { return this.get(`screenshot/${screenshotId}/image`, { responseType: 'arraybuffer' }); } getDynamicBaselineImage(screenshotId, numberOfImagesToCompare) { let path = `screenshot/${screenshotId}/dynamic-baseline`; if (numberOfImagesToCompare && numberOfImagesToCompare > 0) { path = `${path}?numberOfImagesToCompare=${numberOfImagesToCompare}`; } return this.get(path); } // TODO: Get screenshot compare Resemblejs JSON // TODO: get screenshot compare Resemblejs Image getBaselineCompareImage(screenshotId, cache) { const useCache = cache || false; return this.get(`screenshot/${screenshotId}/baseline/compare/image/`, { params: { useCache }, responseType: 'arraybuffer' }); } getBaselineCompare(screenshotId) { return this.get(`screenshot/${screenshotId}/baseline/compare/`); } } exports.ScreenshotRequests = ScreenshotRequests; //# sourceMappingURL=ScreenshotRequests.js.map