UNPKG

@nova-ui/bits

Version:

SolarWinds Nova Framework

84 lines 3.58 kB
"use strict"; // © 2022 SolarWinds Worldwide, LLC. All rights reserved. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to // deal in the Software without restriction, including without limitation the // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or // sell copies of the Software, and to permit persons to whom the Software is // furnished to do so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in // all copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. Object.defineProperty(exports, "__esModule", { value: true }); exports.PercyLens = void 0; const tslib_1 = require("tslib"); const protractor_1 = require("protractor"); const types_1 = require("./types"); class PercyLens { constructor(browser, settings) { this.browser = browser; this.settings = settings; // eslint-disable-next-line @typescript-eslint/no-require-imports this.percySnapshot = require("@percy/protractor"); this.percyConfig = Object.assign({}, types_1.PERCY_DEFAULT_CONFIG); } takeSnapshot(label) { return tslib_1.__awaiter(this, void 0, void 0, function* () { this.checkSettings(); yield this.percySnapshot(`${this.settings.currentTestName} - ${label}`, Object.assign({}, this.percyConfig)); }); } takeFullScreenSnapshot(label) { return tslib_1.__awaiter(this, void 0, void 0, function* () { yield this.takeSnapshot(label); }); } cameraON() { return tslib_1.__awaiter(this, void 0, void 0, function* () { if (this.browser.params["snapshotsUpload"] === "manual") { yield this.setManualFullpage(); } yield this.setCustomCSS(); }); } cameraOFF() { return tslib_1.__awaiter(this, void 0, void 0, function* () { }); } toolConfig() { console.warn("No config is available for Percy"); } checkSettings() { this.percyConfig.widths = [...this.settings.responsiveWidths]; } setManualFullpage() { return tslib_1.__awaiter(this, void 0, void 0, function* () { const win = (yield this.browser.manage().window().getSize()) .height; const body = (yield (0, protractor_1.$)("body").getSize()).height; yield this.browser .manage() .window() .setSize(1920, body > win ? body : win); }); } setCustomCSS() { return tslib_1.__awaiter(this, void 0, void 0, function* () { yield this.browser.executeScript(` const styles = document.createElement('style'); styles.innerText = "input, textarea { caret-color: transparent;} * {cursor: none !important;}"; document.head.appendChild(styles); `); }); } } exports.PercyLens = PercyLens; //# sourceMappingURL=percy-lens.js.map