@skbkontur/playwright-react-ui-components 1.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/index.d.ts +1 -0
- package/build/index.js +17 -0
- package/build/src/assertions/AutocompleteAssertions.d.ts +19 -0
- package/build/src/assertions/AutocompleteAssertions.js +177 -0
- package/build/src/assertions/BaseComponentAssertions.d.ts +15 -0
- package/build/src/assertions/BaseComponentAssertions.js +158 -0
- package/build/src/assertions/ButtonAssertions.d.ts +15 -0
- package/build/src/assertions/ButtonAssertions.js +162 -0
- package/build/src/assertions/CheckboxAssertions.d.ts +19 -0
- package/build/src/assertions/CheckboxAssertions.js +210 -0
- package/build/src/assertions/ComboBoxAssertions.d.ts +19 -0
- package/build/src/assertions/ComboBoxAssertions.js +304 -0
- package/build/src/assertions/ComponentListAssertions.d.ts +13 -0
- package/build/src/assertions/ComponentListAssertions.js +126 -0
- package/build/src/assertions/CurrencyInputAssertions.d.ts +15 -0
- package/build/src/assertions/CurrencyInputAssertions.js +212 -0
- package/build/src/assertions/DateInputAssertions.d.ts +15 -0
- package/build/src/assertions/DateInputAssertions.js +162 -0
- package/build/src/assertions/DatePickerAssertions.d.ts +15 -0
- package/build/src/assertions/DatePickerAssertions.js +162 -0
- package/build/src/assertions/DateRangePickerAssertions.d.ts +11 -0
- package/build/src/assertions/DateRangePickerAssertions.js +111 -0
- package/build/src/assertions/DropdownAssertions.d.ts +19 -0
- package/build/src/assertions/DropdownAssertions.js +260 -0
- package/build/src/assertions/DropdownMenuAssertions.d.ts +17 -0
- package/build/src/assertions/DropdownMenuAssertions.js +236 -0
- package/build/src/assertions/FileUploaderAssertions.d.ts +14 -0
- package/build/src/assertions/FileUploaderAssertions.js +119 -0
- package/build/src/assertions/FxInputAssertions.d.ts +17 -0
- package/build/src/assertions/FxInputAssertions.js +189 -0
- package/build/src/assertions/InputAssertions.d.ts +19 -0
- package/build/src/assertions/InputAssertions.js +177 -0
- package/build/src/assertions/KebabAssertions.d.ts +13 -0
- package/build/src/assertions/KebabAssertions.js +189 -0
- package/build/src/assertions/LabelAssertions.d.ts +19 -0
- package/build/src/assertions/LabelAssertions.js +144 -0
- package/build/src/assertions/LinkAssertions.d.ts +17 -0
- package/build/src/assertions/LinkAssertions.js +187 -0
- package/build/src/assertions/LoaderAssertions.d.ts +8 -0
- package/build/src/assertions/LoaderAssertions.js +78 -0
- package/build/src/assertions/MenuItemAssertations.d.ts +11 -0
- package/build/src/assertions/MenuItemAssertations.js +114 -0
- package/build/src/assertions/PagingAssertions.d.ts +15 -0
- package/build/src/assertions/PagingAssertions.js +149 -0
- package/build/src/assertions/PortalAssertions.d.ts +9 -0
- package/build/src/assertions/PortalAssertions.js +90 -0
- package/build/src/assertions/RadioAssertions.d.ts +19 -0
- package/build/src/assertions/RadioAssertions.js +210 -0
- package/build/src/assertions/RadioGroupAssertions.d.ts +15 -0
- package/build/src/assertions/RadioGroupAssertions.js +233 -0
- package/build/src/assertions/SelectAssertions.d.ts +15 -0
- package/build/src/assertions/SelectAssertions.js +211 -0
- package/build/src/assertions/SpinnerAssertions.d.ts +8 -0
- package/build/src/assertions/SpinnerAssertions.js +78 -0
- package/build/src/assertions/TabAssertions.d.ts +17 -0
- package/build/src/assertions/TabAssertions.js +187 -0
- package/build/src/assertions/TabsAssertions.d.ts +11 -0
- package/build/src/assertions/TabsAssertions.js +130 -0
- package/build/src/assertions/TextareaAssertions.d.ts +15 -0
- package/build/src/assertions/TextareaAssertions.js +162 -0
- package/build/src/assertions/ToastAssertions.d.ts +8 -0
- package/build/src/assertions/ToastAssertions.js +78 -0
- package/build/src/assertions/ToggleAssertions.d.ts +17 -0
- package/build/src/assertions/ToggleAssertions.js +186 -0
- package/build/src/assertions/TokenAssertions.d.ts +17 -0
- package/build/src/assertions/TokenAssertions.js +159 -0
- package/build/src/assertions/TokenInputAssertions.d.ts +16 -0
- package/build/src/assertions/TokenInputAssertions.js +170 -0
- package/build/src/assertions/TooltipAssertions.d.ts +11 -0
- package/build/src/assertions/TooltipAssertions.js +114 -0
- package/build/src/assertions/index.d.ts +34 -0
- package/build/src/assertions/index.js +71 -0
- package/build/src/components/Autocomplete.d.ts +25 -0
- package/build/src/components/Autocomplete.js +256 -0
- package/build/src/components/BaseComponent.d.ts +18 -0
- package/build/src/components/BaseComponent.js +159 -0
- package/build/src/components/Button.d.ts +21 -0
- package/build/src/components/Button.js +146 -0
- package/build/src/components/Checkbox.d.ts +21 -0
- package/build/src/components/Checkbox.js +161 -0
- package/build/src/components/ComboBox.d.ts +41 -0
- package/build/src/components/ComboBox.js +292 -0
- package/build/src/components/ComponentList.d.ts +21 -0
- package/build/src/components/ComponentList.js +203 -0
- package/build/src/components/CurrencyInput.d.ts +21 -0
- package/build/src/components/CurrencyInput.js +201 -0
- package/build/src/components/DateInput.d.ts +18 -0
- package/build/src/components/DateInput.js +195 -0
- package/build/src/components/DatePicker.d.ts +20 -0
- package/build/src/components/DatePicker.js +205 -0
- package/build/src/components/DateRangePicker.d.ts +20 -0
- package/build/src/components/DateRangePicker.js +111 -0
- package/build/src/components/Dropdown.d.ts +35 -0
- package/build/src/components/Dropdown.js +322 -0
- package/build/src/components/DropdownMenu.d.ts +40 -0
- package/build/src/components/DropdownMenu.js +321 -0
- package/build/src/components/FileUploader.d.ts +54 -0
- package/build/src/components/FileUploader.js +213 -0
- package/build/src/components/FxInput.d.ts +23 -0
- package/build/src/components/FxInput.js +217 -0
- package/build/src/components/Input.d.ts +21 -0
- package/build/src/components/Input.js +192 -0
- package/build/src/components/Kebab.d.ts +27 -0
- package/build/src/components/Kebab.js +247 -0
- package/build/src/components/Label.d.ts +13 -0
- package/build/src/components/Label.js +94 -0
- package/build/src/components/Link.d.ts +16 -0
- package/build/src/components/Link.js +130 -0
- package/build/src/components/Loader.d.ts +11 -0
- package/build/src/components/Loader.js +103 -0
- package/build/src/components/MenuItem.d.ts +13 -0
- package/build/src/components/MenuItem.js +84 -0
- package/build/src/components/Paging.d.ts +25 -0
- package/build/src/components/Paging.js +249 -0
- package/build/src/components/Portal.d.ts +11 -0
- package/build/src/components/Portal.js +112 -0
- package/build/src/components/Radio.d.ts +19 -0
- package/build/src/components/Radio.js +156 -0
- package/build/src/components/RadioGroup.d.ts +21 -0
- package/build/src/components/RadioGroup.js +232 -0
- package/build/src/components/Select.d.ts +43 -0
- package/build/src/components/Select.js +384 -0
- package/build/src/components/Spinner.d.ts +12 -0
- package/build/src/components/Spinner.js +103 -0
- package/build/src/components/Tab.d.ts +16 -0
- package/build/src/components/Tab.js +126 -0
- package/build/src/components/Tabs.d.ts +18 -0
- package/build/src/components/Tabs.js +136 -0
- package/build/src/components/Textarea.d.ts +21 -0
- package/build/src/components/Textarea.js +186 -0
- package/build/src/components/Toast.d.ts +10 -0
- package/build/src/components/Toast.js +79 -0
- package/build/src/components/Toggle.d.ts +19 -0
- package/build/src/components/Toggle.js +151 -0
- package/build/src/components/Token.d.ts +13 -0
- package/build/src/components/Token.js +106 -0
- package/build/src/components/TokenInput.d.ts +44 -0
- package/build/src/components/TokenInput.js +319 -0
- package/build/src/components/Tooltip.d.ts +14 -0
- package/build/src/components/Tooltip.js +98 -0
- package/build/src/components/index.d.ts +34 -0
- package/build/src/components/index.js +71 -0
- package/build/src/index.d.ts +5 -0
- package/build/src/index.js +21 -0
- package/build/src/matchers/formattedMatchers.d.ts +37 -0
- package/build/src/matchers/formattedMatchers.js +125 -0
- package/build/src/matchers/index.d.ts +2 -0
- package/build/src/matchers/index.js +20 -0
- package/build/src/matchers/mergedExpects.d.ts +25 -0
- package/build/src/matchers/mergedExpects.js +6 -0
- package/build/src/options/AssertionOptions.d.ts +82 -0
- package/build/src/options/AssertionOptions.js +2 -0
- package/build/src/options/LocatorOptions.d.ts +342 -0
- package/build/src/options/LocatorOptions.js +2 -0
- package/build/src/options/index.d.ts +2 -0
- package/build/src/options/index.js +18 -0
- package/build/src/utils/constants.d.ts +10 -0
- package/build/src/utils/constants.js +15 -0
- package/build/src/utils/dataTidSelector.d.ts +1 -0
- package/build/src/utils/dataTidSelector.js +6 -0
- package/build/src/utils/index.d.ts +2 -0
- package/build/src/utils/index.js +20 -0
- package/build/src/utils/tooltipProvider.d.ts +4 -0
- package/build/src/utils/tooltipProvider.js +95 -0
- package/package.json +27 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { Locator } from '@playwright/test';
|
|
2
|
+
import { RadioGroupAssertions } from '../assertions';
|
|
3
|
+
import { BaseComponent } from './BaseComponent';
|
|
4
|
+
import { Radio } from './Radio';
|
|
5
|
+
import { type TooltipType } from '../utils';
|
|
6
|
+
export declare class RadioGroup extends BaseComponent {
|
|
7
|
+
readonly rootLocator: Locator;
|
|
8
|
+
private readonly list;
|
|
9
|
+
constructor(rootLocator: Locator);
|
|
10
|
+
getItems(): Promise<Radio[]>;
|
|
11
|
+
isDisabled(): Promise<boolean>;
|
|
12
|
+
checkByValue(value: string | RegExp): Promise<void>;
|
|
13
|
+
checkByIndex(index: number): Promise<void>;
|
|
14
|
+
checkByText(text: string | RegExp): Promise<void>;
|
|
15
|
+
getCheckedRadio(): Promise<Radio>;
|
|
16
|
+
getByValue(value: string | RegExp): Promise<Radio>;
|
|
17
|
+
getByIndex(index: number): Promise<Radio>;
|
|
18
|
+
getByText(text: string | RegExp): Promise<Radio>;
|
|
19
|
+
getTooltip(type: TooltipType): Promise<import("./Tooltip").Tooltip>;
|
|
20
|
+
expect(): RadioGroupAssertions;
|
|
21
|
+
}
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
+
extendStatics(d, b);
|
|
13
|
+
function __() { this.constructor = d; }
|
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
17
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
18
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
19
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
20
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
21
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
22
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
23
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
27
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
28
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
29
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
30
|
+
function step(op) {
|
|
31
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
32
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
33
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
34
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
35
|
+
switch (op[0]) {
|
|
36
|
+
case 0: case 1: t = op; break;
|
|
37
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
38
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
39
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
40
|
+
default:
|
|
41
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
42
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
43
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
44
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
45
|
+
if (t[2]) _.ops.pop();
|
|
46
|
+
_.trys.pop(); continue;
|
|
47
|
+
}
|
|
48
|
+
op = body.call(thisArg, _);
|
|
49
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
50
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
54
|
+
exports.RadioGroup = void 0;
|
|
55
|
+
var react_ui_1 = require("@skbkontur/react-ui");
|
|
56
|
+
var assertions_1 = require("../assertions");
|
|
57
|
+
var BaseComponent_1 = require("./BaseComponent");
|
|
58
|
+
var ComponentList_1 = require("./ComponentList");
|
|
59
|
+
var Radio_1 = require("./Radio");
|
|
60
|
+
var utils_1 = require("../utils");
|
|
61
|
+
var dataTidSelector_1 = require("../utils/dataTidSelector");
|
|
62
|
+
var RadioGroup = /** @class */ (function (_super) {
|
|
63
|
+
__extends(RadioGroup, _super);
|
|
64
|
+
function RadioGroup(rootLocator) {
|
|
65
|
+
var _this = _super.call(this, rootLocator) || this;
|
|
66
|
+
_this.rootLocator = rootLocator;
|
|
67
|
+
_this.list = new ComponentList_1.ComponentList(rootLocator, function (rootLocator) { return rootLocator.locator((0, dataTidSelector_1.getDataTidSelector)(react_ui_1.RadioDataTids.root)); }, function (rootLocator) { return new Radio_1.Radio(rootLocator); });
|
|
68
|
+
return _this;
|
|
69
|
+
}
|
|
70
|
+
RadioGroup.prototype.getItems = function () {
|
|
71
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
72
|
+
return __generator(this, function (_a) {
|
|
73
|
+
switch (_a.label) {
|
|
74
|
+
case 0: return [4 /*yield*/, this.list.getItems()];
|
|
75
|
+
case 1: return [2 /*return*/, _a.sent()];
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
};
|
|
80
|
+
RadioGroup.prototype.isDisabled = function () {
|
|
81
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
82
|
+
var radioList, _i, radioList_1, radio;
|
|
83
|
+
return __generator(this, function (_a) {
|
|
84
|
+
switch (_a.label) {
|
|
85
|
+
case 0: return [4 /*yield*/, this.getItems()];
|
|
86
|
+
case 1:
|
|
87
|
+
radioList = _a.sent();
|
|
88
|
+
_i = 0, radioList_1 = radioList;
|
|
89
|
+
_a.label = 2;
|
|
90
|
+
case 2:
|
|
91
|
+
if (!(_i < radioList_1.length)) return [3 /*break*/, 5];
|
|
92
|
+
radio = radioList_1[_i];
|
|
93
|
+
return [4 /*yield*/, radio.isDisabled()];
|
|
94
|
+
case 3:
|
|
95
|
+
if (!(_a.sent())) {
|
|
96
|
+
return [2 /*return*/, false];
|
|
97
|
+
}
|
|
98
|
+
_a.label = 4;
|
|
99
|
+
case 4:
|
|
100
|
+
_i++;
|
|
101
|
+
return [3 /*break*/, 2];
|
|
102
|
+
case 5: return [2 /*return*/, true];
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
});
|
|
106
|
+
};
|
|
107
|
+
RadioGroup.prototype.checkByValue = function (value) {
|
|
108
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
109
|
+
var radio;
|
|
110
|
+
return __generator(this, function (_a) {
|
|
111
|
+
switch (_a.label) {
|
|
112
|
+
case 0: return [4 /*yield*/, this.getByValue(value)];
|
|
113
|
+
case 1:
|
|
114
|
+
radio = _a.sent();
|
|
115
|
+
return [4 /*yield*/, radio.check()];
|
|
116
|
+
case 2:
|
|
117
|
+
_a.sent();
|
|
118
|
+
return [2 /*return*/];
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
});
|
|
122
|
+
};
|
|
123
|
+
RadioGroup.prototype.checkByIndex = function (index) {
|
|
124
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
125
|
+
var radio;
|
|
126
|
+
return __generator(this, function (_a) {
|
|
127
|
+
switch (_a.label) {
|
|
128
|
+
case 0: return [4 /*yield*/, this.getByIndex(index)];
|
|
129
|
+
case 1:
|
|
130
|
+
radio = _a.sent();
|
|
131
|
+
return [4 /*yield*/, radio.check()];
|
|
132
|
+
case 2:
|
|
133
|
+
_a.sent();
|
|
134
|
+
return [2 /*return*/];
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
});
|
|
138
|
+
};
|
|
139
|
+
RadioGroup.prototype.checkByText = function (text) {
|
|
140
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
141
|
+
var radio;
|
|
142
|
+
return __generator(this, function (_a) {
|
|
143
|
+
switch (_a.label) {
|
|
144
|
+
case 0: return [4 /*yield*/, this.getByText(text)];
|
|
145
|
+
case 1:
|
|
146
|
+
radio = _a.sent();
|
|
147
|
+
return [4 /*yield*/, radio.check()];
|
|
148
|
+
case 2:
|
|
149
|
+
_a.sent();
|
|
150
|
+
return [2 /*return*/];
|
|
151
|
+
}
|
|
152
|
+
});
|
|
153
|
+
});
|
|
154
|
+
};
|
|
155
|
+
RadioGroup.prototype.getCheckedRadio = function () {
|
|
156
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
157
|
+
var _this = this;
|
|
158
|
+
return __generator(this, function (_a) {
|
|
159
|
+
switch (_a.label) {
|
|
160
|
+
case 0: return [4 /*yield*/, this.list.getFirstItemByPredicate(function (radio) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
161
|
+
switch (_a.label) {
|
|
162
|
+
case 0: return [4 /*yield*/, radio.isChecked()];
|
|
163
|
+
case 1: return [2 /*return*/, _a.sent()];
|
|
164
|
+
}
|
|
165
|
+
}); }); })];
|
|
166
|
+
case 1: return [2 /*return*/, _a.sent()];
|
|
167
|
+
}
|
|
168
|
+
});
|
|
169
|
+
});
|
|
170
|
+
};
|
|
171
|
+
RadioGroup.prototype.getByValue = function (value) {
|
|
172
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
173
|
+
var _this = this;
|
|
174
|
+
return __generator(this, function (_a) {
|
|
175
|
+
switch (_a.label) {
|
|
176
|
+
case 0: return [4 /*yield*/, this.list.getFirstItemByPredicate(function (radio) { return __awaiter(_this, void 0, void 0, function () { var _a; return __generator(this, function (_b) {
|
|
177
|
+
switch (_b.label) {
|
|
178
|
+
case 0:
|
|
179
|
+
_a = Boolean;
|
|
180
|
+
return [4 /*yield*/, radio.getValue()];
|
|
181
|
+
case 1: return [2 /*return*/, _a.apply(void 0, [(_b.sent()).match(value)])];
|
|
182
|
+
}
|
|
183
|
+
}); }); })];
|
|
184
|
+
case 1: return [2 /*return*/, _a.sent()];
|
|
185
|
+
}
|
|
186
|
+
});
|
|
187
|
+
});
|
|
188
|
+
};
|
|
189
|
+
RadioGroup.prototype.getByIndex = function (index) {
|
|
190
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
191
|
+
return __generator(this, function (_a) {
|
|
192
|
+
switch (_a.label) {
|
|
193
|
+
case 0: return [4 /*yield*/, this.list.getItemByIndex(index)];
|
|
194
|
+
case 1: return [2 /*return*/, _a.sent()];
|
|
195
|
+
}
|
|
196
|
+
});
|
|
197
|
+
});
|
|
198
|
+
};
|
|
199
|
+
RadioGroup.prototype.getByText = function (text) {
|
|
200
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
201
|
+
var _this = this;
|
|
202
|
+
return __generator(this, function (_a) {
|
|
203
|
+
switch (_a.label) {
|
|
204
|
+
case 0: return [4 /*yield*/, this.list.getFirstItemByPredicate(function (radio) { return __awaiter(_this, void 0, void 0, function () { var _a; return __generator(this, function (_b) {
|
|
205
|
+
switch (_b.label) {
|
|
206
|
+
case 0:
|
|
207
|
+
_a = Boolean;
|
|
208
|
+
return [4 /*yield*/, radio.getText()];
|
|
209
|
+
case 1: return [2 /*return*/, _a.apply(void 0, [(_b.sent()).match(text)])];
|
|
210
|
+
}
|
|
211
|
+
}); }); })];
|
|
212
|
+
case 1: return [2 /*return*/, _a.sent()];
|
|
213
|
+
}
|
|
214
|
+
});
|
|
215
|
+
});
|
|
216
|
+
};
|
|
217
|
+
RadioGroup.prototype.getTooltip = function (type) {
|
|
218
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
219
|
+
return __generator(this, function (_a) {
|
|
220
|
+
switch (_a.label) {
|
|
221
|
+
case 0: return [4 /*yield*/, (0, utils_1.getTooltip)(type, this)];
|
|
222
|
+
case 1: return [2 /*return*/, _a.sent()];
|
|
223
|
+
}
|
|
224
|
+
});
|
|
225
|
+
});
|
|
226
|
+
};
|
|
227
|
+
RadioGroup.prototype.expect = function () {
|
|
228
|
+
return new assertions_1.RadioGroupAssertions(this);
|
|
229
|
+
};
|
|
230
|
+
return RadioGroup;
|
|
231
|
+
}(BaseComponent_1.BaseComponent));
|
|
232
|
+
exports.RadioGroup = RadioGroup;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { Locator } from '@playwright/test';
|
|
2
|
+
import { BaseComponent } from './BaseComponent';
|
|
3
|
+
import { SelectAssertions } from '../assertions';
|
|
4
|
+
import type { TooltipType } from '../utils';
|
|
5
|
+
import { ComponentList } from './ComponentList';
|
|
6
|
+
import { MenuItem } from './MenuItem';
|
|
7
|
+
import type { BlurOptions, ClickOptions, FillOptions, FocusOptions, InnerTextOptions } from '../options';
|
|
8
|
+
export declare class Select extends BaseComponent {
|
|
9
|
+
private readonly portal;
|
|
10
|
+
readonly buttonOrLinkLocator: Locator;
|
|
11
|
+
readonly selectLabelLocator: Locator;
|
|
12
|
+
constructor(rootLocator: Locator);
|
|
13
|
+
isDisabled(): Promise<boolean>;
|
|
14
|
+
isMenuOpened(): Promise<boolean>;
|
|
15
|
+
isLinkSelect(): Promise<boolean>;
|
|
16
|
+
getSelectedValue(options?: InnerTextOptions): Promise<string>;
|
|
17
|
+
fillSearch(searchText: string, options?: FillOptions): Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* Используй этот метод, когда в меню существует несколько элементов с одинаковым названием
|
|
20
|
+
* В остальных случаях лучше использовать `select`
|
|
21
|
+
*/
|
|
22
|
+
selectFirst(text: string | RegExp, options?: ClickOptions): Promise<void>;
|
|
23
|
+
select(text: string | RegExp, options?: ClickOptions): Promise<void>;
|
|
24
|
+
focus(options?: FocusOptions): Promise<void>;
|
|
25
|
+
blur(options?: BlurOptions): Promise<void>;
|
|
26
|
+
click(options?: ClickOptions): Promise<void>;
|
|
27
|
+
getTooltip(type: TooltipType): Promise<import("./Tooltip").Tooltip>;
|
|
28
|
+
/**
|
|
29
|
+
* Возвращает список меню по data-tid'ам из react-ui:
|
|
30
|
+
* - MenuItemDataTids.root
|
|
31
|
+
* - MenuHeaderDataTids.root
|
|
32
|
+
* - MenuFooterDataTids.root
|
|
33
|
+
*/
|
|
34
|
+
getMenuItems(): Promise<ComponentList<MenuItem>>;
|
|
35
|
+
getMenuItemByText(text: string): Promise<MenuItem>;
|
|
36
|
+
getMenuItemByIndex(index: number): Promise<MenuItem>;
|
|
37
|
+
expect(): SelectAssertions;
|
|
38
|
+
private getMenuItemsLocator;
|
|
39
|
+
private getSearchInput;
|
|
40
|
+
private getPortalContainer;
|
|
41
|
+
private openMenuIfNeeded;
|
|
42
|
+
private waitEnabled;
|
|
43
|
+
}
|
|
@@ -0,0 +1,384 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
+
extendStatics(d, b);
|
|
13
|
+
function __() { this.constructor = d; }
|
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
17
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
18
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
19
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
20
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
21
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
22
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
23
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
27
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
28
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
29
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
30
|
+
function step(op) {
|
|
31
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
32
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
33
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
34
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
35
|
+
switch (op[0]) {
|
|
36
|
+
case 0: case 1: t = op; break;
|
|
37
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
38
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
39
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
40
|
+
default:
|
|
41
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
42
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
43
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
44
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
45
|
+
if (t[2]) _.ops.pop();
|
|
46
|
+
_.trys.pop(); continue;
|
|
47
|
+
}
|
|
48
|
+
op = body.call(thisArg, _);
|
|
49
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
50
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
54
|
+
exports.Select = void 0;
|
|
55
|
+
var react_ui_1 = require("@skbkontur/react-ui");
|
|
56
|
+
var test_1 = require("@playwright/test");
|
|
57
|
+
var MenuFooter_1 = require("@skbkontur/react-ui/components/MenuFooter");
|
|
58
|
+
var Portal_1 = require("./Portal");
|
|
59
|
+
var BaseComponent_1 = require("./BaseComponent");
|
|
60
|
+
var assertions_1 = require("../assertions");
|
|
61
|
+
var utils_1 = require("../utils");
|
|
62
|
+
var utils_2 = require("../utils");
|
|
63
|
+
var ComponentList_1 = require("./ComponentList");
|
|
64
|
+
var MenuItem_1 = require("./MenuItem");
|
|
65
|
+
var dataTidSelector_1 = require("../utils/dataTidSelector");
|
|
66
|
+
var Select = /** @class */ (function (_super) {
|
|
67
|
+
__extends(Select, _super);
|
|
68
|
+
function Select(rootLocator) {
|
|
69
|
+
var _this = _super.call(this, rootLocator) || this;
|
|
70
|
+
_this.portal = new Portal_1.Portal(rootLocator.locator('noscript'));
|
|
71
|
+
_this.buttonOrLinkLocator = rootLocator
|
|
72
|
+
.locator('button')
|
|
73
|
+
.or(rootLocator.locator((0, dataTidSelector_1.getDataTidSelector)(react_ui_1.LinkDataTids.root)));
|
|
74
|
+
_this.selectLabelLocator = rootLocator.locator((0, dataTidSelector_1.getDataTidSelector)(react_ui_1.SelectDataTids.label));
|
|
75
|
+
return _this;
|
|
76
|
+
}
|
|
77
|
+
Select.prototype.isDisabled = function () {
|
|
78
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
79
|
+
return __generator(this, function (_a) {
|
|
80
|
+
switch (_a.label) {
|
|
81
|
+
case 0: return [4 /*yield*/, this.isLinkSelect()];
|
|
82
|
+
case 1:
|
|
83
|
+
if (!_a.sent()) return [3 /*break*/, 4];
|
|
84
|
+
return [4 /*yield*/, this.waitFor()];
|
|
85
|
+
case 2:
|
|
86
|
+
_a.sent();
|
|
87
|
+
return [4 /*yield*/, this.buttonOrLinkLocator.getAttribute(utils_1.DataVisualState.Disabled)];
|
|
88
|
+
case 3: return [2 /*return*/, (_a.sent()) !== null];
|
|
89
|
+
case 4: return [4 /*yield*/, this.buttonOrLinkLocator.isDisabled()];
|
|
90
|
+
case 5: return [2 /*return*/, _a.sent()];
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
};
|
|
95
|
+
Select.prototype.isMenuOpened = function () {
|
|
96
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
97
|
+
return __generator(this, function (_a) {
|
|
98
|
+
switch (_a.label) {
|
|
99
|
+
case 0: return [4 /*yield*/, this.portal.isVisible()];
|
|
100
|
+
case 1: return [2 /*return*/, _a.sent()];
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
});
|
|
104
|
+
};
|
|
105
|
+
Select.prototype.isLinkSelect = function () {
|
|
106
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
107
|
+
return __generator(this, function (_a) {
|
|
108
|
+
switch (_a.label) {
|
|
109
|
+
case 0: return [4 /*yield*/, this.buttonOrLinkLocator.getAttribute('type')];
|
|
110
|
+
case 1: return [2 /*return*/, (_a.sent()) !== 'button'];
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
});
|
|
114
|
+
};
|
|
115
|
+
Select.prototype.getSelectedValue = function (options) {
|
|
116
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
117
|
+
return __generator(this, function (_a) {
|
|
118
|
+
switch (_a.label) {
|
|
119
|
+
case 0: return [4 /*yield*/, this.buttonOrLinkLocator.innerText(options)];
|
|
120
|
+
case 1: return [2 /*return*/, _a.sent()];
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
});
|
|
124
|
+
};
|
|
125
|
+
Select.prototype.fillSearch = function (searchText, options) {
|
|
126
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
127
|
+
var searchInput;
|
|
128
|
+
return __generator(this, function (_a) {
|
|
129
|
+
switch (_a.label) {
|
|
130
|
+
case 0: return [4 /*yield*/, this.getSearchInput()];
|
|
131
|
+
case 1:
|
|
132
|
+
searchInput = _a.sent();
|
|
133
|
+
return [4 /*yield*/, searchInput.fill(searchText, options)];
|
|
134
|
+
case 2:
|
|
135
|
+
_a.sent();
|
|
136
|
+
return [2 /*return*/];
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
});
|
|
140
|
+
};
|
|
141
|
+
/**
|
|
142
|
+
* Используй этот метод, когда в меню существует несколько элементов с одинаковым названием
|
|
143
|
+
* В остальных случаях лучше использовать `select`
|
|
144
|
+
*/
|
|
145
|
+
Select.prototype.selectFirst = function (text, options) {
|
|
146
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
147
|
+
var items;
|
|
148
|
+
return __generator(this, function (_a) {
|
|
149
|
+
switch (_a.label) {
|
|
150
|
+
case 0: return [4 /*yield*/, this.getMenuItemsLocator(text)];
|
|
151
|
+
case 1:
|
|
152
|
+
items = _a.sent();
|
|
153
|
+
return [4 /*yield*/, items.first().click(options)];
|
|
154
|
+
case 2:
|
|
155
|
+
_a.sent();
|
|
156
|
+
return [2 /*return*/];
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
});
|
|
160
|
+
};
|
|
161
|
+
Select.prototype.select = function (text, options) {
|
|
162
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
163
|
+
var items;
|
|
164
|
+
return __generator(this, function (_a) {
|
|
165
|
+
switch (_a.label) {
|
|
166
|
+
case 0: return [4 /*yield*/, this.getMenuItemsLocator(text)];
|
|
167
|
+
case 1:
|
|
168
|
+
items = _a.sent();
|
|
169
|
+
return [4 /*yield*/, (0, test_1.expect)(items).toHaveCount(1)];
|
|
170
|
+
case 2:
|
|
171
|
+
_a.sent();
|
|
172
|
+
return [4 /*yield*/, items.click(options)];
|
|
173
|
+
case 3:
|
|
174
|
+
_a.sent();
|
|
175
|
+
return [2 /*return*/];
|
|
176
|
+
}
|
|
177
|
+
});
|
|
178
|
+
});
|
|
179
|
+
};
|
|
180
|
+
Select.prototype.focus = function (options) {
|
|
181
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
182
|
+
return __generator(this, function (_a) {
|
|
183
|
+
switch (_a.label) {
|
|
184
|
+
case 0: return [4 /*yield*/, this.waitEnabled()];
|
|
185
|
+
case 1:
|
|
186
|
+
_a.sent();
|
|
187
|
+
return [4 /*yield*/, this.buttonOrLinkLocator.focus(options)];
|
|
188
|
+
case 2:
|
|
189
|
+
_a.sent();
|
|
190
|
+
return [2 /*return*/];
|
|
191
|
+
}
|
|
192
|
+
});
|
|
193
|
+
});
|
|
194
|
+
};
|
|
195
|
+
Select.prototype.blur = function (options) {
|
|
196
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
197
|
+
return __generator(this, function (_a) {
|
|
198
|
+
switch (_a.label) {
|
|
199
|
+
case 0: return [4 /*yield*/, this.buttonOrLinkLocator.blur(options)];
|
|
200
|
+
case 1:
|
|
201
|
+
_a.sent();
|
|
202
|
+
return [2 /*return*/];
|
|
203
|
+
}
|
|
204
|
+
});
|
|
205
|
+
});
|
|
206
|
+
};
|
|
207
|
+
Select.prototype.click = function (options) {
|
|
208
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
209
|
+
return __generator(this, function (_a) {
|
|
210
|
+
switch (_a.label) {
|
|
211
|
+
case 0:
|
|
212
|
+
// note: rootLocator всегда в состоянии enabled, даже если Select disabled
|
|
213
|
+
// чтобы не было гонок дожидаемся доступности компонента, перед тем как взаимодействовать с ним
|
|
214
|
+
return [4 /*yield*/, this.waitEnabled()];
|
|
215
|
+
case 1:
|
|
216
|
+
// note: rootLocator всегда в состоянии enabled, даже если Select disabled
|
|
217
|
+
// чтобы не было гонок дожидаемся доступности компонента, перед тем как взаимодействовать с ним
|
|
218
|
+
_a.sent();
|
|
219
|
+
return [4 /*yield*/, _super.prototype.click.call(this, options)];
|
|
220
|
+
case 2:
|
|
221
|
+
_a.sent();
|
|
222
|
+
return [2 /*return*/];
|
|
223
|
+
}
|
|
224
|
+
});
|
|
225
|
+
});
|
|
226
|
+
};
|
|
227
|
+
Select.prototype.getTooltip = function (type) {
|
|
228
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
229
|
+
return __generator(this, function (_a) {
|
|
230
|
+
switch (_a.label) {
|
|
231
|
+
case 0: return [4 /*yield*/, this.click()];
|
|
232
|
+
case 1:
|
|
233
|
+
_a.sent();
|
|
234
|
+
return [2 /*return*/, (0, utils_2.getTooltip)(type, this)];
|
|
235
|
+
}
|
|
236
|
+
});
|
|
237
|
+
});
|
|
238
|
+
};
|
|
239
|
+
/**
|
|
240
|
+
* Возвращает список меню по data-tid'ам из react-ui:
|
|
241
|
+
* - MenuItemDataTids.root
|
|
242
|
+
* - MenuHeaderDataTids.root
|
|
243
|
+
* - MenuFooterDataTids.root
|
|
244
|
+
*/
|
|
245
|
+
Select.prototype.getMenuItems = function () {
|
|
246
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
247
|
+
var container;
|
|
248
|
+
return __generator(this, function (_a) {
|
|
249
|
+
switch (_a.label) {
|
|
250
|
+
case 0: return [4 /*yield*/, this.getPortalContainer()];
|
|
251
|
+
case 1:
|
|
252
|
+
container = _a.sent();
|
|
253
|
+
return [4 /*yield*/, container.locator((0, dataTidSelector_1.getDataTidSelector)(react_ui_1.SpinnerDataTids.root)).waitFor({ state: 'hidden' })];
|
|
254
|
+
case 2:
|
|
255
|
+
_a.sent();
|
|
256
|
+
return [2 /*return*/, new ComponentList_1.ComponentList(container, function (locator) {
|
|
257
|
+
return locator
|
|
258
|
+
.locator((0, dataTidSelector_1.getDataTidSelector)(react_ui_1.MenuItemDataTids.root))
|
|
259
|
+
.or(locator.locator((0, dataTidSelector_1.getDataTidSelector)(react_ui_1.MenuHeaderDataTids.root)))
|
|
260
|
+
.or(locator.locator((0, dataTidSelector_1.getDataTidSelector)(MenuFooter_1.MenuFooterDataTids.root)));
|
|
261
|
+
}, function (locator) { return new MenuItem_1.MenuItem(locator); })];
|
|
262
|
+
}
|
|
263
|
+
});
|
|
264
|
+
});
|
|
265
|
+
};
|
|
266
|
+
Select.prototype.getMenuItemByText = function (text) {
|
|
267
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
268
|
+
var items;
|
|
269
|
+
var _this = this;
|
|
270
|
+
return __generator(this, function (_a) {
|
|
271
|
+
switch (_a.label) {
|
|
272
|
+
case 0: return [4 /*yield*/, this.getMenuItems()];
|
|
273
|
+
case 1:
|
|
274
|
+
items = _a.sent();
|
|
275
|
+
return [4 /*yield*/, items.getFirstItemByPredicate(function (item) { return __awaiter(_this, void 0, void 0, function () {
|
|
276
|
+
var itemText;
|
|
277
|
+
return __generator(this, function (_a) {
|
|
278
|
+
switch (_a.label) {
|
|
279
|
+
case 0: return [4 /*yield*/, item.getText()];
|
|
280
|
+
case 1:
|
|
281
|
+
itemText = _a.sent();
|
|
282
|
+
return [2 /*return*/, itemText.toLowerCase() === text.toLowerCase()];
|
|
283
|
+
}
|
|
284
|
+
});
|
|
285
|
+
}); })];
|
|
286
|
+
case 2: return [2 /*return*/, _a.sent()];
|
|
287
|
+
}
|
|
288
|
+
});
|
|
289
|
+
});
|
|
290
|
+
};
|
|
291
|
+
Select.prototype.getMenuItemByIndex = function (index) {
|
|
292
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
293
|
+
var items;
|
|
294
|
+
return __generator(this, function (_a) {
|
|
295
|
+
switch (_a.label) {
|
|
296
|
+
case 0: return [4 /*yield*/, this.getMenuItems()];
|
|
297
|
+
case 1:
|
|
298
|
+
items = _a.sent();
|
|
299
|
+
return [2 /*return*/, items.getItemByIndex(index)];
|
|
300
|
+
}
|
|
301
|
+
});
|
|
302
|
+
});
|
|
303
|
+
};
|
|
304
|
+
Select.prototype.expect = function () {
|
|
305
|
+
return new assertions_1.SelectAssertions(this);
|
|
306
|
+
};
|
|
307
|
+
Select.prototype.getMenuItemsLocator = function (byText) {
|
|
308
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
309
|
+
var container, items;
|
|
310
|
+
return __generator(this, function (_a) {
|
|
311
|
+
switch (_a.label) {
|
|
312
|
+
case 0: return [4 /*yield*/, this.getPortalContainer()];
|
|
313
|
+
case 1:
|
|
314
|
+
container = _a.sent();
|
|
315
|
+
items = container.locator((0, dataTidSelector_1.getDataTidSelector)(react_ui_1.MenuItemDataTids.root));
|
|
316
|
+
return [2 /*return*/, items.getByText(byText)];
|
|
317
|
+
}
|
|
318
|
+
});
|
|
319
|
+
});
|
|
320
|
+
};
|
|
321
|
+
Select.prototype.getSearchInput = function () {
|
|
322
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
323
|
+
var container;
|
|
324
|
+
return __generator(this, function (_a) {
|
|
325
|
+
switch (_a.label) {
|
|
326
|
+
case 0: return [4 /*yield*/, this.getPortalContainer()];
|
|
327
|
+
case 1:
|
|
328
|
+
container = _a.sent();
|
|
329
|
+
return [2 /*return*/, container.locator((0, dataTidSelector_1.getDataTidSelector)(react_ui_1.InputDataTids.root))];
|
|
330
|
+
}
|
|
331
|
+
});
|
|
332
|
+
});
|
|
333
|
+
};
|
|
334
|
+
Select.prototype.getPortalContainer = function () {
|
|
335
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
336
|
+
return __generator(this, function (_a) {
|
|
337
|
+
switch (_a.label) {
|
|
338
|
+
case 0: return [4 /*yield*/, this.openMenuIfNeeded()];
|
|
339
|
+
case 1:
|
|
340
|
+
_a.sent();
|
|
341
|
+
return [2 /*return*/, this.portal.getContainer()];
|
|
342
|
+
}
|
|
343
|
+
});
|
|
344
|
+
});
|
|
345
|
+
};
|
|
346
|
+
Select.prototype.openMenuIfNeeded = function () {
|
|
347
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
348
|
+
return __generator(this, function (_a) {
|
|
349
|
+
switch (_a.label) {
|
|
350
|
+
case 0: return [4 /*yield*/, this.isMenuOpened()];
|
|
351
|
+
case 1:
|
|
352
|
+
if (!!(_a.sent())) return [3 /*break*/, 3];
|
|
353
|
+
return [4 /*yield*/, this.buttonOrLinkLocator.click()];
|
|
354
|
+
case 2:
|
|
355
|
+
_a.sent();
|
|
356
|
+
_a.label = 3;
|
|
357
|
+
case 3: return [2 /*return*/];
|
|
358
|
+
}
|
|
359
|
+
});
|
|
360
|
+
});
|
|
361
|
+
};
|
|
362
|
+
Select.prototype.waitEnabled = function () {
|
|
363
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
364
|
+
return __generator(this, function (_a) {
|
|
365
|
+
switch (_a.label) {
|
|
366
|
+
case 0: return [4 /*yield*/, this.isLinkSelect()];
|
|
367
|
+
case 1:
|
|
368
|
+
if (!_a.sent()) return [3 /*break*/, 3];
|
|
369
|
+
return [4 /*yield*/, (0, test_1.expect)(this.buttonOrLinkLocator).not.toHaveAttribute(utils_1.DataVisualState.Disabled)];
|
|
370
|
+
case 2:
|
|
371
|
+
_a.sent();
|
|
372
|
+
return [3 /*break*/, 5];
|
|
373
|
+
case 3: return [4 /*yield*/, (0, test_1.expect)(this.buttonOrLinkLocator).toBeEnabled()];
|
|
374
|
+
case 4:
|
|
375
|
+
_a.sent();
|
|
376
|
+
_a.label = 5;
|
|
377
|
+
case 5: return [2 /*return*/];
|
|
378
|
+
}
|
|
379
|
+
});
|
|
380
|
+
});
|
|
381
|
+
};
|
|
382
|
+
return Select;
|
|
383
|
+
}(BaseComponent_1.BaseComponent));
|
|
384
|
+
exports.Select = Select;
|