@o3r/testing
Version:
The module provides testing (e2e, unit test) utilities to help you build your own E2E pipeline integrating visual testing.
75 lines • 2.82 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.O3rRadioGroup = void 0;
var tslib_1 = require("tslib");
var group_1 = require("../group");
/**
* Group element to manage a radio group
*/
var O3rRadioGroup = /** @class */ (function (_super) {
tslib_1.__extends(O3rRadioGroup, _super);
function O3rRadioGroup(sourceElement) {
return _super.call(this, sourceElement) || this;
}
/** @inheritDoc */
O3rRadioGroup.prototype.isValidGroup = function () {
return tslib_1.__awaiter(this, void 0, void 0, function () {
var name, _i, _a, item, itemName;
return tslib_1.__generator(this, function (_b) {
switch (_b.label) {
case 0:
name = '';
_i = 0, _a = this.items;
_b.label = 1;
case 1:
if (!(_i < _a.length)) return [3 /*break*/, 4];
item = _a[_i];
return [4 /*yield*/, item.getAttribute('name')];
case 2:
itemName = _b.sent();
if (name !== '' && name !== itemName) {
return [2 /*return*/, false];
}
name = itemName;
_b.label = 3;
case 3:
_i++;
return [3 /*break*/, 1];
case 4: return [2 /*return*/, true];
}
});
});
};
/**
* Get the selected radio
*/
O3rRadioGroup.prototype.getSelectedItem = function () {
return tslib_1.__awaiter(this, void 0, void 0, function () {
var _i, _a, item, isSelected;
return tslib_1.__generator(this, function (_b) {
switch (_b.label) {
case 0:
_i = 0, _a = this.items;
_b.label = 1;
case 1:
if (!(_i < _a.length)) return [3 /*break*/, 4];
item = _a[_i];
return [4 /*yield*/, item.isChecked()];
case 2:
isSelected = _b.sent();
if (isSelected) {
return [2 /*return*/, item];
}
_b.label = 3;
case 3:
_i++;
return [3 /*break*/, 1];
case 4: return [2 /*return*/, undefined];
}
});
});
};
return O3rRadioGroup;
}(group_1.O3rGroup));
exports.O3rRadioGroup = O3rRadioGroup;
//# sourceMappingURL=radio-group.js.map