@nova-ui/dashboards
Version:
Nova Dashboards is a framework designed to provide feature developers with a common solution for presenting data coming from various sources within a single view, as well as a set of predefined widget visualizations that are 100% configuration-driven and
69 lines • 3.01 kB
JavaScript
"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.TestPage = void 0;
const protractor_1 = require("protractor");
const atoms_1 = require("@nova-ui/bits/sdk/atoms");
const dashboard_atom_1 = require("./dashboard.atom");
class TestPage {
constructor() {
this.root = (0, protractor_1.element)(protractor_1.by.className("dashboard-test-harness"));
this.chbEditMode = this.root.element(protractor_1.by.id("edit-mode"));
this.chbDsError = this.root.element(protractor_1.by.id("ds-error"));
this.chbDarkTheme = this.root.element(protractor_1.by.id("dark-theme"));
}
get dashboard() {
return atoms_1.Atom.findIn(dashboard_atom_1.DashboardAtom, this.root);
}
async enableEditMode() {
return this.updateSelectable(this.chbEditMode, true);
}
async disableEditMode() {
return this.updateSelectable(this.chbEditMode, false);
}
async enableDataSourceErrors() {
return this.updateSelectable(this.chbDsError, true);
}
async disableDataSourceErrors() {
return this.updateSelectable(this.chbDsError, false);
}
async enableDarkTheme() {
return this.updateSelectable(this.chbDarkTheme, true);
}
async disableDarkTheme() {
return this.updateSelectable(this.chbDarkTheme, false);
}
async resetMousePosition() {
return protractor_1.browser.actions().mouseMove({ x: 0, y: 0 }).perform();
}
async editWidget(title) {
return (await this.dashboard.getWidgetByHeaderTitleText(title))?.header.clickEdit();
}
async updateSelectable(input, value) {
const currentValue = await input.isSelected();
if (currentValue === value) {
return;
}
return input.click();
}
}
exports.TestPage = TestPage;
//# sourceMappingURL=test.po.js.map