@digital-ai/devops-page-object-release 0.0.11 → 0.0.12
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/CHANGELOG.md +9 -0
- package/dist/main.js +1796 -1451
- package/dist/main.js.map +1 -1
- package/dist/module.js +618 -273
- package/dist/module.js.map +1 -1
- package/dist/types.d.ts +197 -137
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/main.js
CHANGED
|
@@ -947,826 +947,1055 @@ var $edb0b0405039996a$exports = {};
|
|
|
947
947
|
$edb0b0405039996a$exports = $edb0b0405039996a$var$isNil;
|
|
948
948
|
|
|
949
949
|
|
|
950
|
-
var $3e8b520187e41aa6$exports = {};
|
|
951
|
-
/**
|
|
952
|
-
* Checks if `value` is `undefined`.
|
|
953
|
-
*
|
|
954
|
-
* @static
|
|
955
|
-
* @since 0.1.0
|
|
956
|
-
* @memberOf _
|
|
957
|
-
* @category Lang
|
|
958
|
-
* @param {*} value The value to check.
|
|
959
|
-
* @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.
|
|
960
|
-
* @example
|
|
961
|
-
*
|
|
962
|
-
* _.isUndefined(void 0);
|
|
963
|
-
* // => true
|
|
964
|
-
*
|
|
965
|
-
* _.isUndefined(null);
|
|
966
|
-
* // => false
|
|
967
|
-
*/ function $3e8b520187e41aa6$var$isUndefined(value) {
|
|
968
|
-
return value === undefined;
|
|
969
|
-
}
|
|
970
|
-
$3e8b520187e41aa6$exports = $3e8b520187e41aa6$var$isUndefined;
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
var $952a2b8d8056b381$exports = {};
|
|
974
|
-
|
|
975
|
-
$952a2b8d8056b381$exports = (parcelRequire("ae8Uz"));
|
|
976
950
|
|
|
977
951
|
|
|
978
952
|
|
|
979
|
-
var $ae8Uz = parcelRequire("ae8Uz");
|
|
980
|
-
var $732eba8dca8b5420$exports = {};
|
|
981
|
-
var $b1535b4ce0d1bd5f$exports = {};
|
|
982
953
|
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
/**
|
|
987
|
-
* A faster alternative to `Function#apply`, this function invokes `func`
|
|
988
|
-
* with the `this` binding of `thisArg` and the arguments of `args`.
|
|
989
|
-
*
|
|
990
|
-
* @private
|
|
991
|
-
* @param {Function} func The function to invoke.
|
|
992
|
-
* @param {*} thisArg The `this` binding of `func`.
|
|
993
|
-
* @param {Array} args The arguments to invoke `func` with.
|
|
994
|
-
* @returns {*} Returns the result of `func`.
|
|
995
|
-
*/ function $f984f14b3d4f0683$var$apply(func, thisArg, args) {
|
|
996
|
-
switch(args.length){
|
|
997
|
-
case 0:
|
|
998
|
-
return func.call(thisArg);
|
|
999
|
-
case 1:
|
|
1000
|
-
return func.call(thisArg, args[0]);
|
|
1001
|
-
case 2:
|
|
1002
|
-
return func.call(thisArg, args[0], args[1]);
|
|
1003
|
-
case 3:
|
|
1004
|
-
return func.call(thisArg, args[0], args[1], args[2]);
|
|
954
|
+
class $f8721861c660dd88$export$2b65d1d97338f32b {
|
|
955
|
+
constructor(page){
|
|
956
|
+
this.page = page;
|
|
1005
957
|
}
|
|
1006
|
-
return func.apply(thisArg, args);
|
|
1007
958
|
}
|
|
1008
|
-
$f984f14b3d4f0683$exports = $f984f14b3d4f0683$var$apply;
|
|
1009
959
|
|
|
1010
960
|
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
while(++index < length)array[index] = args[start + index];
|
|
1025
|
-
index = -1;
|
|
1026
|
-
var otherArgs = Array(start + 1);
|
|
1027
|
-
while(++index < start)otherArgs[index] = args[index];
|
|
1028
|
-
otherArgs[start] = transform(array);
|
|
1029
|
-
return $f984f14b3d4f0683$exports(func, this, otherArgs);
|
|
1030
|
-
};
|
|
961
|
+
class $87643f2d97b0644e$export$a678525e79c4ccc4 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
962
|
+
async expectNumberOfReleases(releaseTitle, amount) {
|
|
963
|
+
if (amount === 1) await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".release").getByText(releaseTitle)).toBeVisible({
|
|
964
|
+
timeout: 5000
|
|
965
|
+
});
|
|
966
|
+
else await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".release").getByText(releaseTitle).count()).toBe(amount);
|
|
967
|
+
}
|
|
968
|
+
async openReleaseByName(releaseTitle) {
|
|
969
|
+
await this.page.locator(".release-line .row-wrapper .release-title-wrapper a", {
|
|
970
|
+
hasText: releaseTitle
|
|
971
|
+
}).click();
|
|
972
|
+
return new (0, $9b9a8c3da392d020$export$f43492e8ac3c566)(this.page);
|
|
973
|
+
}
|
|
1031
974
|
}
|
|
1032
|
-
$1b1aa0f3fc7256c9$exports = $1b1aa0f3fc7256c9$var$overRest;
|
|
1033
975
|
|
|
1034
976
|
|
|
1035
|
-
var $0e9d1d7fde57dac1$exports = {};
|
|
1036
|
-
var $ef9aec5e693cb6ed$exports = {};
|
|
1037
|
-
var $3dc9802adab1dd60$exports = {};
|
|
1038
|
-
/**
|
|
1039
|
-
* Creates a function that returns `value`.
|
|
1040
|
-
*
|
|
1041
|
-
* @static
|
|
1042
|
-
* @memberOf _
|
|
1043
|
-
* @since 2.4.0
|
|
1044
|
-
* @category Util
|
|
1045
|
-
* @param {*} value The value to return from the new function.
|
|
1046
|
-
* @returns {Function} Returns the new constant function.
|
|
1047
|
-
* @example
|
|
1048
|
-
*
|
|
1049
|
-
* var objects = _.times(2, _.constant({ 'a': 1 }));
|
|
1050
|
-
*
|
|
1051
|
-
* console.log(objects);
|
|
1052
|
-
* // => [{ 'a': 1 }, { 'a': 1 }]
|
|
1053
|
-
*
|
|
1054
|
-
* console.log(objects[0] === objects[1]);
|
|
1055
|
-
* // => true
|
|
1056
|
-
*/ function $3dc9802adab1dd60$var$constant(value) {
|
|
1057
|
-
return function() {
|
|
1058
|
-
return value;
|
|
1059
|
-
};
|
|
1060
|
-
}
|
|
1061
|
-
$3dc9802adab1dd60$exports = $3dc9802adab1dd60$var$constant;
|
|
1062
977
|
|
|
978
|
+
class $133601cfe0486710$export$fb932093f944abe4 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
979
|
+
async openRelatedReleasesOf(title) {
|
|
980
|
+
await this.openContextMenu(title);
|
|
981
|
+
await this.page.locator(".popover-content xlr-context-menu a", {
|
|
982
|
+
hasText: "View releases"
|
|
983
|
+
}).click();
|
|
984
|
+
return new (0, $87643f2d97b0644e$export$a678525e79c4ccc4)(this.page);
|
|
985
|
+
}
|
|
986
|
+
async openContextMenu(title) {
|
|
987
|
+
await (0, $kKeXs$playwrighttest.expect)(async ()=>{
|
|
988
|
+
await this.page.locator(".trigger-row-content", {
|
|
989
|
+
hasText: title
|
|
990
|
+
}).locator(".context-menu-button").click();
|
|
991
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".popover-content")).toBeVisible();
|
|
992
|
+
}).toPass();
|
|
993
|
+
}
|
|
994
|
+
}
|
|
1063
995
|
|
|
1064
|
-
var $97bac00047c338ed$exports = {};
|
|
1065
|
-
var $b7745e89d7f5915f$exports = {};
|
|
1066
|
-
var $927414f7f9d8afbb$exports = {};
|
|
1067
996
|
|
|
1068
|
-
var $7T6pQ = parcelRequire("7T6pQ");
|
|
1069
|
-
var $1fb1799a04ee25ea$exports = {};
|
|
1070
|
-
var $5ee1230bf1668e2a$exports = {};
|
|
1071
997
|
|
|
1072
|
-
var $5iYlB = parcelRequire("5iYlB");
|
|
1073
|
-
/** Used to detect overreaching core-js shims. */ var $5ee1230bf1668e2a$var$coreJsData = $5iYlB["__core-js_shared__"];
|
|
1074
|
-
$5ee1230bf1668e2a$exports = $5ee1230bf1668e2a$var$coreJsData;
|
|
1075
998
|
|
|
1076
999
|
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1000
|
+
async function $ef0df8ad8a777ce6$export$a0f926f04148e5d2(locators) {
|
|
1001
|
+
const res = await Promise.all([
|
|
1002
|
+
...locators.map(async (locator, index)=>{
|
|
1003
|
+
let timedOut = false;
|
|
1004
|
+
await locator.waitFor({
|
|
1005
|
+
state: "visible",
|
|
1006
|
+
timeout: 2000
|
|
1007
|
+
}).catch(()=>timedOut = true);
|
|
1008
|
+
return [
|
|
1009
|
+
timedOut ? -1 : index,
|
|
1010
|
+
locator
|
|
1011
|
+
];
|
|
1012
|
+
})
|
|
1013
|
+
]);
|
|
1014
|
+
const resolvedLocator = res.find((r)=>r[0] !== -1);
|
|
1015
|
+
if (!resolvedLocator) {
|
|
1016
|
+
console.warn("waitForOneOf", res);
|
|
1017
|
+
throw new Error("no locator visible before timeout");
|
|
1018
|
+
}
|
|
1019
|
+
return resolvedLocator;
|
|
1089
1020
|
}
|
|
1090
|
-
$1fb1799a04ee25ea$exports = $1fb1799a04ee25ea$var$isMasked;
|
|
1091
1021
|
|
|
1092
1022
|
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1023
|
+
class $fd4eef3ad2b2e612$export$a87f0ae8695e74be extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
1024
|
+
async openVariable(variableKey) {
|
|
1025
|
+
await this.page.locator(`.variables-list .variable`).getByText(variableKey).click();
|
|
1026
|
+
return new $fd4eef3ad2b2e612$var$ReleaseVariableModal(this.page);
|
|
1027
|
+
}
|
|
1028
|
+
}
|
|
1029
|
+
class $fd4eef3ad2b2e612$var$ReleaseVariableModal extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
1030
|
+
async expectValue(locators, expectFn) {
|
|
1031
|
+
const [index, locator] = await (0, $ef0df8ad8a777ce6$export$a0f926f04148e5d2)(locators);
|
|
1032
|
+
await expectFn[index](locator);
|
|
1033
|
+
}
|
|
1034
|
+
async expectValueToBe(value) {
|
|
1035
|
+
await this.expectValue([
|
|
1036
|
+
this.page.locator("#modal .variable-value input"),
|
|
1037
|
+
this.page.locator("#modal .variable-value .field-readonly"),
|
|
1038
|
+
this.page.locator("#modal .variable-value .xl-map-string-string")
|
|
1039
|
+
], [
|
|
1040
|
+
(l)=>(0, $kKeXs$playwrighttest.expect)(l).toHaveValue(value),
|
|
1041
|
+
(l)=>(0, $kKeXs$playwrighttest.expect)(l).toHaveText(value),
|
|
1042
|
+
(l)=>(0, $kKeXs$playwrighttest.expect)(l).toHaveText(value)
|
|
1043
|
+
]);
|
|
1044
|
+
}
|
|
1045
|
+
async expectValueToContain(value) {
|
|
1046
|
+
await this.expectValue([
|
|
1047
|
+
this.page.locator("#modal .variable-value input"),
|
|
1048
|
+
this.page.locator("#modal .variable-value .field-readonly"),
|
|
1049
|
+
this.page.locator("#modal .variable-value .xl-map-string-string")
|
|
1050
|
+
], [
|
|
1051
|
+
(l)=>(0, $kKeXs$playwrighttest.expect)(l.inputValue()).toContain(value),
|
|
1052
|
+
(l)=>(0, $kKeXs$playwrighttest.expect)(l).toContainText(value),
|
|
1053
|
+
(l)=>(0, $kKeXs$playwrighttest.expect)(l).toContainText(value)
|
|
1054
|
+
]);
|
|
1055
|
+
}
|
|
1056
|
+
async close() {
|
|
1057
|
+
await this.page.locator("#modal .modal-header button.close").click();
|
|
1112
1058
|
}
|
|
1113
|
-
return "";
|
|
1114
1059
|
}
|
|
1115
|
-
$c6de24274df36d4e$exports = $c6de24274df36d4e$var$toSource;
|
|
1116
1060
|
|
|
1117
1061
|
|
|
1118
|
-
/**
|
|
1119
|
-
* Used to match `RegExp`
|
|
1120
|
-
* [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).
|
|
1121
|
-
*/ var $927414f7f9d8afbb$var$reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
|
|
1122
|
-
/** Used to detect host constructors (Safari). */ var $927414f7f9d8afbb$var$reIsHostCtor = /^\[object .+?Constructor\]$/;
|
|
1123
|
-
/** Used for built-in method references. */ var $927414f7f9d8afbb$var$funcProto = Function.prototype, $927414f7f9d8afbb$var$objectProto = Object.prototype;
|
|
1124
|
-
/** Used to resolve the decompiled source of functions. */ var $927414f7f9d8afbb$var$funcToString = $927414f7f9d8afbb$var$funcProto.toString;
|
|
1125
|
-
/** Used to check objects for own properties. */ var $927414f7f9d8afbb$var$hasOwnProperty = $927414f7f9d8afbb$var$objectProto.hasOwnProperty;
|
|
1126
|
-
/** Used to detect if a method is native. */ var $927414f7f9d8afbb$var$reIsNative = RegExp("^" + $927414f7f9d8afbb$var$funcToString.call($927414f7f9d8afbb$var$hasOwnProperty).replace($927414f7f9d8afbb$var$reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$");
|
|
1127
|
-
/**
|
|
1128
|
-
* The base implementation of `_.isNative` without bad shim checks.
|
|
1129
|
-
*
|
|
1130
|
-
* @private
|
|
1131
|
-
* @param {*} value The value to check.
|
|
1132
|
-
* @returns {boolean} Returns `true` if `value` is a native function,
|
|
1133
|
-
* else `false`.
|
|
1134
|
-
*/ function $927414f7f9d8afbb$var$baseIsNative(value) {
|
|
1135
|
-
if (!$bfk90(value) || $1fb1799a04ee25ea$exports(value)) return false;
|
|
1136
|
-
var pattern = $7T6pQ(value) ? $927414f7f9d8afbb$var$reIsNative : $927414f7f9d8afbb$var$reIsHostCtor;
|
|
1137
|
-
return pattern.test($c6de24274df36d4e$exports(value));
|
|
1138
|
-
}
|
|
1139
|
-
$927414f7f9d8afbb$exports = $927414f7f9d8afbb$var$baseIsNative;
|
|
1140
1062
|
|
|
1141
1063
|
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
}
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1064
|
+
class $8be2ce0eccbe6d27$export$64c93bc7fb9ca44e extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
1065
|
+
constructor(page){
|
|
1066
|
+
super(page);
|
|
1067
|
+
this.railLocator = this.page.locator("task-drawer .dot-drawer .task-config");
|
|
1068
|
+
}
|
|
1069
|
+
async openInputProperties() {
|
|
1070
|
+
await this.railLocator.locator(".task-config-header").getByText("Input properties").click();
|
|
1071
|
+
}
|
|
1072
|
+
async openOutputProperties() {
|
|
1073
|
+
await this.railLocator.locator(".task-config-header").getByText("Output properties").click();
|
|
1074
|
+
}
|
|
1075
|
+
async getValueFromCi(propertyName) {
|
|
1076
|
+
return this.railLocator.locator(`input[id="${propertyName}"]`).inputValue();
|
|
1077
|
+
}
|
|
1078
|
+
async getAllOptionsFromCi(propertyName) {
|
|
1079
|
+
await this.railLocator.locator(`input[id="${propertyName}"]`).click();
|
|
1080
|
+
return this.railLocator.locator(`.dot-popper ul li`).allInnerTexts();
|
|
1081
|
+
}
|
|
1082
|
+
async setValueFromCi(propertyName, value) {
|
|
1083
|
+
await this.railLocator.locator(`input[id="${propertyName}"]`).clear();
|
|
1084
|
+
await this.railLocator.locator(`input[id="${propertyName}"]`).click();
|
|
1085
|
+
await this.railLocator.locator(`.dot-popper ul li`, {
|
|
1086
|
+
hasText: value
|
|
1087
|
+
}).click();
|
|
1088
|
+
}
|
|
1089
|
+
async getValueFromString(propertyName) {
|
|
1090
|
+
await this.railLocator.locator(`.input-scalar-fake-input[id="${propertyName}"]`).focus();
|
|
1091
|
+
return this.railLocator.locator(`input[id="${propertyName}"]`).inputValue();
|
|
1092
|
+
}
|
|
1093
|
+
async setValueFromString(propertyName, value) {
|
|
1094
|
+
await this.railLocator.locator(`.input-scalar-fake-input[id="${propertyName}"]`).focus();
|
|
1095
|
+
await this.railLocator.locator(`input[id="${propertyName}"]`).fill(value);
|
|
1096
|
+
}
|
|
1097
|
+
async setValueFromLargeString(propertyName, value) {
|
|
1098
|
+
await this.railLocator.locator(`.input-scalar-fake-input[id="${propertyName}"]`).focus();
|
|
1099
|
+
await this.railLocator.locator(`textarea[id="${propertyName}"]`).fill(value);
|
|
1100
|
+
}
|
|
1101
|
+
async setValueFromPassword(propertyName, value) {
|
|
1102
|
+
await this.railLocator.locator(`input[id="${propertyName}"]`).fill(value);
|
|
1103
|
+
}
|
|
1104
|
+
async setAndCreateVariable(propertyName, variableName) {
|
|
1105
|
+
await this.railLocator.locator(`input[id="${propertyName}"]`).clear();
|
|
1106
|
+
await this.railLocator.locator(`input[id="${propertyName}"]`).click();
|
|
1107
|
+
await this.railLocator.locator(`input[id="${propertyName}"]`).fill(variableName);
|
|
1108
|
+
await this.railLocator.locator(`.dot-popper button`, {
|
|
1109
|
+
hasText: variableName
|
|
1110
|
+
}).click();
|
|
1111
|
+
}
|
|
1112
|
+
async setVariable(propertyName, variableName) {
|
|
1113
|
+
return this.setValueFromCi(propertyName, variableName);
|
|
1114
|
+
}
|
|
1115
|
+
async expectValueFromString(propertyName, propertyValue) {
|
|
1116
|
+
return await (0, $kKeXs$playwrighttest.expect)(this.railLocator.locator(`.input-scalar-fake-input[id="${propertyName}"]`)).toHaveText(propertyValue);
|
|
1117
|
+
}
|
|
1166
1118
|
}
|
|
1167
|
-
$b7745e89d7f5915f$exports = $b7745e89d7f5915f$var$getNative;
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
var $97bac00047c338ed$var$defineProperty = function() {
|
|
1171
|
-
try {
|
|
1172
|
-
var func = $b7745e89d7f5915f$exports(Object, "defineProperty");
|
|
1173
|
-
func({}, "", {});
|
|
1174
|
-
return func;
|
|
1175
|
-
} catch (e) {}
|
|
1176
|
-
}();
|
|
1177
|
-
$97bac00047c338ed$exports = $97bac00047c338ed$var$defineProperty;
|
|
1178
1119
|
|
|
1179
1120
|
|
|
1180
1121
|
|
|
1181
|
-
var $9x2D6 = parcelRequire("9x2D6");
|
|
1182
|
-
/**
|
|
1183
|
-
* The base implementation of `setToString` without support for hot loop shorting.
|
|
1184
|
-
*
|
|
1185
|
-
* @private
|
|
1186
|
-
* @param {Function} func The function to modify.
|
|
1187
|
-
* @param {Function} string The `toString` result.
|
|
1188
|
-
* @returns {Function} Returns `func`.
|
|
1189
|
-
*/ var $ef9aec5e693cb6ed$var$baseSetToString = !$97bac00047c338ed$exports ? $9x2D6 : function(func, string) {
|
|
1190
|
-
return $97bac00047c338ed$exports(func, "toString", {
|
|
1191
|
-
"configurable": true,
|
|
1192
|
-
"enumerable": false,
|
|
1193
|
-
"value": $3dc9802adab1dd60$exports(string),
|
|
1194
|
-
"writable": true
|
|
1195
|
-
});
|
|
1196
|
-
};
|
|
1197
|
-
$ef9aec5e693cb6ed$exports = $ef9aec5e693cb6ed$var$baseSetToString;
|
|
1198
1122
|
|
|
1199
1123
|
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1124
|
+
class $9c0b0c2caed50730$export$d4865631ba74f3e2 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
1125
|
+
constructor(page){
|
|
1126
|
+
super(page);
|
|
1127
|
+
this.railLocator = this.page.locator("task-drawer .dot-drawer .task-conditions");
|
|
1128
|
+
this.preconditionToggle = page.getByLabel("Enable precondition");
|
|
1129
|
+
this.textEditor = page.getByRole("textbox");
|
|
1130
|
+
this.saveButton = page.getByTestId("save-btn");
|
|
1131
|
+
}
|
|
1132
|
+
async enablePrecondition() {
|
|
1133
|
+
(0, $kKeXs$playwrighttest.expect)(await this.preconditionToggle.isChecked()).toBe(false);
|
|
1134
|
+
await this.preconditionToggle.check();
|
|
1135
|
+
}
|
|
1136
|
+
async disablePrecondition() {
|
|
1137
|
+
(0, $kKeXs$playwrighttest.expect)(await this.preconditionToggle.isChecked()).toBe(true);
|
|
1138
|
+
await this.preconditionToggle.uncheck();
|
|
1139
|
+
}
|
|
1140
|
+
async setPrecondition(script) {
|
|
1141
|
+
await this.enablePrecondition();
|
|
1142
|
+
await this.textEditor.fill(script);
|
|
1143
|
+
await this.saveButton.dblclick();
|
|
1144
|
+
await this.page.waitForTimeout(1000);
|
|
1145
|
+
}
|
|
1221
1146
|
}
|
|
1222
|
-
$f6a97849336ceea8$exports = $f6a97849336ceea8$var$shortOut;
|
|
1223
1147
|
|
|
1224
1148
|
|
|
1225
|
-
/**
|
|
1226
|
-
* Sets the `toString` method of `func` to return `string`.
|
|
1227
|
-
*
|
|
1228
|
-
* @private
|
|
1229
|
-
* @param {Function} func The function to modify.
|
|
1230
|
-
* @param {Function} string The `toString` result.
|
|
1231
|
-
* @returns {Function} Returns `func`.
|
|
1232
|
-
*/ var $0e9d1d7fde57dac1$var$setToString = $f6a97849336ceea8$exports($ef9aec5e693cb6ed$exports);
|
|
1233
|
-
$0e9d1d7fde57dac1$exports = $0e9d1d7fde57dac1$var$setToString;
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
/**
|
|
1237
|
-
* The base implementation of `_.rest` which doesn't validate or coerce arguments.
|
|
1238
|
-
*
|
|
1239
|
-
* @private
|
|
1240
|
-
* @param {Function} func The function to apply a rest parameter to.
|
|
1241
|
-
* @param {number} [start=func.length-1] The start position of the rest parameter.
|
|
1242
|
-
* @returns {Function} Returns the new function.
|
|
1243
|
-
*/ function $b1535b4ce0d1bd5f$var$baseRest(func, start) {
|
|
1244
|
-
return $0e9d1d7fde57dac1$exports($1b1aa0f3fc7256c9$exports(func, start, $9x2D6), func + "");
|
|
1245
|
-
}
|
|
1246
|
-
$b1535b4ce0d1bd5f$exports = $b1535b4ce0d1bd5f$var$baseRest;
|
|
1247
1149
|
|
|
1248
1150
|
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
* // => true
|
|
1275
|
-
*
|
|
1276
|
-
* _.eq('a', Object('a'));
|
|
1277
|
-
* // => false
|
|
1278
|
-
*
|
|
1279
|
-
* _.eq(NaN, NaN);
|
|
1280
|
-
* // => true
|
|
1281
|
-
*/ function $ceebddaa7160689c$var$eq(value, other) {
|
|
1282
|
-
return value === other || value !== value && other !== other;
|
|
1151
|
+
class $eb81c1b930e440ff$export$519356f6c50361f7 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
1152
|
+
constructor(page){
|
|
1153
|
+
super(page);
|
|
1154
|
+
this.railLocator = this.page.locator("task-drawer .dot-drawer .task-drawer-content");
|
|
1155
|
+
}
|
|
1156
|
+
async setValueFromMap(propertyName, key, value) {
|
|
1157
|
+
await this.railLocator.locator(`.input-with-map[data-test-id="${propertyName}"] button.add-new-button`).click();
|
|
1158
|
+
await this.railLocator.locator(`.input-with-map[data-test-id="${propertyName}"] input[id="new-row-key-input"]`).fill(key);
|
|
1159
|
+
await this.railLocator.locator(`.input-with-map[data-test-id="${propertyName}"] input[id="new-row-value-input"]`).fill(value);
|
|
1160
|
+
await this.railLocator.locator(`.input-with-map[data-test-id="${propertyName}"] button.map-row-save-button`).click();
|
|
1161
|
+
}
|
|
1162
|
+
async setScript(script) {
|
|
1163
|
+
await this.page.locator(".code-editor textarea.ace_text-input").clear();
|
|
1164
|
+
await this.page.locator(".code-editor textarea.ace_text-input").fill(script);
|
|
1165
|
+
await this.page.locator('.code-editor .header button:has-text("Save")').click();
|
|
1166
|
+
}
|
|
1167
|
+
async expectScriptToContain(script) {
|
|
1168
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".code-editor .ace_content")).toContainText(script);
|
|
1169
|
+
}
|
|
1170
|
+
async abort(comment) {
|
|
1171
|
+
await this.page.getByTestId("single-action-button").click();
|
|
1172
|
+
await this.page.getByTestId("task-action-comment").click();
|
|
1173
|
+
await this.page.getByTestId("task-action-comment").fill(comment);
|
|
1174
|
+
await this.page.getByTestId("task-action-confirm").click();
|
|
1175
|
+
}
|
|
1283
1176
|
}
|
|
1284
|
-
$ceebddaa7160689c$exports = $ceebddaa7160689c$var$eq;
|
|
1285
1177
|
|
|
1286
1178
|
|
|
1287
|
-
var $e084f044678f4365$exports = {};
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
var $fegcS = parcelRequire("fegcS");
|
|
1291
1179
|
|
|
1292
|
-
var $gf9YK = parcelRequire("gf9YK");
|
|
1293
1180
|
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
* @private
|
|
1299
|
-
* @param {*} value The potential iteratee value argument.
|
|
1300
|
-
* @param {*} index The potential iteratee index or key argument.
|
|
1301
|
-
* @param {*} object The potential iteratee object argument.
|
|
1302
|
-
* @returns {boolean} Returns `true` if the arguments are from an iteratee call,
|
|
1303
|
-
* else `false`.
|
|
1304
|
-
*/ function $e084f044678f4365$var$isIterateeCall(value, index, object) {
|
|
1305
|
-
if (!$bfk90(object)) return false;
|
|
1306
|
-
var type = typeof index;
|
|
1307
|
-
if (type == "number" ? $fegcS(object) && $gf9YK(index, object.length) : type == "string" && index in object) return $ceebddaa7160689c$exports(object[index], value);
|
|
1308
|
-
return false;
|
|
1181
|
+
class $6c924a95a765a086$export$15d3f9b095bb5188 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
1182
|
+
async expectCommentToContain(text) {
|
|
1183
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".task-comment .markdown-wrapper p")).toContainText(text);
|
|
1184
|
+
}
|
|
1309
1185
|
}
|
|
1310
|
-
$e084f044678f4365$exports = $e084f044678f4365$var$isIterateeCall;
|
|
1311
1186
|
|
|
1312
1187
|
|
|
1313
|
-
var $0e6e2e34ec44a72a$exports = {};
|
|
1314
|
-
|
|
1315
|
-
var $gYWmw = parcelRequire("gYWmw");
|
|
1316
|
-
var $b4b8b2a977b4cc10$exports = {};
|
|
1317
1188
|
|
|
1318
|
-
var $bfk90 = parcelRequire("bfk90");
|
|
1319
1189
|
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
*
|
|
1327
|
-
* @private
|
|
1328
|
-
* @param {Object} object The object to query.
|
|
1329
|
-
* @returns {Array} Returns the array of property names.
|
|
1330
|
-
*/ function $59b6e790ee7519e4$var$nativeKeysIn(object) {
|
|
1331
|
-
var result = [];
|
|
1332
|
-
if (object != null) for(var key in Object(object))result.push(key);
|
|
1333
|
-
return result;
|
|
1190
|
+
class $f9016705c1a1eb20$export$aa59788fdecae2f2 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
1191
|
+
async expectWithAttachment(filename) {
|
|
1192
|
+
const test = this.page.locator(".task-attachments-grid .file-item-text");
|
|
1193
|
+
await test.isVisible();
|
|
1194
|
+
await (0, $kKeXs$playwrighttest.expect)(test).toContainText(filename);
|
|
1195
|
+
}
|
|
1334
1196
|
}
|
|
1335
|
-
$59b6e790ee7519e4$exports = $59b6e790ee7519e4$var$nativeKeysIn;
|
|
1336
1197
|
|
|
1337
1198
|
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1199
|
+
class $6a21661eb4695574$export$e946776eae644790 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
1200
|
+
constructor(page){
|
|
1201
|
+
super(page);
|
|
1202
|
+
this.taskDrawerLocator = this.page.locator("task-drawer .dot-drawer");
|
|
1203
|
+
this.retryButton = this.page.getByRole("button", {
|
|
1204
|
+
name: "Retry"
|
|
1205
|
+
});
|
|
1206
|
+
this.cancelButton = this.page.getByTestId("task-action-cancel");
|
|
1207
|
+
this.commentBox = this.page.getByTestId("task-action-comment");
|
|
1208
|
+
this.confirm = this.page.getByTestId("task-action-confirm");
|
|
1209
|
+
this.activity = new (0, $6c924a95a765a086$export$15d3f9b095bb5188)(page);
|
|
1210
|
+
this.attachment = new (0, $f9016705c1a1eb20$export$aa59788fdecae2f2)(page);
|
|
1211
|
+
this.config = new (0, $8be2ce0eccbe6d27$export$64c93bc7fb9ca44e)(page);
|
|
1212
|
+
this.condition = new (0, $9c0b0c2caed50730$export$d4865631ba74f3e2)(page);
|
|
1213
|
+
this.overview = new (0, $eb81c1b930e440ff$export$519356f6c50361f7)(page);
|
|
1214
|
+
this.skipMenu = this.page.getByRole("menuitem", {
|
|
1215
|
+
name: "Skip"
|
|
1216
|
+
});
|
|
1217
|
+
}
|
|
1218
|
+
async openOverviewRail() {
|
|
1219
|
+
await this.openRail("Overview");
|
|
1220
|
+
}
|
|
1221
|
+
async openActivityRail() {
|
|
1222
|
+
await this.openRail("Activity");
|
|
1223
|
+
}
|
|
1224
|
+
async openSchedulingRail() {
|
|
1225
|
+
await this.openRail("Scheduling");
|
|
1226
|
+
}
|
|
1227
|
+
async openConditionRail() {
|
|
1228
|
+
await this.openRail("Conditions");
|
|
1229
|
+
}
|
|
1230
|
+
async openAttributesRail() {
|
|
1231
|
+
await this.openRail("Attributes");
|
|
1232
|
+
}
|
|
1233
|
+
async openAttachRail() {
|
|
1234
|
+
await this.openRail("Attach");
|
|
1235
|
+
}
|
|
1236
|
+
async openTagsRail() {
|
|
1237
|
+
await this.openRail("Tags");
|
|
1238
|
+
}
|
|
1239
|
+
async openRail(rail) {
|
|
1240
|
+
await this.taskDrawerLocator.locator(".task-navigation-rail").getByText(rail).click();
|
|
1241
|
+
}
|
|
1242
|
+
async close() {
|
|
1243
|
+
await this.taskDrawerLocator.locator(".task-drawer-header").getByTestId("close-btn").click();
|
|
1244
|
+
}
|
|
1245
|
+
async retryTask(comment) {
|
|
1246
|
+
await this.retryButton.click();
|
|
1247
|
+
await this.commentBox.fill(comment);
|
|
1248
|
+
await this.confirm.click();
|
|
1249
|
+
}
|
|
1250
|
+
async skipTask(comment) {
|
|
1251
|
+
await this.page.getByRole("button", {
|
|
1252
|
+
name: "arrow-down icon",
|
|
1253
|
+
exact: true
|
|
1254
|
+
}).click();
|
|
1255
|
+
await this.skipMenu.click();
|
|
1256
|
+
await this.commentBox.fill(comment);
|
|
1257
|
+
await this.confirm.click();
|
|
1258
|
+
}
|
|
1351
1259
|
}
|
|
1352
|
-
$b4b8b2a977b4cc10$exports = $b4b8b2a977b4cc10$var$baseKeysIn;
|
|
1353
1260
|
|
|
1354
1261
|
|
|
1355
1262
|
|
|
1356
|
-
var $fegcS = parcelRequire("fegcS");
|
|
1357
|
-
/**
|
|
1358
|
-
* Creates an array of the own and inherited enumerable property names of `object`.
|
|
1359
|
-
*
|
|
1360
|
-
* **Note:** Non-object values are coerced to objects.
|
|
1361
|
-
*
|
|
1362
|
-
* @static
|
|
1363
|
-
* @memberOf _
|
|
1364
|
-
* @since 3.0.0
|
|
1365
|
-
* @category Object
|
|
1366
|
-
* @param {Object} object The object to query.
|
|
1367
|
-
* @returns {Array} Returns the array of property names.
|
|
1368
|
-
* @example
|
|
1369
|
-
*
|
|
1370
|
-
* function Foo() {
|
|
1371
|
-
* this.a = 1;
|
|
1372
|
-
* this.b = 2;
|
|
1373
|
-
* }
|
|
1374
|
-
*
|
|
1375
|
-
* Foo.prototype.c = 3;
|
|
1376
|
-
*
|
|
1377
|
-
* _.keysIn(new Foo);
|
|
1378
|
-
* // => ['a', 'b', 'c'] (iteration order is not guaranteed)
|
|
1379
|
-
*/ function $0e6e2e34ec44a72a$var$keysIn(object) {
|
|
1380
|
-
return $fegcS(object) ? $gYWmw(object, true) : $b4b8b2a977b4cc10$exports(object);
|
|
1381
|
-
}
|
|
1382
|
-
$0e6e2e34ec44a72a$exports = $0e6e2e34ec44a72a$var$keysIn;
|
|
1383
|
-
|
|
1384
1263
|
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1264
|
+
class $8681d8a3f46f87b7$export$d1077068a9cc9f17 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
1265
|
+
constructor(page){
|
|
1266
|
+
super(page);
|
|
1267
|
+
}
|
|
1268
|
+
async editReleaseName(name) {
|
|
1269
|
+
await this.page.locator("#release-form-title").clear();
|
|
1270
|
+
await this.page.locator("#release-form-title").fill(name);
|
|
1271
|
+
}
|
|
1272
|
+
async setDescription(description) {
|
|
1273
|
+
await this.page.locator(".display > .xl-icon").first().click();
|
|
1274
|
+
await this.page.locator("textarea").click();
|
|
1275
|
+
await this.page.locator("textarea").clear();
|
|
1276
|
+
await this.page.locator("textarea").fill(description);
|
|
1277
|
+
await this.page.getByText("Save").first().click();
|
|
1278
|
+
}
|
|
1279
|
+
async setScriptUsername(username) {
|
|
1280
|
+
await this.page.getByPlaceholder("Set user...").waitFor();
|
|
1281
|
+
await this.page.getByPlaceholder("Set user...").click();
|
|
1282
|
+
await this.page.locator('input[name=""]').fill(username, {
|
|
1283
|
+
timeout: 2000
|
|
1284
|
+
});
|
|
1285
|
+
}
|
|
1286
|
+
async setScriptUserPassword(password) {
|
|
1287
|
+
await this.page.locator('span[name="scriptUserPassword"]').waitFor();
|
|
1288
|
+
await this.page.locator('span[name="scriptUserPassword"]').click();
|
|
1289
|
+
await this.page.locator('input[name="scriptUserPassword"]').fill(password, {
|
|
1290
|
+
timeout: 2000
|
|
1291
|
+
});
|
|
1292
|
+
}
|
|
1293
|
+
async save() {
|
|
1294
|
+
await this.page.getByRole("button", {
|
|
1295
|
+
name: "Save"
|
|
1296
|
+
}).click({
|
|
1297
|
+
timeout: 2000
|
|
1298
|
+
});
|
|
1299
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".form-footer .last-saved")).toBeVisible();
|
|
1300
|
+
}
|
|
1301
|
+
async reset() {
|
|
1302
|
+
await this.page.getByRole("button", {
|
|
1303
|
+
name: "Reset"
|
|
1304
|
+
}).waitFor();
|
|
1305
|
+
await this.page.getByRole("button", {
|
|
1306
|
+
name: "Reset"
|
|
1307
|
+
}).click();
|
|
1423
1308
|
}
|
|
1424
|
-
return object;
|
|
1425
|
-
});
|
|
1426
|
-
$732eba8dca8b5420$exports = $732eba8dca8b5420$var$defaults;
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
var $f51969c4a7467fa0$exports = {};
|
|
1430
|
-
var $acbd35b1cbbf33e4$exports = {};
|
|
1431
|
-
var $34482bf0fdb87aa6$exports = {};
|
|
1432
|
-
var $c258ac491a64b22b$exports = {};
|
|
1433
|
-
/**
|
|
1434
|
-
* A specialized version of `_.map` for arrays without support for iteratee
|
|
1435
|
-
* shorthands.
|
|
1436
|
-
*
|
|
1437
|
-
* @private
|
|
1438
|
-
* @param {Array} [array] The array to iterate over.
|
|
1439
|
-
* @param {Function} iteratee The function invoked per iteration.
|
|
1440
|
-
* @returns {Array} Returns the new mapped array.
|
|
1441
|
-
*/ function $c258ac491a64b22b$var$arrayMap(array, iteratee) {
|
|
1442
|
-
var index = -1, length = array == null ? 0 : array.length, result = Array(length);
|
|
1443
|
-
while(++index < length)result[index] = iteratee(array[index], index, array);
|
|
1444
|
-
return result;
|
|
1445
|
-
}
|
|
1446
|
-
$c258ac491a64b22b$exports = $c258ac491a64b22b$var$arrayMap;
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
/**
|
|
1450
|
-
* The base implementation of `_.toPairs` and `_.toPairsIn` which creates an array
|
|
1451
|
-
* of key-value pairs for `object` corresponding to the property names of `props`.
|
|
1452
|
-
*
|
|
1453
|
-
* @private
|
|
1454
|
-
* @param {Object} object The object to query.
|
|
1455
|
-
* @param {Array} props The property names to get values for.
|
|
1456
|
-
* @returns {Object} Returns the key-value pairs.
|
|
1457
|
-
*/ function $34482bf0fdb87aa6$var$baseToPairs(object, props) {
|
|
1458
|
-
return $c258ac491a64b22b$exports(props, function(key) {
|
|
1459
|
-
return [
|
|
1460
|
-
key,
|
|
1461
|
-
object[key]
|
|
1462
|
-
];
|
|
1463
|
-
});
|
|
1464
1309
|
}
|
|
1465
|
-
$34482bf0fdb87aa6$exports = $34482bf0fdb87aa6$var$baseToPairs;
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
var $2184c74fd3b50571$exports = {};
|
|
1469
|
-
var $9707ed10f1d74f7d$exports = {};
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
var $5iYlB = parcelRequire("5iYlB");
|
|
1473
|
-
/* Built-in method references that are verified to be native. */ var $9707ed10f1d74f7d$var$DataView = $b7745e89d7f5915f$exports($5iYlB, "DataView");
|
|
1474
|
-
$9707ed10f1d74f7d$exports = $9707ed10f1d74f7d$var$DataView;
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
var $8c4ecd35968046d6$exports = {};
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
var $5iYlB = parcelRequire("5iYlB");
|
|
1481
|
-
/* Built-in method references that are verified to be native. */ var $8c4ecd35968046d6$var$Map = $b7745e89d7f5915f$exports($5iYlB, "Map");
|
|
1482
|
-
$8c4ecd35968046d6$exports = $8c4ecd35968046d6$var$Map;
|
|
1483
|
-
|
|
1484
|
-
|
|
1485
|
-
var $30f4d64ddd8effd1$exports = {};
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
var $5iYlB = parcelRequire("5iYlB");
|
|
1489
|
-
/* Built-in method references that are verified to be native. */ var $30f4d64ddd8effd1$var$Promise = $b7745e89d7f5915f$exports($5iYlB, "Promise");
|
|
1490
|
-
$30f4d64ddd8effd1$exports = $30f4d64ddd8effd1$var$Promise;
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
var $869474d4b330cc35$exports = {};
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
var $5iYlB = parcelRequire("5iYlB");
|
|
1497
|
-
/* Built-in method references that are verified to be native. */ var $869474d4b330cc35$var$Set = $b7745e89d7f5915f$exports($5iYlB, "Set");
|
|
1498
|
-
$869474d4b330cc35$exports = $869474d4b330cc35$var$Set;
|
|
1499
|
-
|
|
1500
|
-
|
|
1501
|
-
var $c4df061ad36170d9$exports = {};
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
var $5iYlB = parcelRequire("5iYlB");
|
|
1505
|
-
/* Built-in method references that are verified to be native. */ var $c4df061ad36170d9$var$WeakMap = $b7745e89d7f5915f$exports($5iYlB, "WeakMap");
|
|
1506
|
-
$c4df061ad36170d9$exports = $c4df061ad36170d9$var$WeakMap;
|
|
1507
|
-
|
|
1508
|
-
|
|
1509
1310
|
|
|
1510
|
-
var $hi3Ib = parcelRequire("hi3Ib");
|
|
1511
1311
|
|
|
1512
|
-
|
|
1513
|
-
|
|
1514
|
-
|
|
1515
|
-
|
|
1516
|
-
|
|
1517
|
-
|
|
1518
|
-
* @private
|
|
1519
|
-
* @param {*} value The value to query.
|
|
1520
|
-
* @returns {string} Returns the `toStringTag`.
|
|
1521
|
-
*/ var $2184c74fd3b50571$var$getTag = $hi3Ib;
|
|
1522
|
-
// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.
|
|
1523
|
-
if ($9707ed10f1d74f7d$exports && $2184c74fd3b50571$var$getTag(new $9707ed10f1d74f7d$exports(new ArrayBuffer(1))) != $2184c74fd3b50571$var$dataViewTag || $8c4ecd35968046d6$exports && $2184c74fd3b50571$var$getTag(new $8c4ecd35968046d6$exports) != $2184c74fd3b50571$var$mapTag || $30f4d64ddd8effd1$exports && $2184c74fd3b50571$var$getTag($30f4d64ddd8effd1$exports.resolve()) != $2184c74fd3b50571$var$promiseTag || $869474d4b330cc35$exports && $2184c74fd3b50571$var$getTag(new $869474d4b330cc35$exports) != $2184c74fd3b50571$var$setTag || $c4df061ad36170d9$exports && $2184c74fd3b50571$var$getTag(new $c4df061ad36170d9$exports) != $2184c74fd3b50571$var$weakMapTag) $2184c74fd3b50571$var$getTag = function(value) {
|
|
1524
|
-
var result = $hi3Ib(value), Ctor = result == $2184c74fd3b50571$var$objectTag ? value.constructor : undefined, ctorString = Ctor ? $c6de24274df36d4e$exports(Ctor) : "";
|
|
1525
|
-
if (ctorString) switch(ctorString){
|
|
1526
|
-
case $2184c74fd3b50571$var$dataViewCtorString:
|
|
1527
|
-
return $2184c74fd3b50571$var$dataViewTag;
|
|
1528
|
-
case $2184c74fd3b50571$var$mapCtorString:
|
|
1529
|
-
return $2184c74fd3b50571$var$mapTag;
|
|
1530
|
-
case $2184c74fd3b50571$var$promiseCtorString:
|
|
1531
|
-
return $2184c74fd3b50571$var$promiseTag;
|
|
1532
|
-
case $2184c74fd3b50571$var$setCtorString:
|
|
1533
|
-
return $2184c74fd3b50571$var$setTag;
|
|
1534
|
-
case $2184c74fd3b50571$var$weakMapCtorString:
|
|
1535
|
-
return $2184c74fd3b50571$var$weakMapTag;
|
|
1312
|
+
class $9b9a8c3da392d020$export$f43492e8ac3c566 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
1313
|
+
constructor(page){
|
|
1314
|
+
super(page);
|
|
1315
|
+
this.taskDrawer = new (0, $6a21661eb4695574$export$e946776eae644790)(page);
|
|
1316
|
+
this.properties = new (0, $8681d8a3f46f87b7$export$d1077068a9cc9f17)(page);
|
|
1317
|
+
this.variables = new (0, $fd4eef3ad2b2e612$export$a87f0ae8695e74be)(page);
|
|
1536
1318
|
}
|
|
1537
|
-
|
|
1538
|
-
|
|
1539
|
-
|
|
1319
|
+
async openTriggers() {
|
|
1320
|
+
await this.openSubPage("Triggers");
|
|
1321
|
+
return new (0, $133601cfe0486710$export$fb932093f944abe4)(this.page);
|
|
1322
|
+
}
|
|
1323
|
+
async abort(comment = "Abort for testing") {
|
|
1324
|
+
await this.page.locator("action-toolbar button", {
|
|
1325
|
+
hasText: "Abort"
|
|
1326
|
+
}).click();
|
|
1327
|
+
await this.page.locator(".modal textarea").fill(comment);
|
|
1328
|
+
await this.page.locator(".modal .continue").click();
|
|
1329
|
+
}
|
|
1330
|
+
getPhase(phaseName) {
|
|
1331
|
+
return new $9b9a8c3da392d020$var$Phase(this.page, phaseName);
|
|
1332
|
+
}
|
|
1333
|
+
async start() {
|
|
1334
|
+
await this.page.getByTestId("start-btn").click();
|
|
1335
|
+
await this.page.getByRole("button", {
|
|
1336
|
+
name: "Start"
|
|
1337
|
+
}).click();
|
|
1338
|
+
}
|
|
1339
|
+
async waitForCompletion(timeout) {
|
|
1340
|
+
await this.page.locator("#release.completed").waitFor({
|
|
1341
|
+
timeout: timeout
|
|
1342
|
+
});
|
|
1343
|
+
}
|
|
1344
|
+
async waitForTaskCompleted(taskTitle) {
|
|
1345
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".task.completed").getByText(taskTitle, {
|
|
1346
|
+
exact: true
|
|
1347
|
+
})).toBeVisible({
|
|
1348
|
+
timeout: 10000
|
|
1349
|
+
});
|
|
1350
|
+
}
|
|
1351
|
+
async waitForTaskFailed(taskTitle) {
|
|
1352
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".task.failed").getByText(taskTitle, {
|
|
1353
|
+
exact: true
|
|
1354
|
+
})).toBeVisible({
|
|
1355
|
+
timeout: 10000
|
|
1356
|
+
});
|
|
1357
|
+
}
|
|
1358
|
+
async waitForTaskSkipped(taskTitle) {
|
|
1359
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".task.skipped").getByText(taskTitle, {
|
|
1360
|
+
exact: true
|
|
1361
|
+
})).toBeVisible({
|
|
1362
|
+
timeout: 10000
|
|
1363
|
+
});
|
|
1364
|
+
}
|
|
1365
|
+
async waitForTaskAborted(taskTitle) {
|
|
1366
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".task.aborted").getByText(taskTitle, {
|
|
1367
|
+
exact: true
|
|
1368
|
+
})).toBeVisible({
|
|
1369
|
+
timeout: 10000
|
|
1370
|
+
});
|
|
1371
|
+
}
|
|
1372
|
+
async waitForStatusLine(statusLine) {
|
|
1373
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".task .status-line").getByText(statusLine, {
|
|
1374
|
+
exact: true
|
|
1375
|
+
})).toBeVisible({
|
|
1376
|
+
timeout: 10000
|
|
1377
|
+
});
|
|
1378
|
+
}
|
|
1379
|
+
async waitForTaskStarted(taskTitle) {
|
|
1380
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".task.in_progress").getByTitle(taskTitle, {
|
|
1381
|
+
exact: true
|
|
1382
|
+
})).toBeVisible({
|
|
1383
|
+
timeout: 10000
|
|
1384
|
+
});
|
|
1385
|
+
}
|
|
1386
|
+
async openTaskDrawer(taskName) {
|
|
1387
|
+
await this.page.locator(".task-header").getByText(taskName, {
|
|
1388
|
+
exact: true
|
|
1389
|
+
}).click();
|
|
1390
|
+
return this.taskDrawer;
|
|
1391
|
+
}
|
|
1392
|
+
async openVariables() {
|
|
1393
|
+
await this.openReleaseMenu("Variables");
|
|
1394
|
+
}
|
|
1395
|
+
async openProperties() {
|
|
1396
|
+
await this.openReleaseMenu("Properties");
|
|
1397
|
+
}
|
|
1398
|
+
async openReleaseFlow() {
|
|
1399
|
+
await this.openReleaseMenu("Release flow");
|
|
1400
|
+
}
|
|
1401
|
+
async openRelationships() {
|
|
1402
|
+
await this.openReleaseMenu("Relationships");
|
|
1403
|
+
}
|
|
1404
|
+
async openTeamsPermissions() {
|
|
1405
|
+
await this.openReleaseMenu("Teams & Permissions");
|
|
1406
|
+
}
|
|
1407
|
+
async openDashboard() {
|
|
1408
|
+
await this.openReleaseMenu("Dashboard");
|
|
1409
|
+
}
|
|
1410
|
+
async openActivityLogs() {
|
|
1411
|
+
await this.openReleaseMenu("ActivityLogs");
|
|
1412
|
+
}
|
|
1413
|
+
async openReleaseMenu(menuItem) {
|
|
1414
|
+
await this.page.locator(`navigation-sidebar ul li`).getByText(menuItem, {
|
|
1415
|
+
exact: true
|
|
1416
|
+
}).click();
|
|
1417
|
+
}
|
|
1418
|
+
async openSubPage(subpage) {
|
|
1419
|
+
await this.page.locator("ul.side-nav li", {
|
|
1420
|
+
hasText: subpage
|
|
1421
|
+
}).click();
|
|
1422
|
+
}
|
|
1423
|
+
async openTask(taskName) {
|
|
1424
|
+
await this.page.getByTitle(taskName, {
|
|
1425
|
+
exact: true
|
|
1426
|
+
}).click();
|
|
1427
|
+
}
|
|
1428
|
+
async collapseAllTaskView() {
|
|
1429
|
+
const icCollapseTreeview1 = this.page.locator("div.pull-left.expander.ng-scope i.xl-icon.arrow-down-icon");
|
|
1430
|
+
for (const element of (await icCollapseTreeview1.all())){
|
|
1431
|
+
const blnVal = await element.isVisible();
|
|
1432
|
+
if (blnVal) {
|
|
1433
|
+
await element.click();
|
|
1434
|
+
await this.collapseAllTaskView();
|
|
1435
|
+
}
|
|
1436
|
+
}
|
|
1437
|
+
}
|
|
1438
|
+
async expandAllTaskView() {
|
|
1439
|
+
const icExpandTreeview1 = this.page.locator("div.pull-left.expander.ng-scope i.xl-icon.arrow-right-icon");
|
|
1440
|
+
for (const element of (await icExpandTreeview1.all())){
|
|
1441
|
+
const blnVal = await element.isVisible();
|
|
1442
|
+
if (blnVal) {
|
|
1443
|
+
await element.click();
|
|
1444
|
+
await this.expandAllTaskView();
|
|
1445
|
+
}
|
|
1446
|
+
}
|
|
1447
|
+
}
|
|
1448
|
+
async backToRelease() {
|
|
1449
|
+
await this.page.locator(".icon-back").click();
|
|
1450
|
+
}
|
|
1451
|
+
}
|
|
1452
|
+
class $9b9a8c3da392d020$var$Phase extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
1453
|
+
constructor(page, phaseName){
|
|
1454
|
+
super(page);
|
|
1455
|
+
this.phaseLocator = page.locator(".phase", {
|
|
1456
|
+
hasText: phaseName
|
|
1457
|
+
});
|
|
1458
|
+
}
|
|
1459
|
+
async setTitle(title) {
|
|
1460
|
+
await this.phaseLocator.locator(".phase-header .display").click();
|
|
1461
|
+
await this.phaseLocator.locator(".phase-header input").clear();
|
|
1462
|
+
await this.phaseLocator.locator(".phase-header input").fill(title);
|
|
1463
|
+
await this.phaseLocator.locator(".phase-header input").blur();
|
|
1464
|
+
}
|
|
1465
|
+
async expectTaskBorderWithColor(taskName, color) {
|
|
1466
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(`.task-box:has-text('${taskName}')`)).toHaveCSS("border-top-color", color);
|
|
1467
|
+
}
|
|
1468
|
+
async addTaskInPhase(taskTitle, taskType) {
|
|
1469
|
+
await this.phaseLocator.getByText("Add task").click();
|
|
1470
|
+
await this.phaseLocator.getByPlaceholder("Task title...").click();
|
|
1471
|
+
await this.phaseLocator.getByPlaceholder("Task title...").fill(taskTitle);
|
|
1472
|
+
await this.phaseLocator.locator(".xlr-ctx-menu-toggle").click();
|
|
1473
|
+
const count = taskType.length - 1;
|
|
1474
|
+
for(let i = 0; i < count; i++){
|
|
1475
|
+
await this.page.locator('[data-test="' + taskType[i] + '"]').getByText(taskType[i]).click();
|
|
1476
|
+
await this.page.getByText(taskType[i + 1]).click();
|
|
1477
|
+
}
|
|
1478
|
+
await this.phaseLocator.locator(".quick-controls-container a").getByText("Add", {
|
|
1479
|
+
exact: true
|
|
1480
|
+
}).click();
|
|
1481
|
+
await this.phaseLocator.locator(".button.cancel").click();
|
|
1482
|
+
await (0, $kKeXs$playwrighttest.expect)(this.phaseLocator.locator(".task").filter({
|
|
1483
|
+
hasText: taskTitle
|
|
1484
|
+
})).toBeVisible({
|
|
1485
|
+
timeout: 5000
|
|
1486
|
+
});
|
|
1487
|
+
}
|
|
1488
|
+
async getNumberOfTasks() {
|
|
1489
|
+
return await this.phaseLocator.locator(".task").count();
|
|
1490
|
+
}
|
|
1491
|
+
async expectToHaveNoneditableTitle(phaseTitle) {
|
|
1492
|
+
await (0, $kKeXs$playwrighttest.expect)(this.phaseLocator.locator(".phase-title > span")).toContainText(phaseTitle);
|
|
1493
|
+
}
|
|
1494
|
+
async expectToHaveTitle(phaseTitle) {
|
|
1495
|
+
await (0, $kKeXs$playwrighttest.expect)(this.phaseLocator.locator(".phase-title")).toContainText(phaseTitle);
|
|
1496
|
+
}
|
|
1497
|
+
}
|
|
1540
1498
|
|
|
1541
1499
|
|
|
1542
|
-
var $5cfa9b34443304aa$exports = {};
|
|
1543
|
-
/**
|
|
1544
|
-
* Converts `map` to its key-value pairs.
|
|
1545
|
-
*
|
|
1546
|
-
* @private
|
|
1547
|
-
* @param {Object} map The map to convert.
|
|
1548
|
-
* @returns {Array} Returns the key-value pairs.
|
|
1549
|
-
*/ function $5cfa9b34443304aa$var$mapToArray(map) {
|
|
1550
|
-
var index = -1, result = Array(map.size);
|
|
1551
|
-
map.forEach(function(value, key) {
|
|
1552
|
-
result[++index] = [
|
|
1553
|
-
key,
|
|
1554
|
-
value
|
|
1555
|
-
];
|
|
1556
|
-
});
|
|
1557
|
-
return result;
|
|
1558
|
-
}
|
|
1559
|
-
$5cfa9b34443304aa$exports = $5cfa9b34443304aa$var$mapToArray;
|
|
1560
1500
|
|
|
1561
1501
|
|
|
1562
|
-
|
|
1563
|
-
|
|
1564
|
-
|
|
1565
|
-
|
|
1566
|
-
|
|
1567
|
-
|
|
1568
|
-
|
|
1569
|
-
|
|
1570
|
-
|
|
1571
|
-
|
|
1572
|
-
|
|
1573
|
-
|
|
1574
|
-
|
|
1575
|
-
];
|
|
1576
|
-
|
|
1577
|
-
|
|
1502
|
+
class $dc91ece6da6cadfa$export$1533b625ec0c75e2 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
1503
|
+
async goToApplicationsPage() {
|
|
1504
|
+
await this.page.goto("./#/applications");
|
|
1505
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page).toHaveTitle("Applications - Digital.ai Release");
|
|
1506
|
+
return this;
|
|
1507
|
+
}
|
|
1508
|
+
async addNewApplication(applicationName) {
|
|
1509
|
+
await this.page.locator(`//button[normalize-space()='New application']`).click();
|
|
1510
|
+
await this.page.locator(`input[placeholder='Add name...']`).type(applicationName);
|
|
1511
|
+
await this.page.locator(`//button[normalize-space()='Save']`).click();
|
|
1512
|
+
return this;
|
|
1513
|
+
}
|
|
1514
|
+
async verifyApplicationisCreated(applicationName) {
|
|
1515
|
+
await this.page.waitForSelector(`div[title='${applicationName}'] strong`);
|
|
1516
|
+
return this;
|
|
1517
|
+
}
|
|
1518
|
+
async createApplicationAndLinkEnvironment(environmentName, applicationName) {
|
|
1519
|
+
await this.page.locator(`//button[normalize-space()='New application']`).click();
|
|
1520
|
+
await this.page.locator(`input[placeholder='Add name...']`).type(applicationName);
|
|
1521
|
+
await this.page.locator("input[placeholder='Filter environment name...']").type(environmentName);
|
|
1522
|
+
await this.page.locator(`div[title='${environmentName}']`).click();
|
|
1523
|
+
await this.page.locator(`//button[normalize-space()='Save']`).click();
|
|
1524
|
+
await this.page.locator("i.xl-icon.close-icon").click();
|
|
1525
|
+
return this;
|
|
1526
|
+
}
|
|
1578
1527
|
}
|
|
1579
|
-
$e0efec8f59f2b46b$exports = $e0efec8f59f2b46b$var$setToPairs;
|
|
1580
1528
|
|
|
1581
1529
|
|
|
1582
|
-
|
|
1583
|
-
|
|
1584
|
-
|
|
1585
|
-
|
|
1586
|
-
|
|
1587
|
-
|
|
1588
|
-
|
|
1589
|
-
|
|
1590
|
-
|
|
1591
|
-
|
|
1592
|
-
|
|
1593
|
-
|
|
1594
|
-
|
|
1595
|
-
|
|
1530
|
+
|
|
1531
|
+
|
|
1532
|
+
class $be4dd73206d8e76b$export$3cac5fd37ae64b91 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
1533
|
+
async openPersonalAccessTokenPage() {
|
|
1534
|
+
// await this.page.locator("button.dot-avatar").click()
|
|
1535
|
+
// await this.page.locator("//div[normalize-space()='Access tokens']").click()
|
|
1536
|
+
await this.page.goto("./#/personal-access-token");
|
|
1537
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page).toHaveTitle("Access tokens / Personal settings - Digital.ai Release");
|
|
1538
|
+
return this;
|
|
1539
|
+
}
|
|
1540
|
+
async addNewToken(tokenName) {
|
|
1541
|
+
//await expect(this.page).toHaveTitle('Access tokens / Personal settings - Digital.ai Release')
|
|
1542
|
+
await this.page.locator("#tokenText").fill(tokenName);
|
|
1543
|
+
await this.page.locator("button[type='submit']").click();
|
|
1544
|
+
return this;
|
|
1545
|
+
}
|
|
1596
1546
|
}
|
|
1597
|
-
$acbd35b1cbbf33e4$exports = $acbd35b1cbbf33e4$var$createToPairs;
|
|
1598
1547
|
|
|
1599
1548
|
|
|
1600
1549
|
|
|
1601
|
-
var $bqLSx = parcelRequire("bqLSx");
|
|
1602
|
-
/**
|
|
1603
|
-
* Creates an array of own enumerable string keyed-value pairs for `object`
|
|
1604
|
-
* which can be consumed by `_.fromPairs`. If `object` is a map or set, its
|
|
1605
|
-
* entries are returned.
|
|
1606
|
-
*
|
|
1607
|
-
* @static
|
|
1608
|
-
* @memberOf _
|
|
1609
|
-
* @since 4.0.0
|
|
1610
|
-
* @alias entries
|
|
1611
|
-
* @category Object
|
|
1612
|
-
* @param {Object} object The object to query.
|
|
1613
|
-
* @returns {Array} Returns the key-value pairs.
|
|
1614
|
-
* @example
|
|
1615
|
-
*
|
|
1616
|
-
* function Foo() {
|
|
1617
|
-
* this.a = 1;
|
|
1618
|
-
* this.b = 2;
|
|
1619
|
-
* }
|
|
1620
|
-
*
|
|
1621
|
-
* Foo.prototype.c = 3;
|
|
1622
|
-
*
|
|
1623
|
-
* _.toPairs(new Foo);
|
|
1624
|
-
* // => [['a', 1], ['b', 2]] (iteration order is not guaranteed)
|
|
1625
|
-
*/ var $f51969c4a7467fa0$var$toPairs = $acbd35b1cbbf33e4$exports($bqLSx);
|
|
1626
|
-
$f51969c4a7467fa0$exports = $f51969c4a7467fa0$var$toPairs;
|
|
1627
1550
|
|
|
1628
1551
|
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
|
|
1637
|
-
|
|
1638
|
-
|
|
1639
|
-
const DASHBOARD_TYPE = "xlrelease.Dashboard";
|
|
1640
|
-
const _TRIGGER_TYPE = "xlrelease.ReleaseTrigger";
|
|
1641
|
-
const JIRA_TYPE = "jira.CreateIssue";
|
|
1642
|
-
const DEFAULT_TASK_OWNER = "Itchy";
|
|
1643
|
-
const processTasks = (task, container, index)=>{
|
|
1644
|
-
if ((0, (/*@__PURE__*/$parcel$interopDefault($3e8b520187e41aa6$exports)))(task.type)) task.type = TASK_TYPE;
|
|
1645
|
-
task.id = task.id || `${container.id}/Task${index}`;
|
|
1646
|
-
if ((0, (/*@__PURE__*/$parcel$interopDefault($3e8b520187e41aa6$exports)))(task.owner) && task.type !== JIRA_TYPE) task.owner = DEFAULT_TASK_OWNER;
|
|
1647
|
-
if (task.owner === null) delete task.owner;
|
|
1648
|
-
(0, (/*@__PURE__*/$parcel$interopDefault($952a2b8d8056b381$exports)))(task.conditions, function(condition, idx) {
|
|
1649
|
-
condition.type = CONDITION_TYPE;
|
|
1650
|
-
condition.id = `${task.id}/GateCondition${idx}`;
|
|
1651
|
-
});
|
|
1652
|
-
(0, (/*@__PURE__*/$parcel$interopDefault($952a2b8d8056b381$exports)))(task.dependencies, function(dependency, idx) {
|
|
1653
|
-
dependency.type = DEPENDENCY_TYPE;
|
|
1654
|
-
dependency.id = `${task.id}/Dependency${idx}`;
|
|
1552
|
+
class $bb5572a48b31014a$export$e2e2e1ffdce20c30 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
1553
|
+
constructor(page){
|
|
1554
|
+
super(page);
|
|
1555
|
+
this.userName = page.locator("#username");
|
|
1556
|
+
this.name = page.locator("#full-name");
|
|
1557
|
+
this.email = page.locator("#email");
|
|
1558
|
+
this.password = page.locator('[data-test="password-input"]');
|
|
1559
|
+
this.cnfPassword = page.locator("#passwordConfirmation");
|
|
1560
|
+
this.saveButton = page.getByRole("button", {
|
|
1561
|
+
name: "Save"
|
|
1655
1562
|
});
|
|
1656
|
-
|
|
1657
|
-
|
|
1658
|
-
link.id = `${task.id}/Link${idx}`;
|
|
1563
|
+
this.cancelButton = page.getByRole("button", {
|
|
1564
|
+
name: "Cancel"
|
|
1659
1565
|
});
|
|
1660
|
-
|
|
1661
|
-
|
|
1662
|
-
comment.id = `${task.id}/Comment${idx}`;
|
|
1566
|
+
this.deleteButton = page.getByRole("button", {
|
|
1567
|
+
name: "Delete"
|
|
1663
1568
|
});
|
|
1664
|
-
|
|
1665
|
-
|
|
1569
|
+
}
|
|
1570
|
+
async setUserName(username) {
|
|
1571
|
+
return await this.userName.fill(username);
|
|
1572
|
+
}
|
|
1573
|
+
async setFullName(fullName) {
|
|
1574
|
+
return await this.name.fill(fullName);
|
|
1575
|
+
}
|
|
1576
|
+
async setEmail(email) {
|
|
1577
|
+
return await this.email.fill(email);
|
|
1578
|
+
}
|
|
1579
|
+
async setPassword(password) {
|
|
1580
|
+
return await this.password.fill(password);
|
|
1581
|
+
}
|
|
1582
|
+
async setConfirmPassword(cnfPassword) {
|
|
1583
|
+
return await this.cnfPassword.fill(cnfPassword);
|
|
1584
|
+
}
|
|
1585
|
+
async save() {
|
|
1586
|
+
await this.saveButton.click();
|
|
1587
|
+
}
|
|
1588
|
+
async cancel() {
|
|
1589
|
+
await this.cancelButton.click();
|
|
1590
|
+
}
|
|
1591
|
+
async delete() {
|
|
1592
|
+
await this.deleteButton.click();
|
|
1593
|
+
}
|
|
1594
|
+
}
|
|
1595
|
+
|
|
1596
|
+
|
|
1597
|
+
class $3ceab7c613cabfd6$export$107317390f5aa598 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
1598
|
+
constructor(page){
|
|
1599
|
+
super(page);
|
|
1600
|
+
this.page = page;
|
|
1601
|
+
this.newUserButton = this.page.getByTestId("new-user-btn");
|
|
1602
|
+
this.modal = new (0, $bb5572a48b31014a$export$e2e2e1ffdce20c30)(page);
|
|
1603
|
+
}
|
|
1604
|
+
async openUsersPage() {
|
|
1605
|
+
this.page.goto("./#/users", {
|
|
1606
|
+
timeout: 1000
|
|
1666
1607
|
});
|
|
1667
|
-
|
|
1668
|
-
|
|
1608
|
+
}
|
|
1609
|
+
async toggleLoginPermission(username) {
|
|
1610
|
+
await this.page.getByRole("row", {
|
|
1611
|
+
name: "" + username + ""
|
|
1612
|
+
}).getByRole("checkbox").check();
|
|
1613
|
+
//await this.page.locator(`tr:contains('${username}') .login-permission input`).click();
|
|
1614
|
+
}
|
|
1615
|
+
async addUser() {
|
|
1616
|
+
await this.newUserButton.click();
|
|
1617
|
+
}
|
|
1618
|
+
async createUser(username, password) {
|
|
1619
|
+
await this.modal.setUserName(username);
|
|
1620
|
+
await this.modal.setFullName(username);
|
|
1621
|
+
await this.modal.setEmail("testuser@company.com");
|
|
1622
|
+
await this.modal.setPassword(password);
|
|
1623
|
+
await this.modal.setConfirmPassword(password);
|
|
1624
|
+
await this.modal.save();
|
|
1625
|
+
}
|
|
1626
|
+
async expectToHaveLoginPermission(username) {
|
|
1627
|
+
return await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("row", {
|
|
1628
|
+
name: "" + username + ""
|
|
1629
|
+
}).getByRole("checkbox")).toBeChecked();
|
|
1630
|
+
}
|
|
1631
|
+
async deleteUser(username) {
|
|
1632
|
+
await this.page.getByRole("row", {
|
|
1633
|
+
name: "" + username + ""
|
|
1634
|
+
}).locator("i").nth(1).click();
|
|
1635
|
+
await this.modal.delete();
|
|
1636
|
+
}
|
|
1637
|
+
}
|
|
1638
|
+
|
|
1639
|
+
|
|
1640
|
+
|
|
1641
|
+
class $7867194f18360347$export$1d7840d5cdc861d5 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
1642
|
+
constructor(page){
|
|
1643
|
+
super(page);
|
|
1644
|
+
this.settingsIcon = this.page.getByRole("button", {
|
|
1645
|
+
name: "Settings"
|
|
1669
1646
|
});
|
|
1670
|
-
|
|
1671
|
-
|
|
1672
|
-
attachment.id = `${task.id}/Attachment${idx}`;
|
|
1647
|
+
this.usersAndPermissionMenu = this.page.getByRole("menuitem", {
|
|
1648
|
+
name: "users icon Users and permissions"
|
|
1673
1649
|
});
|
|
1674
|
-
|
|
1675
|
-
|
|
1676
|
-
pythonScript.id = `${task.id}/PythonScript`;
|
|
1677
|
-
pythonScript.customScriptTask = task.id;
|
|
1678
|
-
}
|
|
1679
|
-
};
|
|
1680
|
-
const processPhases = (phase, release, index)=>{
|
|
1681
|
-
phase.type = PHASE_TYPE;
|
|
1682
|
-
phase.id = `${release.id}/Phase${index}`;
|
|
1683
|
-
(0, (/*@__PURE__*/$parcel$interopDefault($ae8Uz)))(phase.tasks, (task, idx)=>{
|
|
1684
|
-
processTasks(task, phase, idx);
|
|
1650
|
+
this.managePluginMenu = this.page.getByRole("menuitem", {
|
|
1651
|
+
name: "plugins icon Manage plugins"
|
|
1685
1652
|
});
|
|
1686
|
-
}
|
|
1687
|
-
|
|
1688
|
-
|
|
1689
|
-
|
|
1690
|
-
|
|
1691
|
-
|
|
1692
|
-
|
|
1693
|
-
|
|
1694
|
-
|
|
1695
|
-
|
|
1696
|
-
|
|
1697
|
-
|
|
1698
|
-
|
|
1699
|
-
|
|
1700
|
-
|
|
1701
|
-
|
|
1653
|
+
}
|
|
1654
|
+
async openUsersAndPermissions() {
|
|
1655
|
+
await this.settingsIcon.click();
|
|
1656
|
+
await this.usersAndPermissionMenu.click();
|
|
1657
|
+
}
|
|
1658
|
+
async openManagePlugin() {
|
|
1659
|
+
await this.settingsIcon.click();
|
|
1660
|
+
await this.managePluginMenu.click();
|
|
1661
|
+
}
|
|
1662
|
+
}
|
|
1663
|
+
|
|
1664
|
+
|
|
1665
|
+
|
|
1666
|
+
class $a642d735048996f9$export$922081b54f2ab994 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
1667
|
+
constructor(page){
|
|
1668
|
+
super(page);
|
|
1669
|
+
}
|
|
1670
|
+
}
|
|
1671
|
+
|
|
1672
|
+
|
|
1673
|
+
|
|
1674
|
+
|
|
1675
|
+
class $a8855257f8bb2b12$export$43682cddead1dd78 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
1676
|
+
async openReleaseCalendarPage() {
|
|
1677
|
+
await this.page.goto("./#/calendar");
|
|
1678
|
+
//Define date format to verify different calendar views
|
|
1679
|
+
const today = new Date();
|
|
1680
|
+
let options = {
|
|
1681
|
+
weekday: "long",
|
|
1682
|
+
year: "numeric",
|
|
1683
|
+
month: "short",
|
|
1684
|
+
day: "numeric"
|
|
1702
1685
|
};
|
|
1703
|
-
|
|
1704
|
-
|
|
1705
|
-
|
|
1706
|
-
|
|
1707
|
-
|
|
1708
|
-
|
|
1686
|
+
this.dayFormat = today.toLocaleDateString("en-US", options); // Saturday, September 17, 2016
|
|
1687
|
+
this.yearFormat = today.getFullYear();
|
|
1688
|
+
this.yearFormatString = this.yearFormat.toString();
|
|
1689
|
+
options = {
|
|
1690
|
+
month: "long",
|
|
1691
|
+
year: "numeric"
|
|
1709
1692
|
};
|
|
1710
|
-
|
|
1711
|
-
|
|
1693
|
+
this.monthFormat = today.toLocaleDateString("en-US", options);
|
|
1694
|
+
this.monthFormat = this.monthFormat.replace(/(\w+) (\d+)/, "$1, $2");
|
|
1695
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page).toHaveTitle("Release calendar / Home - Digital.ai Release");
|
|
1696
|
+
return this;
|
|
1697
|
+
}
|
|
1698
|
+
async exportCalendar() {
|
|
1699
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
1700
|
+
this.page.on("download", ()=>{});
|
|
1701
|
+
await this.page.getByRole("button", {
|
|
1702
|
+
name: "download icon Export calendar"
|
|
1703
|
+
}).click();
|
|
1704
|
+
const downloadPromise = this.page.waitForEvent("download");
|
|
1705
|
+
await this.page.getByRole("button", {
|
|
1706
|
+
name: "Export"
|
|
1707
|
+
}).click();
|
|
1708
|
+
await downloadPromise;
|
|
1709
|
+
}
|
|
1710
|
+
async cancelCalendarExport() {
|
|
1711
|
+
let downloadCount = 0;
|
|
1712
|
+
// Listen to download events
|
|
1713
|
+
this.page.on("download", (_download)=>{
|
|
1714
|
+
downloadCount++;
|
|
1712
1715
|
});
|
|
1713
|
-
|
|
1714
|
-
|
|
1715
|
-
|
|
1716
|
-
|
|
1717
|
-
|
|
1716
|
+
await this.page.getByRole("button", {
|
|
1717
|
+
name: "download icon Export calendar"
|
|
1718
|
+
}).click();
|
|
1719
|
+
await this.page.getByRole("button", {
|
|
1720
|
+
name: "Cancel"
|
|
1721
|
+
}).click();
|
|
1722
|
+
return downloadCount;
|
|
1723
|
+
}
|
|
1724
|
+
async verifyDayView() {
|
|
1725
|
+
await this.page.locator(".tl-header-navigation").getByRole("combobox").click();
|
|
1726
|
+
await this.page.getByRole("option", {
|
|
1727
|
+
name: "Day"
|
|
1728
|
+
}).click();
|
|
1729
|
+
await this.page.getByRole("button", {
|
|
1730
|
+
name: "Today"
|
|
1731
|
+
}).click();
|
|
1732
|
+
//Verify Page has correct day format displayed at the page bottom
|
|
1733
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.getByText(this.dayFormat)).toBeVisible();
|
|
1734
|
+
}
|
|
1735
|
+
async verifyYearView() {
|
|
1736
|
+
await this.page.locator(".tl-header-navigation").getByRole("combobox").click();
|
|
1737
|
+
await this.page.getByRole("option", {
|
|
1738
|
+
name: "Year"
|
|
1739
|
+
}).click();
|
|
1740
|
+
await this.page.getByRole("button", {
|
|
1741
|
+
name: "Today"
|
|
1742
|
+
}).click();
|
|
1743
|
+
//Verify Page has correct Year format displayed at the page bottom
|
|
1744
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".tl-footer-label").filter({
|
|
1745
|
+
hasText: this.yearFormatString
|
|
1746
|
+
})).toHaveText(this.yearFormatString);
|
|
1747
|
+
}
|
|
1748
|
+
async verifyMonthView() {
|
|
1749
|
+
await this.page.locator(".tl-header-navigation").getByRole("combobox").click();
|
|
1750
|
+
await this.page.getByRole("option", {
|
|
1751
|
+
name: "Month"
|
|
1752
|
+
}).click();
|
|
1753
|
+
await this.page.getByRole("button", {
|
|
1754
|
+
name: "Today"
|
|
1755
|
+
}).click();
|
|
1756
|
+
//Verify Page has correct Year format displayed at the page bottom
|
|
1757
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".tl-footer-label").filter({
|
|
1758
|
+
hasText: this.monthFormat
|
|
1759
|
+
})).toHaveText(this.monthFormat);
|
|
1760
|
+
}
|
|
1761
|
+
async verifyPageContent(title) {
|
|
1762
|
+
const view_type = [
|
|
1763
|
+
"Day",
|
|
1764
|
+
"Week",
|
|
1765
|
+
"Month",
|
|
1766
|
+
"Year"
|
|
1767
|
+
];
|
|
1768
|
+
for (const view of view_type){
|
|
1769
|
+
await this.page.locator(".tl-header-navigation").getByRole("combobox").click();
|
|
1770
|
+
await this.page.getByRole("option", {
|
|
1771
|
+
name: view
|
|
1772
|
+
}).click();
|
|
1773
|
+
await this.page.getByRole("button", {
|
|
1774
|
+
name: "Today"
|
|
1775
|
+
}).click();
|
|
1776
|
+
//Verify Page has correct Year format displayed at the page bottom
|
|
1777
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.getByText(title)).toBeVisible();
|
|
1778
|
+
}
|
|
1779
|
+
}
|
|
1780
|
+
async filterReleaseByTitle(title) {
|
|
1781
|
+
await this.page.getByPlaceholder("Filter by release title").click();
|
|
1782
|
+
await this.page.getByPlaceholder("Filter by release title").fill(title);
|
|
1783
|
+
await this.page.getByPlaceholder("Filter by release title").press("Enter");
|
|
1784
|
+
//Verify Page has correct Year format displayed at the page bottom
|
|
1785
|
+
await this.verifyPageContent(title);
|
|
1786
|
+
}
|
|
1787
|
+
async filterReleaseByTags(tags, release_title) {
|
|
1788
|
+
await this.page.locator(".tl-filter-release-tags").locator(".react-tagsinput").click();
|
|
1789
|
+
for (let tag of tags){
|
|
1790
|
+
tag = tag.toString();
|
|
1791
|
+
await this.page.locator(".tl-filter-release-tags").locator(".react-tagsinput-input").fill(tag);
|
|
1792
|
+
await this.page.getByTitle(tag).locator("i").click();
|
|
1793
|
+
}
|
|
1794
|
+
await this.verifyPageContent(release_title);
|
|
1795
|
+
}
|
|
1796
|
+
async filterTaskByTags(tags, task_title, release_title) {
|
|
1797
|
+
await this.page.locator(".tl-filter-task-tags").locator(".react-tagsinput").click();
|
|
1798
|
+
for (let tag of tags){
|
|
1799
|
+
tag = tag.toString();
|
|
1800
|
+
await this.page.locator(".tl-filter-task-tags").locator(".react-tagsinput-input").fill(tag);
|
|
1801
|
+
await this.page.getByTitle(tag).locator("i").click();
|
|
1802
|
+
}
|
|
1803
|
+
//Make sure task is visible on calnedar page
|
|
1804
|
+
await this.verifyPageContent(task_title);
|
|
1805
|
+
//Make sure parent release of the selected task is visible on calnedar page
|
|
1806
|
+
await this.verifyPageContent(release_title);
|
|
1807
|
+
}
|
|
1808
|
+
async filterReleaseByStatus(release_status, release_title) {
|
|
1809
|
+
if (!await this.page.locator(".tl-filter-advanced").isVisible()) await this.page.getByRole("button", {
|
|
1810
|
+
name: "Advanced filters"
|
|
1811
|
+
}).click();
|
|
1812
|
+
await this.page.locator(".tl-filter-release-status").locator(".react-tagsinput").click();
|
|
1813
|
+
await this.page.getByTitle(release_status).locator("i").first().click();
|
|
1814
|
+
await this.verifyPageContent(release_title);
|
|
1815
|
+
}
|
|
1816
|
+
async filterReleaseByRisk(release_risk, release_title) {
|
|
1817
|
+
if (!await this.page.locator(".tl-filter-advanced").isVisible()) await this.page.getByRole("button", {
|
|
1818
|
+
name: "Advanced filters"
|
|
1819
|
+
}).click();
|
|
1820
|
+
await this.page.locator(".tl-filter-risk-filter").getByRole("combobox").click();
|
|
1821
|
+
await this.page.getByRole("option", {
|
|
1822
|
+
name: release_risk
|
|
1823
|
+
}).click();
|
|
1824
|
+
await this.verifyPageContent(release_title);
|
|
1825
|
+
}
|
|
1826
|
+
async filterFlaggedRelease(release_title) {
|
|
1827
|
+
if (!await this.page.locator(".tl-filter-advanced").isVisible()) await this.page.getByRole("button", {
|
|
1828
|
+
name: "Advanced filters"
|
|
1829
|
+
}).click();
|
|
1830
|
+
if (await this.page.locator(".tl-filter-flag-only.btn.btn-flat.btn-fixed.button-toggle-filter.active").isVisible()) await this.page.getByRole("button", {
|
|
1831
|
+
name: " Flagged"
|
|
1832
|
+
}).click();
|
|
1833
|
+
await this.verifyPageContent(release_title);
|
|
1834
|
+
}
|
|
1835
|
+
async viewRelease(release_title, release_id) {
|
|
1836
|
+
await this.page.locator(".tl-header-navigation").getByRole("combobox").click();
|
|
1837
|
+
await this.page.getByRole("option", {
|
|
1838
|
+
name: "Day"
|
|
1839
|
+
}).click();
|
|
1840
|
+
await this.page.getByRole("button", {
|
|
1841
|
+
name: "Today"
|
|
1842
|
+
}).click();
|
|
1843
|
+
await this.page.getByText(release_title).click();
|
|
1844
|
+
await this.page.locator(".release-modal-container").locator(".xl-icon.release-icon").click();
|
|
1845
|
+
const releaseurl = `/#/releases/${release_id}`;
|
|
1846
|
+
const currentURL = await this.page.url();
|
|
1847
|
+
// Check if the release name present in redirected URL
|
|
1848
|
+
(0, $kKeXs$playwrighttest.expect)(currentURL).toContain(releaseurl);
|
|
1849
|
+
}
|
|
1850
|
+
async viewDependency(source_release, dest_release) {
|
|
1851
|
+
const source_text = source_release + "dependencies";
|
|
1852
|
+
await this.page.locator(".tl-header-navigation").getByRole("combobox").click();
|
|
1853
|
+
await this.page.getByRole("option", {
|
|
1854
|
+
name: "Day"
|
|
1855
|
+
}).click();
|
|
1856
|
+
await this.page.getByRole("button", {
|
|
1857
|
+
name: "Today"
|
|
1858
|
+
}).click();
|
|
1859
|
+
await this.page.getByText(source_release).click();
|
|
1860
|
+
await this.page.locator(".release-modal-container").locator(".xl-icon.cluster-dependencies-icon").click();
|
|
1861
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".tl-drawer-navigation-header")).toHaveText(source_text);
|
|
1862
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".tl-drawer-dependency-body-title-text")).toHaveText(dest_release);
|
|
1863
|
+
}
|
|
1864
|
+
async downloadIcsCalendar(release_title) {
|
|
1865
|
+
let downloadCount = 0;
|
|
1866
|
+
// Listen to download events
|
|
1867
|
+
this.page.on("download", (_download)=>{
|
|
1868
|
+
downloadCount++;
|
|
1869
|
+
});
|
|
1870
|
+
await this.page.locator(".tl-header-navigation").getByRole("combobox").click();
|
|
1871
|
+
await this.page.getByRole("option", {
|
|
1872
|
+
name: "Day"
|
|
1873
|
+
}).click();
|
|
1874
|
+
await this.page.getByRole("button", {
|
|
1875
|
+
name: "Today"
|
|
1876
|
+
}).click();
|
|
1877
|
+
await this.page.getByText(release_title).click();
|
|
1878
|
+
await this.page.locator(".release-modal-container").locator(".xl-icon.calendar-icon").click();
|
|
1879
|
+
return downloadCount;
|
|
1880
|
+
}
|
|
1881
|
+
}
|
|
1882
|
+
|
|
1883
|
+
|
|
1884
|
+
|
|
1885
|
+
class $4ef41cf96a5fae4c$export$b8a61e5c71402559 {
|
|
1886
|
+
constructor(page){
|
|
1887
|
+
this.page = page;
|
|
1888
|
+
this.releasePage = new (0, $9b9a8c3da392d020$export$f43492e8ac3c566)(page);
|
|
1889
|
+
this.settingsMenu = new (0, $7867194f18360347$export$1d7840d5cdc861d5)(page);
|
|
1890
|
+
this.usersPage = new (0, $3ceab7c613cabfd6$export$107317390f5aa598)(page);
|
|
1891
|
+
this.applicationPage = new (0, $dc91ece6da6cadfa$export$1533b625ec0c75e2)(page);
|
|
1892
|
+
this.taskDetailsPage = new (0, $a642d735048996f9$export$922081b54f2ab994)(page);
|
|
1893
|
+
this.releaseCalendarPage = new (0, $a8855257f8bb2b12$export$43682cddead1dd78)(page);
|
|
1894
|
+
this.releaseListPage = new (0, $87643f2d97b0644e$export$a678525e79c4ccc4)(page);
|
|
1895
|
+
}
|
|
1896
|
+
async openTemplate(id) {
|
|
1897
|
+
return this.openReleaseOrTemplate(id, false);
|
|
1898
|
+
}
|
|
1899
|
+
async openRelease(id) {
|
|
1900
|
+
return this.openReleaseOrTemplate(id, true);
|
|
1901
|
+
}
|
|
1902
|
+
async openApplicationsPage() {
|
|
1903
|
+
return new (0, $dc91ece6da6cadfa$export$1533b625ec0c75e2)(this.page).goToApplicationsPage();
|
|
1904
|
+
}
|
|
1905
|
+
async openPersonalAccessTokenPage() {
|
|
1906
|
+
return new (0, $be4dd73206d8e76b$export$3cac5fd37ae64b91)(this.page).openPersonalAccessTokenPage();
|
|
1907
|
+
}
|
|
1908
|
+
async gotoFolderPage() {
|
|
1909
|
+
await this.page.locator("ul.side-nav li").getByText("Folders", {
|
|
1910
|
+
exact: true
|
|
1911
|
+
}).click();
|
|
1912
|
+
}
|
|
1913
|
+
async gotoTaskPage() {
|
|
1914
|
+
await this.page.locator("ul.side-nav li").getByText("Tasks", {
|
|
1915
|
+
exact: true
|
|
1916
|
+
}).click();
|
|
1917
|
+
}
|
|
1918
|
+
async gotoReleasePage() {
|
|
1919
|
+
await this.page.locator("ul.side-nav li").getByText("Releases", {
|
|
1920
|
+
exact: true
|
|
1921
|
+
}).click();
|
|
1922
|
+
}
|
|
1923
|
+
async gotoWorkflowCatalogPage() {
|
|
1924
|
+
await this.page.locator("ul.side-nav li").getByText("Workflow catalog", {
|
|
1925
|
+
exact: true
|
|
1926
|
+
}).click();
|
|
1927
|
+
}
|
|
1928
|
+
async gotoWorkflowsPage() {
|
|
1929
|
+
await this.page.locator("ul.side-nav li").getByText("Workflows", {
|
|
1930
|
+
exact: true
|
|
1931
|
+
}).click();
|
|
1932
|
+
}
|
|
1933
|
+
async gotoGroupsPage() {
|
|
1934
|
+
await this.page.locator("ul.side-nav li").getByText("Groups", {
|
|
1935
|
+
exact: true
|
|
1936
|
+
}).click();
|
|
1937
|
+
}
|
|
1938
|
+
async gotoReleaseCalenderPage() {
|
|
1939
|
+
await this.page.locator("ul.side-nav li").getByText("Release calendar", {
|
|
1940
|
+
exact: true
|
|
1941
|
+
}).click();
|
|
1942
|
+
}
|
|
1943
|
+
async gotoDeliveriesPage() {
|
|
1944
|
+
await this.page.locator("ul.side-nav li").getByText("Deliveries", {
|
|
1945
|
+
exact: true
|
|
1946
|
+
}).click();
|
|
1718
1947
|
}
|
|
1719
|
-
|
|
1720
|
-
|
|
1721
|
-
|
|
1722
|
-
|
|
1723
|
-
|
|
1724
|
-
|
|
1725
|
-
|
|
1726
|
-
|
|
1727
|
-
|
|
1728
|
-
|
|
1729
|
-
|
|
1730
|
-
(
|
|
1731
|
-
|
|
1732
|
-
|
|
1733
|
-
|
|
1734
|
-
|
|
1735
|
-
|
|
1736
|
-
|
|
1737
|
-
});
|
|
1738
|
-
|
|
1739
|
-
|
|
1740
|
-
|
|
1741
|
-
|
|
1742
|
-
|
|
1743
|
-
|
|
1744
|
-
|
|
1745
|
-
|
|
1746
|
-
|
|
1747
|
-
|
|
1748
|
-
|
|
1749
|
-
|
|
1750
|
-
|
|
1751
|
-
|
|
1752
|
-
|
|
1753
|
-
|
|
1754
|
-
|
|
1755
|
-
|
|
1756
|
-
|
|
1757
|
-
}
|
|
1758
|
-
}
|
|
1759
|
-
|
|
1760
|
-
|
|
1761
|
-
|
|
1762
|
-
|
|
1763
|
-
|
|
1764
|
-
constructor(page){
|
|
1765
|
-
this.page = page;
|
|
1948
|
+
async gotoTriggersPage() {
|
|
1949
|
+
await this.page.locator("ul.side-nav li").getByText("Triggers", {
|
|
1950
|
+
exact: true
|
|
1951
|
+
}).click();
|
|
1952
|
+
}
|
|
1953
|
+
async gotoDigitalAnalyticsPage() {
|
|
1954
|
+
await this.page.locator("ul.side-nav li").getByText("Digital.ai Analytics", {
|
|
1955
|
+
exact: true
|
|
1956
|
+
}).click();
|
|
1957
|
+
}
|
|
1958
|
+
async gotoReportsPage() {
|
|
1959
|
+
await this.page.locator("ul.side-nav li").getByText("Reports", {
|
|
1960
|
+
exact: true
|
|
1961
|
+
}).click();
|
|
1962
|
+
}
|
|
1963
|
+
async gotoTemplatesPage() {
|
|
1964
|
+
await this.page.locator("ul.side-nav li").getByText("Templates", {
|
|
1965
|
+
exact: true
|
|
1966
|
+
}).click();
|
|
1967
|
+
}
|
|
1968
|
+
async gotoEnvironmentsPage() {
|
|
1969
|
+
await this.page.locator("ul.side-nav li").getByText("Environments", {
|
|
1970
|
+
exact: true
|
|
1971
|
+
}).click();
|
|
1972
|
+
}
|
|
1973
|
+
async gotoEnvironmentsCalenderPage() {
|
|
1974
|
+
await this.page.locator("ul.side-nav li").getByText("Environments calendar", {
|
|
1975
|
+
exact: true
|
|
1976
|
+
}).click();
|
|
1977
|
+
}
|
|
1978
|
+
async gotoGobalVariablesPage() {
|
|
1979
|
+
await this.page.locator("ul.side-nav li").getByText("Global variables", {
|
|
1980
|
+
exact: true
|
|
1981
|
+
}).click();
|
|
1982
|
+
}
|
|
1983
|
+
async gotoConnectionsPage() {
|
|
1984
|
+
await this.page.locator("ul.side-nav li").getByText("Connections", {
|
|
1985
|
+
exact: true
|
|
1986
|
+
}).click();
|
|
1987
|
+
}
|
|
1988
|
+
async openReleaseOrTemplate(id, release) {
|
|
1989
|
+
const url = release ? "releases" : "templates";
|
|
1990
|
+
await this.page.goto(`./#/${url}/${id}`);
|
|
1991
|
+
await this.page.waitForSelector("#release");
|
|
1992
|
+
return new (0, $9b9a8c3da392d020$export$f43492e8ac3c566)(this.page);
|
|
1766
1993
|
}
|
|
1767
1994
|
}
|
|
1768
1995
|
|
|
1769
1996
|
|
|
1997
|
+
|
|
1998
|
+
|
|
1770
1999
|
class $258749e0671c845a$export$f14c0e3f98d164c0 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
1771
2000
|
/**
|
|
1772
2001
|
* Login with username and password
|
|
@@ -1774,7 +2003,6 @@ class $258749e0671c845a$export$f14c0e3f98d164c0 extends (0, $f8721861c660dd88$ex
|
|
|
1774
2003
|
* @param password
|
|
1775
2004
|
*/ async login(userName, password) {
|
|
1776
2005
|
await this.page.goto("./#/login");
|
|
1777
|
-
await this.page.waitForTimeout(1000);
|
|
1778
2006
|
await (0, $kKeXs$playwrighttest.expect)(this.page).toHaveTitle("Digital.ai Release");
|
|
1779
2007
|
await this.page.getByPlaceholder("User").fill(userName, {
|
|
1780
2008
|
timeout: 1000
|
|
@@ -1787,7 +2015,7 @@ class $258749e0671c845a$export$f14c0e3f98d164c0 extends (0, $f8721861c660dd88$ex
|
|
|
1787
2015
|
}).click({
|
|
1788
2016
|
timeout: 10000
|
|
1789
2017
|
});
|
|
1790
|
-
await
|
|
2018
|
+
await this.page.waitForTimeout(1000);
|
|
1791
2019
|
}
|
|
1792
2020
|
/**
|
|
1793
2021
|
* Logout as authenticated user
|
|
@@ -1813,757 +2041,820 @@ class $258749e0671c845a$export$f14c0e3f98d164c0 extends (0, $f8721861c660dd88$ex
|
|
|
1813
2041
|
}
|
|
1814
2042
|
|
|
1815
2043
|
|
|
2044
|
+
var $3e8b520187e41aa6$exports = {};
|
|
2045
|
+
/**
|
|
2046
|
+
* Checks if `value` is `undefined`.
|
|
2047
|
+
*
|
|
2048
|
+
* @static
|
|
2049
|
+
* @since 0.1.0
|
|
2050
|
+
* @memberOf _
|
|
2051
|
+
* @category Lang
|
|
2052
|
+
* @param {*} value The value to check.
|
|
2053
|
+
* @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.
|
|
2054
|
+
* @example
|
|
2055
|
+
*
|
|
2056
|
+
* _.isUndefined(void 0);
|
|
2057
|
+
* // => true
|
|
2058
|
+
*
|
|
2059
|
+
* _.isUndefined(null);
|
|
2060
|
+
* // => false
|
|
2061
|
+
*/ function $3e8b520187e41aa6$var$isUndefined(value) {
|
|
2062
|
+
return value === undefined;
|
|
2063
|
+
}
|
|
2064
|
+
$3e8b520187e41aa6$exports = $3e8b520187e41aa6$var$isUndefined;
|
|
2065
|
+
|
|
2066
|
+
|
|
2067
|
+
var $952a2b8d8056b381$exports = {};
|
|
2068
|
+
|
|
2069
|
+
$952a2b8d8056b381$exports = (parcelRequire("ae8Uz"));
|
|
2070
|
+
|
|
2071
|
+
|
|
2072
|
+
|
|
2073
|
+
var $ae8Uz = parcelRequire("ae8Uz");
|
|
2074
|
+
var $732eba8dca8b5420$exports = {};
|
|
2075
|
+
var $b1535b4ce0d1bd5f$exports = {};
|
|
2076
|
+
|
|
2077
|
+
var $9x2D6 = parcelRequire("9x2D6");
|
|
2078
|
+
var $1b1aa0f3fc7256c9$exports = {};
|
|
2079
|
+
var $f984f14b3d4f0683$exports = {};
|
|
2080
|
+
/**
|
|
2081
|
+
* A faster alternative to `Function#apply`, this function invokes `func`
|
|
2082
|
+
* with the `this` binding of `thisArg` and the arguments of `args`.
|
|
2083
|
+
*
|
|
2084
|
+
* @private
|
|
2085
|
+
* @param {Function} func The function to invoke.
|
|
2086
|
+
* @param {*} thisArg The `this` binding of `func`.
|
|
2087
|
+
* @param {Array} args The arguments to invoke `func` with.
|
|
2088
|
+
* @returns {*} Returns the result of `func`.
|
|
2089
|
+
*/ function $f984f14b3d4f0683$var$apply(func, thisArg, args) {
|
|
2090
|
+
switch(args.length){
|
|
2091
|
+
case 0:
|
|
2092
|
+
return func.call(thisArg);
|
|
2093
|
+
case 1:
|
|
2094
|
+
return func.call(thisArg, args[0]);
|
|
2095
|
+
case 2:
|
|
2096
|
+
return func.call(thisArg, args[0], args[1]);
|
|
2097
|
+
case 3:
|
|
2098
|
+
return func.call(thisArg, args[0], args[1], args[2]);
|
|
2099
|
+
}
|
|
2100
|
+
return func.apply(thisArg, args);
|
|
2101
|
+
}
|
|
2102
|
+
$f984f14b3d4f0683$exports = $f984f14b3d4f0683$var$apply;
|
|
2103
|
+
|
|
2104
|
+
|
|
2105
|
+
/* Built-in method references for those with the same name as other `lodash` methods. */ var $1b1aa0f3fc7256c9$var$nativeMax = Math.max;
|
|
2106
|
+
/**
|
|
2107
|
+
* A specialized version of `baseRest` which transforms the rest array.
|
|
2108
|
+
*
|
|
2109
|
+
* @private
|
|
2110
|
+
* @param {Function} func The function to apply a rest parameter to.
|
|
2111
|
+
* @param {number} [start=func.length-1] The start position of the rest parameter.
|
|
2112
|
+
* @param {Function} transform The rest array transform.
|
|
2113
|
+
* @returns {Function} Returns the new function.
|
|
2114
|
+
*/ function $1b1aa0f3fc7256c9$var$overRest(func, start, transform) {
|
|
2115
|
+
start = $1b1aa0f3fc7256c9$var$nativeMax(start === undefined ? func.length - 1 : start, 0);
|
|
2116
|
+
return function() {
|
|
2117
|
+
var args = arguments, index = -1, length = $1b1aa0f3fc7256c9$var$nativeMax(args.length - start, 0), array = Array(length);
|
|
2118
|
+
while(++index < length)array[index] = args[start + index];
|
|
2119
|
+
index = -1;
|
|
2120
|
+
var otherArgs = Array(start + 1);
|
|
2121
|
+
while(++index < start)otherArgs[index] = args[index];
|
|
2122
|
+
otherArgs[start] = transform(array);
|
|
2123
|
+
return $f984f14b3d4f0683$exports(func, this, otherArgs);
|
|
2124
|
+
};
|
|
2125
|
+
}
|
|
2126
|
+
$1b1aa0f3fc7256c9$exports = $1b1aa0f3fc7256c9$var$overRest;
|
|
2127
|
+
|
|
2128
|
+
|
|
2129
|
+
var $0e9d1d7fde57dac1$exports = {};
|
|
2130
|
+
var $ef9aec5e693cb6ed$exports = {};
|
|
2131
|
+
var $3dc9802adab1dd60$exports = {};
|
|
2132
|
+
/**
|
|
2133
|
+
* Creates a function that returns `value`.
|
|
2134
|
+
*
|
|
2135
|
+
* @static
|
|
2136
|
+
* @memberOf _
|
|
2137
|
+
* @since 2.4.0
|
|
2138
|
+
* @category Util
|
|
2139
|
+
* @param {*} value The value to return from the new function.
|
|
2140
|
+
* @returns {Function} Returns the new constant function.
|
|
2141
|
+
* @example
|
|
2142
|
+
*
|
|
2143
|
+
* var objects = _.times(2, _.constant({ 'a': 1 }));
|
|
2144
|
+
*
|
|
2145
|
+
* console.log(objects);
|
|
2146
|
+
* // => [{ 'a': 1 }, { 'a': 1 }]
|
|
2147
|
+
*
|
|
2148
|
+
* console.log(objects[0] === objects[1]);
|
|
2149
|
+
* // => true
|
|
2150
|
+
*/ function $3dc9802adab1dd60$var$constant(value) {
|
|
2151
|
+
return function() {
|
|
2152
|
+
return value;
|
|
2153
|
+
};
|
|
2154
|
+
}
|
|
2155
|
+
$3dc9802adab1dd60$exports = $3dc9802adab1dd60$var$constant;
|
|
2156
|
+
|
|
2157
|
+
|
|
2158
|
+
var $97bac00047c338ed$exports = {};
|
|
2159
|
+
var $b7745e89d7f5915f$exports = {};
|
|
2160
|
+
var $927414f7f9d8afbb$exports = {};
|
|
2161
|
+
|
|
2162
|
+
var $7T6pQ = parcelRequire("7T6pQ");
|
|
2163
|
+
var $1fb1799a04ee25ea$exports = {};
|
|
2164
|
+
var $5ee1230bf1668e2a$exports = {};
|
|
2165
|
+
|
|
2166
|
+
var $5iYlB = parcelRequire("5iYlB");
|
|
2167
|
+
/** Used to detect overreaching core-js shims. */ var $5ee1230bf1668e2a$var$coreJsData = $5iYlB["__core-js_shared__"];
|
|
2168
|
+
$5ee1230bf1668e2a$exports = $5ee1230bf1668e2a$var$coreJsData;
|
|
2169
|
+
|
|
2170
|
+
|
|
2171
|
+
/** Used to detect methods masquerading as native. */ var $1fb1799a04ee25ea$var$maskSrcKey = function() {
|
|
2172
|
+
var uid = /[^.]+$/.exec($5ee1230bf1668e2a$exports && $5ee1230bf1668e2a$exports.keys && $5ee1230bf1668e2a$exports.keys.IE_PROTO || "");
|
|
2173
|
+
return uid ? "Symbol(src)_1." + uid : "";
|
|
2174
|
+
}();
|
|
2175
|
+
/**
|
|
2176
|
+
* Checks if `func` has its source masked.
|
|
2177
|
+
*
|
|
2178
|
+
* @private
|
|
2179
|
+
* @param {Function} func The function to check.
|
|
2180
|
+
* @returns {boolean} Returns `true` if `func` is masked, else `false`.
|
|
2181
|
+
*/ function $1fb1799a04ee25ea$var$isMasked(func) {
|
|
2182
|
+
return !!$1fb1799a04ee25ea$var$maskSrcKey && $1fb1799a04ee25ea$var$maskSrcKey in func;
|
|
2183
|
+
}
|
|
2184
|
+
$1fb1799a04ee25ea$exports = $1fb1799a04ee25ea$var$isMasked;
|
|
2185
|
+
|
|
2186
|
+
|
|
2187
|
+
|
|
2188
|
+
var $bfk90 = parcelRequire("bfk90");
|
|
2189
|
+
var $c6de24274df36d4e$exports = {};
|
|
2190
|
+
/** Used for built-in method references. */ var $c6de24274df36d4e$var$funcProto = Function.prototype;
|
|
2191
|
+
/** Used to resolve the decompiled source of functions. */ var $c6de24274df36d4e$var$funcToString = $c6de24274df36d4e$var$funcProto.toString;
|
|
2192
|
+
/**
|
|
2193
|
+
* Converts `func` to its source code.
|
|
2194
|
+
*
|
|
2195
|
+
* @private
|
|
2196
|
+
* @param {Function} func The function to convert.
|
|
2197
|
+
* @returns {string} Returns the source code.
|
|
2198
|
+
*/ function $c6de24274df36d4e$var$toSource(func) {
|
|
2199
|
+
if (func != null) {
|
|
2200
|
+
try {
|
|
2201
|
+
return $c6de24274df36d4e$var$funcToString.call(func);
|
|
2202
|
+
} catch (e) {}
|
|
2203
|
+
try {
|
|
2204
|
+
return func + "";
|
|
2205
|
+
} catch (e) {}
|
|
2206
|
+
}
|
|
2207
|
+
return "";
|
|
2208
|
+
}
|
|
2209
|
+
$c6de24274df36d4e$exports = $c6de24274df36d4e$var$toSource;
|
|
2210
|
+
|
|
1816
2211
|
|
|
2212
|
+
/**
|
|
2213
|
+
* Used to match `RegExp`
|
|
2214
|
+
* [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).
|
|
2215
|
+
*/ var $927414f7f9d8afbb$var$reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
|
|
2216
|
+
/** Used to detect host constructors (Safari). */ var $927414f7f9d8afbb$var$reIsHostCtor = /^\[object .+?Constructor\]$/;
|
|
2217
|
+
/** Used for built-in method references. */ var $927414f7f9d8afbb$var$funcProto = Function.prototype, $927414f7f9d8afbb$var$objectProto = Object.prototype;
|
|
2218
|
+
/** Used to resolve the decompiled source of functions. */ var $927414f7f9d8afbb$var$funcToString = $927414f7f9d8afbb$var$funcProto.toString;
|
|
2219
|
+
/** Used to check objects for own properties. */ var $927414f7f9d8afbb$var$hasOwnProperty = $927414f7f9d8afbb$var$objectProto.hasOwnProperty;
|
|
2220
|
+
/** Used to detect if a method is native. */ var $927414f7f9d8afbb$var$reIsNative = RegExp("^" + $927414f7f9d8afbb$var$funcToString.call($927414f7f9d8afbb$var$hasOwnProperty).replace($927414f7f9d8afbb$var$reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$");
|
|
2221
|
+
/**
|
|
2222
|
+
* The base implementation of `_.isNative` without bad shim checks.
|
|
2223
|
+
*
|
|
2224
|
+
* @private
|
|
2225
|
+
* @param {*} value The value to check.
|
|
2226
|
+
* @returns {boolean} Returns `true` if `value` is a native function,
|
|
2227
|
+
* else `false`.
|
|
2228
|
+
*/ function $927414f7f9d8afbb$var$baseIsNative(value) {
|
|
2229
|
+
if (!$bfk90(value) || $1fb1799a04ee25ea$exports(value)) return false;
|
|
2230
|
+
var pattern = $7T6pQ(value) ? $927414f7f9d8afbb$var$reIsNative : $927414f7f9d8afbb$var$reIsHostCtor;
|
|
2231
|
+
return pattern.test($c6de24274df36d4e$exports(value));
|
|
2232
|
+
}
|
|
2233
|
+
$927414f7f9d8afbb$exports = $927414f7f9d8afbb$var$baseIsNative;
|
|
1817
2234
|
|
|
1818
2235
|
|
|
2236
|
+
var $18378a7c2aff899b$exports = {};
|
|
2237
|
+
/**
|
|
2238
|
+
* Gets the value at `key` of `object`.
|
|
2239
|
+
*
|
|
2240
|
+
* @private
|
|
2241
|
+
* @param {Object} [object] The object to query.
|
|
2242
|
+
* @param {string} key The key of the property to get.
|
|
2243
|
+
* @returns {*} Returns the property value.
|
|
2244
|
+
*/ function $18378a7c2aff899b$var$getValue(object, key) {
|
|
2245
|
+
return object == null ? undefined : object[key];
|
|
2246
|
+
}
|
|
2247
|
+
$18378a7c2aff899b$exports = $18378a7c2aff899b$var$getValue;
|
|
1819
2248
|
|
|
1820
2249
|
|
|
1821
|
-
|
|
1822
|
-
|
|
1823
|
-
|
|
1824
|
-
|
|
1825
|
-
|
|
1826
|
-
|
|
1827
|
-
|
|
1828
|
-
|
|
1829
|
-
|
|
1830
|
-
|
|
1831
|
-
}
|
|
2250
|
+
/**
|
|
2251
|
+
* Gets the native function at `key` of `object`.
|
|
2252
|
+
*
|
|
2253
|
+
* @private
|
|
2254
|
+
* @param {Object} object The object to query.
|
|
2255
|
+
* @param {string} key The key of the method to get.
|
|
2256
|
+
* @returns {*} Returns the function if it's native, else `undefined`.
|
|
2257
|
+
*/ function $b7745e89d7f5915f$var$getNative(object, key) {
|
|
2258
|
+
var value = $18378a7c2aff899b$exports(object, key);
|
|
2259
|
+
return $927414f7f9d8afbb$exports(value) ? value : undefined;
|
|
1832
2260
|
}
|
|
2261
|
+
$b7745e89d7f5915f$exports = $b7745e89d7f5915f$var$getNative;
|
|
1833
2262
|
|
|
1834
2263
|
|
|
1835
|
-
|
|
1836
|
-
|
|
1837
|
-
|
|
1838
|
-
|
|
1839
|
-
|
|
1840
|
-
|
|
1841
|
-
|
|
1842
|
-
|
|
1843
|
-
}
|
|
1844
|
-
async openContextMenu(title) {
|
|
1845
|
-
await (0, $kKeXs$playwrighttest.expect)(async ()=>{
|
|
1846
|
-
await this.page.locator(".trigger-row-content", {
|
|
1847
|
-
hasText: title
|
|
1848
|
-
}).locator(".context-menu-button").click();
|
|
1849
|
-
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".popover-content")).toBeVisible();
|
|
1850
|
-
}).toPass();
|
|
1851
|
-
}
|
|
1852
|
-
}
|
|
2264
|
+
var $97bac00047c338ed$var$defineProperty = function() {
|
|
2265
|
+
try {
|
|
2266
|
+
var func = $b7745e89d7f5915f$exports(Object, "defineProperty");
|
|
2267
|
+
func({}, "", {});
|
|
2268
|
+
return func;
|
|
2269
|
+
} catch (e) {}
|
|
2270
|
+
}();
|
|
2271
|
+
$97bac00047c338ed$exports = $97bac00047c338ed$var$defineProperty;
|
|
1853
2272
|
|
|
1854
2273
|
|
|
1855
2274
|
|
|
2275
|
+
var $9x2D6 = parcelRequire("9x2D6");
|
|
2276
|
+
/**
|
|
2277
|
+
* The base implementation of `setToString` without support for hot loop shorting.
|
|
2278
|
+
*
|
|
2279
|
+
* @private
|
|
2280
|
+
* @param {Function} func The function to modify.
|
|
2281
|
+
* @param {Function} string The `toString` result.
|
|
2282
|
+
* @returns {Function} Returns `func`.
|
|
2283
|
+
*/ var $ef9aec5e693cb6ed$var$baseSetToString = !$97bac00047c338ed$exports ? $9x2D6 : function(func, string) {
|
|
2284
|
+
return $97bac00047c338ed$exports(func, "toString", {
|
|
2285
|
+
"configurable": true,
|
|
2286
|
+
"enumerable": false,
|
|
2287
|
+
"value": $3dc9802adab1dd60$exports(string),
|
|
2288
|
+
"writable": true
|
|
2289
|
+
});
|
|
2290
|
+
};
|
|
2291
|
+
$ef9aec5e693cb6ed$exports = $ef9aec5e693cb6ed$var$baseSetToString;
|
|
1856
2292
|
|
|
1857
2293
|
|
|
1858
|
-
|
|
1859
|
-
|
|
1860
|
-
|
|
1861
|
-
|
|
1862
|
-
|
|
1863
|
-
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
|
|
1868
|
-
|
|
1869
|
-
|
|
1870
|
-
|
|
1871
|
-
|
|
1872
|
-
|
|
1873
|
-
|
|
1874
|
-
|
|
1875
|
-
|
|
1876
|
-
|
|
1877
|
-
|
|
2294
|
+
var $f6a97849336ceea8$exports = {};
|
|
2295
|
+
/** Used to detect hot functions by number of calls within a span of milliseconds. */ var $f6a97849336ceea8$var$HOT_COUNT = 800, $f6a97849336ceea8$var$HOT_SPAN = 16;
|
|
2296
|
+
/* Built-in method references for those with the same name as other `lodash` methods. */ var $f6a97849336ceea8$var$nativeNow = Date.now;
|
|
2297
|
+
/**
|
|
2298
|
+
* Creates a function that'll short out and invoke `identity` instead
|
|
2299
|
+
* of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`
|
|
2300
|
+
* milliseconds.
|
|
2301
|
+
*
|
|
2302
|
+
* @private
|
|
2303
|
+
* @param {Function} func The function to restrict.
|
|
2304
|
+
* @returns {Function} Returns the new shortable function.
|
|
2305
|
+
*/ function $f6a97849336ceea8$var$shortOut(func) {
|
|
2306
|
+
var count = 0, lastCalled = 0;
|
|
2307
|
+
return function() {
|
|
2308
|
+
var stamp = $f6a97849336ceea8$var$nativeNow(), remaining = $f6a97849336ceea8$var$HOT_SPAN - (stamp - lastCalled);
|
|
2309
|
+
lastCalled = stamp;
|
|
2310
|
+
if (remaining > 0) {
|
|
2311
|
+
if (++count >= $f6a97849336ceea8$var$HOT_COUNT) return arguments[0];
|
|
2312
|
+
} else count = 0;
|
|
2313
|
+
return func.apply(undefined, arguments);
|
|
2314
|
+
};
|
|
1878
2315
|
}
|
|
2316
|
+
$f6a97849336ceea8$exports = $f6a97849336ceea8$var$shortOut;
|
|
1879
2317
|
|
|
1880
2318
|
|
|
1881
|
-
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
}
|
|
1887
|
-
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
await expectFn[index](locator);
|
|
1891
|
-
}
|
|
1892
|
-
async expectValueToBe(value) {
|
|
1893
|
-
await this.expectValue([
|
|
1894
|
-
this.page.locator("#modal .variable-value input"),
|
|
1895
|
-
this.page.locator("#modal .variable-value .field-readonly"),
|
|
1896
|
-
this.page.locator("#modal .variable-value .xl-map-string-string")
|
|
1897
|
-
], [
|
|
1898
|
-
(l)=>(0, $kKeXs$playwrighttest.expect)(l).toHaveValue(value),
|
|
1899
|
-
(l)=>(0, $kKeXs$playwrighttest.expect)(l).toHaveText(value),
|
|
1900
|
-
(l)=>(0, $kKeXs$playwrighttest.expect)(l).toHaveText(value)
|
|
1901
|
-
]);
|
|
1902
|
-
}
|
|
1903
|
-
async expectValueToContain(value) {
|
|
1904
|
-
await this.expectValue([
|
|
1905
|
-
this.page.locator("#modal .variable-value input"),
|
|
1906
|
-
this.page.locator("#modal .variable-value .field-readonly"),
|
|
1907
|
-
this.page.locator("#modal .variable-value .xl-map-string-string")
|
|
1908
|
-
], [
|
|
1909
|
-
(l)=>(0, $kKeXs$playwrighttest.expect)(l.inputValue()).toContain(value),
|
|
1910
|
-
(l)=>(0, $kKeXs$playwrighttest.expect)(l).toContainText(value),
|
|
1911
|
-
(l)=>(0, $kKeXs$playwrighttest.expect)(l).toContainText(value)
|
|
1912
|
-
]);
|
|
1913
|
-
}
|
|
1914
|
-
async close() {
|
|
1915
|
-
await this.page.locator("#modal .modal-header button.close").click();
|
|
1916
|
-
}
|
|
1917
|
-
}
|
|
2319
|
+
/**
|
|
2320
|
+
* Sets the `toString` method of `func` to return `string`.
|
|
2321
|
+
*
|
|
2322
|
+
* @private
|
|
2323
|
+
* @param {Function} func The function to modify.
|
|
2324
|
+
* @param {Function} string The `toString` result.
|
|
2325
|
+
* @returns {Function} Returns `func`.
|
|
2326
|
+
*/ var $0e9d1d7fde57dac1$var$setToString = $f6a97849336ceea8$exports($ef9aec5e693cb6ed$exports);
|
|
2327
|
+
$0e9d1d7fde57dac1$exports = $0e9d1d7fde57dac1$var$setToString;
|
|
1918
2328
|
|
|
1919
2329
|
|
|
2330
|
+
/**
|
|
2331
|
+
* The base implementation of `_.rest` which doesn't validate or coerce arguments.
|
|
2332
|
+
*
|
|
2333
|
+
* @private
|
|
2334
|
+
* @param {Function} func The function to apply a rest parameter to.
|
|
2335
|
+
* @param {number} [start=func.length-1] The start position of the rest parameter.
|
|
2336
|
+
* @returns {Function} Returns the new function.
|
|
2337
|
+
*/ function $b1535b4ce0d1bd5f$var$baseRest(func, start) {
|
|
2338
|
+
return $0e9d1d7fde57dac1$exports($1b1aa0f3fc7256c9$exports(func, start, $9x2D6), func + "");
|
|
2339
|
+
}
|
|
2340
|
+
$b1535b4ce0d1bd5f$exports = $b1535b4ce0d1bd5f$var$baseRest;
|
|
1920
2341
|
|
|
1921
2342
|
|
|
1922
|
-
|
|
1923
|
-
|
|
1924
|
-
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
-
|
|
1928
|
-
|
|
1929
|
-
|
|
1930
|
-
|
|
1931
|
-
|
|
1932
|
-
|
|
1933
|
-
|
|
1934
|
-
|
|
1935
|
-
|
|
1936
|
-
|
|
1937
|
-
|
|
1938
|
-
|
|
1939
|
-
|
|
1940
|
-
|
|
1941
|
-
|
|
1942
|
-
|
|
1943
|
-
|
|
1944
|
-
|
|
1945
|
-
|
|
1946
|
-
|
|
1947
|
-
|
|
1948
|
-
|
|
1949
|
-
|
|
1950
|
-
|
|
1951
|
-
|
|
1952
|
-
|
|
1953
|
-
|
|
1954
|
-
|
|
1955
|
-
|
|
1956
|
-
await this.railLocator.locator(`.input-scalar-fake-input[id="${propertyName}"]`).focus();
|
|
1957
|
-
await this.railLocator.locator(`textarea[id="${propertyName}"]`).fill(value);
|
|
1958
|
-
}
|
|
1959
|
-
async setValueFromPassword(propertyName, value) {
|
|
1960
|
-
await this.railLocator.locator(`input[id="${propertyName}"]`).fill(value);
|
|
1961
|
-
}
|
|
1962
|
-
async setAndCreateVariable(propertyName, variableName) {
|
|
1963
|
-
await this.railLocator.locator(`input[id="${propertyName}"]`).clear();
|
|
1964
|
-
await this.railLocator.locator(`input[id="${propertyName}"]`).click();
|
|
1965
|
-
await this.railLocator.locator(`input[id="${propertyName}"]`).fill(variableName);
|
|
1966
|
-
await this.railLocator.locator(`.dot-popper button`, {
|
|
1967
|
-
hasText: variableName
|
|
1968
|
-
}).click();
|
|
1969
|
-
}
|
|
1970
|
-
async setVariable(propertyName, variableName) {
|
|
1971
|
-
return this.setValueFromCi(propertyName, variableName);
|
|
1972
|
-
}
|
|
1973
|
-
async expectValueFromString(propertyName, propertyValue) {
|
|
1974
|
-
return await (0, $kKeXs$playwrighttest.expect)(this.railLocator.locator(`.input-scalar-fake-input[id="${propertyName}"]`)).toHaveText(propertyValue);
|
|
1975
|
-
}
|
|
2343
|
+
var $ceebddaa7160689c$exports = {};
|
|
2344
|
+
/**
|
|
2345
|
+
* Performs a
|
|
2346
|
+
* [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
|
|
2347
|
+
* comparison between two values to determine if they are equivalent.
|
|
2348
|
+
*
|
|
2349
|
+
* @static
|
|
2350
|
+
* @memberOf _
|
|
2351
|
+
* @since 4.0.0
|
|
2352
|
+
* @category Lang
|
|
2353
|
+
* @param {*} value The value to compare.
|
|
2354
|
+
* @param {*} other The other value to compare.
|
|
2355
|
+
* @returns {boolean} Returns `true` if the values are equivalent, else `false`.
|
|
2356
|
+
* @example
|
|
2357
|
+
*
|
|
2358
|
+
* var object = { 'a': 1 };
|
|
2359
|
+
* var other = { 'a': 1 };
|
|
2360
|
+
*
|
|
2361
|
+
* _.eq(object, object);
|
|
2362
|
+
* // => true
|
|
2363
|
+
*
|
|
2364
|
+
* _.eq(object, other);
|
|
2365
|
+
* // => false
|
|
2366
|
+
*
|
|
2367
|
+
* _.eq('a', 'a');
|
|
2368
|
+
* // => true
|
|
2369
|
+
*
|
|
2370
|
+
* _.eq('a', Object('a'));
|
|
2371
|
+
* // => false
|
|
2372
|
+
*
|
|
2373
|
+
* _.eq(NaN, NaN);
|
|
2374
|
+
* // => true
|
|
2375
|
+
*/ function $ceebddaa7160689c$var$eq(value, other) {
|
|
2376
|
+
return value === other || value !== value && other !== other;
|
|
1976
2377
|
}
|
|
2378
|
+
$ceebddaa7160689c$exports = $ceebddaa7160689c$var$eq;
|
|
1977
2379
|
|
|
1978
2380
|
|
|
2381
|
+
var $e084f044678f4365$exports = {};
|
|
1979
2382
|
|
|
1980
2383
|
|
|
2384
|
+
var $fegcS = parcelRequire("fegcS");
|
|
1981
2385
|
|
|
1982
|
-
|
|
1983
|
-
|
|
1984
|
-
|
|
1985
|
-
|
|
1986
|
-
|
|
1987
|
-
|
|
1988
|
-
|
|
1989
|
-
|
|
1990
|
-
|
|
1991
|
-
|
|
1992
|
-
|
|
1993
|
-
|
|
1994
|
-
|
|
1995
|
-
|
|
1996
|
-
|
|
1997
|
-
|
|
1998
|
-
|
|
1999
|
-
await this.enablePrecondition();
|
|
2000
|
-
await this.textEditor.fill(script);
|
|
2001
|
-
await this.saveButton.dblclick();
|
|
2002
|
-
await this.page.waitForTimeout(1000);
|
|
2003
|
-
}
|
|
2386
|
+
var $gf9YK = parcelRequire("gf9YK");
|
|
2387
|
+
|
|
2388
|
+
var $bfk90 = parcelRequire("bfk90");
|
|
2389
|
+
/**
|
|
2390
|
+
* Checks if the given arguments are from an iteratee call.
|
|
2391
|
+
*
|
|
2392
|
+
* @private
|
|
2393
|
+
* @param {*} value The potential iteratee value argument.
|
|
2394
|
+
* @param {*} index The potential iteratee index or key argument.
|
|
2395
|
+
* @param {*} object The potential iteratee object argument.
|
|
2396
|
+
* @returns {boolean} Returns `true` if the arguments are from an iteratee call,
|
|
2397
|
+
* else `false`.
|
|
2398
|
+
*/ function $e084f044678f4365$var$isIterateeCall(value, index, object) {
|
|
2399
|
+
if (!$bfk90(object)) return false;
|
|
2400
|
+
var type = typeof index;
|
|
2401
|
+
if (type == "number" ? $fegcS(object) && $gf9YK(index, object.length) : type == "string" && index in object) return $ceebddaa7160689c$exports(object[index], value);
|
|
2402
|
+
return false;
|
|
2004
2403
|
}
|
|
2404
|
+
$e084f044678f4365$exports = $e084f044678f4365$var$isIterateeCall;
|
|
2005
2405
|
|
|
2006
2406
|
|
|
2007
|
-
|
|
2008
|
-
constructor(page){
|
|
2009
|
-
super(page);
|
|
2010
|
-
this.taskDrawerLocator = this.page.locator("task-drawer .dot-drawer");
|
|
2011
|
-
this.retryButton = this.page.getByRole("button", {
|
|
2012
|
-
name: "Retry"
|
|
2013
|
-
});
|
|
2014
|
-
this.cancelButton = this.page.getByTestId("task-action-cancel");
|
|
2015
|
-
this.commentBox = this.page.getByTestId("task-action-comment");
|
|
2016
|
-
this.confirm = this.page.getByTestId("task-action-confirm");
|
|
2017
|
-
this.config = new (0, $8be2ce0eccbe6d27$export$64c93bc7fb9ca44e)(page);
|
|
2018
|
-
this.condition = new (0, $9c0b0c2caed50730$export$d4865631ba74f3e2)(page);
|
|
2019
|
-
this.skipMenu = this.page.getByRole("menuitem", {
|
|
2020
|
-
name: "Skip"
|
|
2021
|
-
});
|
|
2022
|
-
}
|
|
2023
|
-
async openOverviewRail() {
|
|
2024
|
-
await this.openRail("Overview");
|
|
2025
|
-
}
|
|
2026
|
-
async openActivityRail() {
|
|
2027
|
-
await this.openRail("Activity");
|
|
2028
|
-
}
|
|
2029
|
-
async openSchedulingRail() {
|
|
2030
|
-
await this.openRail("Scheduling");
|
|
2031
|
-
}
|
|
2032
|
-
async openConditionRail() {
|
|
2033
|
-
await this.openRail("Conditions");
|
|
2034
|
-
}
|
|
2035
|
-
async openAttributesRail() {
|
|
2036
|
-
await this.openRail("Attributes");
|
|
2037
|
-
}
|
|
2038
|
-
async openAttachRail() {
|
|
2039
|
-
await this.openRail("Attach");
|
|
2040
|
-
}
|
|
2041
|
-
async openTagsRail() {
|
|
2042
|
-
await this.openRail("Tags");
|
|
2043
|
-
}
|
|
2044
|
-
async openRail(rail) {
|
|
2045
|
-
await this.taskDrawerLocator.locator(".task-navigation-rail").getByText(rail).click();
|
|
2046
|
-
}
|
|
2047
|
-
async close() {
|
|
2048
|
-
await this.taskDrawerLocator.locator(".task-drawer-header").getByTestId("close-btn").click();
|
|
2049
|
-
}
|
|
2050
|
-
async retryTask(comment) {
|
|
2051
|
-
await this.retryButton.click();
|
|
2052
|
-
await this.commentBox.fill(comment);
|
|
2053
|
-
await this.confirm.click();
|
|
2054
|
-
}
|
|
2055
|
-
async skipTask(comment) {
|
|
2056
|
-
await this.page.getByRole("button", {
|
|
2057
|
-
name: "arrow-down icon",
|
|
2058
|
-
exact: true
|
|
2059
|
-
}).click();
|
|
2060
|
-
await this.skipMenu.click();
|
|
2061
|
-
await this.commentBox.fill(comment);
|
|
2062
|
-
await this.confirm.click();
|
|
2063
|
-
}
|
|
2064
|
-
}
|
|
2407
|
+
var $0e6e2e34ec44a72a$exports = {};
|
|
2065
2408
|
|
|
2409
|
+
var $gYWmw = parcelRequire("gYWmw");
|
|
2410
|
+
var $b4b8b2a977b4cc10$exports = {};
|
|
2066
2411
|
|
|
2067
|
-
|
|
2068
|
-
|
|
2069
|
-
|
|
2070
|
-
|
|
2071
|
-
|
|
2072
|
-
|
|
2073
|
-
|
|
2074
|
-
|
|
2075
|
-
|
|
2076
|
-
|
|
2077
|
-
|
|
2078
|
-
|
|
2079
|
-
|
|
2080
|
-
|
|
2081
|
-
|
|
2082
|
-
|
|
2083
|
-
|
|
2084
|
-
|
|
2085
|
-
|
|
2086
|
-
|
|
2087
|
-
|
|
2088
|
-
|
|
2089
|
-
|
|
2090
|
-
|
|
2091
|
-
|
|
2092
|
-
|
|
2093
|
-
|
|
2094
|
-
|
|
2095
|
-
|
|
2096
|
-
|
|
2097
|
-
|
|
2098
|
-
|
|
2099
|
-
|
|
2100
|
-
|
|
2101
|
-
|
|
2102
|
-
|
|
2103
|
-
|
|
2104
|
-
|
|
2105
|
-
|
|
2106
|
-
|
|
2107
|
-
|
|
2108
|
-
|
|
2109
|
-
|
|
2110
|
-
|
|
2111
|
-
|
|
2112
|
-
|
|
2113
|
-
|
|
2114
|
-
|
|
2115
|
-
|
|
2116
|
-
|
|
2117
|
-
|
|
2118
|
-
|
|
2119
|
-
|
|
2120
|
-
|
|
2121
|
-
|
|
2122
|
-
|
|
2123
|
-
|
|
2124
|
-
|
|
2125
|
-
|
|
2126
|
-
|
|
2127
|
-
|
|
2128
|
-
|
|
2129
|
-
|
|
2130
|
-
|
|
2131
|
-
|
|
2132
|
-
|
|
2133
|
-
|
|
2134
|
-
|
|
2135
|
-
|
|
2136
|
-
|
|
2137
|
-
|
|
2138
|
-
|
|
2139
|
-
|
|
2140
|
-
|
|
2141
|
-
|
|
2142
|
-
|
|
2143
|
-
|
|
2144
|
-
|
|
2145
|
-
|
|
2146
|
-
|
|
2147
|
-
|
|
2148
|
-
|
|
2149
|
-
|
|
2150
|
-
|
|
2151
|
-
|
|
2152
|
-
|
|
2153
|
-
|
|
2154
|
-
|
|
2155
|
-
|
|
2156
|
-
|
|
2157
|
-
|
|
2158
|
-
|
|
2159
|
-
|
|
2160
|
-
|
|
2161
|
-
|
|
2162
|
-
|
|
2163
|
-
|
|
2164
|
-
|
|
2165
|
-
|
|
2166
|
-
|
|
2167
|
-
|
|
2168
|
-
|
|
2169
|
-
|
|
2170
|
-
|
|
2171
|
-
if (blnVal) {
|
|
2172
|
-
await element.click();
|
|
2173
|
-
await this.expandAllTaskView();
|
|
2174
|
-
}
|
|
2412
|
+
var $bfk90 = parcelRequire("bfk90");
|
|
2413
|
+
|
|
2414
|
+
var $cjTq2 = parcelRequire("cjTq2");
|
|
2415
|
+
var $59b6e790ee7519e4$exports = {};
|
|
2416
|
+
/**
|
|
2417
|
+
* This function is like
|
|
2418
|
+
* [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
|
|
2419
|
+
* except that it includes inherited enumerable properties.
|
|
2420
|
+
*
|
|
2421
|
+
* @private
|
|
2422
|
+
* @param {Object} object The object to query.
|
|
2423
|
+
* @returns {Array} Returns the array of property names.
|
|
2424
|
+
*/ function $59b6e790ee7519e4$var$nativeKeysIn(object) {
|
|
2425
|
+
var result = [];
|
|
2426
|
+
if (object != null) for(var key in Object(object))result.push(key);
|
|
2427
|
+
return result;
|
|
2428
|
+
}
|
|
2429
|
+
$59b6e790ee7519e4$exports = $59b6e790ee7519e4$var$nativeKeysIn;
|
|
2430
|
+
|
|
2431
|
+
|
|
2432
|
+
/** Used for built-in method references. */ var $b4b8b2a977b4cc10$var$objectProto = Object.prototype;
|
|
2433
|
+
/** Used to check objects for own properties. */ var $b4b8b2a977b4cc10$var$hasOwnProperty = $b4b8b2a977b4cc10$var$objectProto.hasOwnProperty;
|
|
2434
|
+
/**
|
|
2435
|
+
* The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.
|
|
2436
|
+
*
|
|
2437
|
+
* @private
|
|
2438
|
+
* @param {Object} object The object to query.
|
|
2439
|
+
* @returns {Array} Returns the array of property names.
|
|
2440
|
+
*/ function $b4b8b2a977b4cc10$var$baseKeysIn(object) {
|
|
2441
|
+
if (!$bfk90(object)) return $59b6e790ee7519e4$exports(object);
|
|
2442
|
+
var isProto = $cjTq2(object), result = [];
|
|
2443
|
+
for(var key in object)if (!(key == "constructor" && (isProto || !$b4b8b2a977b4cc10$var$hasOwnProperty.call(object, key)))) result.push(key);
|
|
2444
|
+
return result;
|
|
2445
|
+
}
|
|
2446
|
+
$b4b8b2a977b4cc10$exports = $b4b8b2a977b4cc10$var$baseKeysIn;
|
|
2447
|
+
|
|
2448
|
+
|
|
2449
|
+
|
|
2450
|
+
var $fegcS = parcelRequire("fegcS");
|
|
2451
|
+
/**
|
|
2452
|
+
* Creates an array of the own and inherited enumerable property names of `object`.
|
|
2453
|
+
*
|
|
2454
|
+
* **Note:** Non-object values are coerced to objects.
|
|
2455
|
+
*
|
|
2456
|
+
* @static
|
|
2457
|
+
* @memberOf _
|
|
2458
|
+
* @since 3.0.0
|
|
2459
|
+
* @category Object
|
|
2460
|
+
* @param {Object} object The object to query.
|
|
2461
|
+
* @returns {Array} Returns the array of property names.
|
|
2462
|
+
* @example
|
|
2463
|
+
*
|
|
2464
|
+
* function Foo() {
|
|
2465
|
+
* this.a = 1;
|
|
2466
|
+
* this.b = 2;
|
|
2467
|
+
* }
|
|
2468
|
+
*
|
|
2469
|
+
* Foo.prototype.c = 3;
|
|
2470
|
+
*
|
|
2471
|
+
* _.keysIn(new Foo);
|
|
2472
|
+
* // => ['a', 'b', 'c'] (iteration order is not guaranteed)
|
|
2473
|
+
*/ function $0e6e2e34ec44a72a$var$keysIn(object) {
|
|
2474
|
+
return $fegcS(object) ? $gYWmw(object, true) : $b4b8b2a977b4cc10$exports(object);
|
|
2475
|
+
}
|
|
2476
|
+
$0e6e2e34ec44a72a$exports = $0e6e2e34ec44a72a$var$keysIn;
|
|
2477
|
+
|
|
2478
|
+
|
|
2479
|
+
/** Used for built-in method references. */ var $732eba8dca8b5420$var$objectProto = Object.prototype;
|
|
2480
|
+
/** Used to check objects for own properties. */ var $732eba8dca8b5420$var$hasOwnProperty = $732eba8dca8b5420$var$objectProto.hasOwnProperty;
|
|
2481
|
+
/**
|
|
2482
|
+
* Assigns own and inherited enumerable string keyed properties of source
|
|
2483
|
+
* objects to the destination object for all destination properties that
|
|
2484
|
+
* resolve to `undefined`. Source objects are applied from left to right.
|
|
2485
|
+
* Once a property is set, additional values of the same property are ignored.
|
|
2486
|
+
*
|
|
2487
|
+
* **Note:** This method mutates `object`.
|
|
2488
|
+
*
|
|
2489
|
+
* @static
|
|
2490
|
+
* @since 0.1.0
|
|
2491
|
+
* @memberOf _
|
|
2492
|
+
* @category Object
|
|
2493
|
+
* @param {Object} object The destination object.
|
|
2494
|
+
* @param {...Object} [sources] The source objects.
|
|
2495
|
+
* @returns {Object} Returns `object`.
|
|
2496
|
+
* @see _.defaultsDeep
|
|
2497
|
+
* @example
|
|
2498
|
+
*
|
|
2499
|
+
* _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });
|
|
2500
|
+
* // => { 'a': 1, 'b': 2 }
|
|
2501
|
+
*/ var $732eba8dca8b5420$var$defaults = $b1535b4ce0d1bd5f$exports(function(object, sources) {
|
|
2502
|
+
object = Object(object);
|
|
2503
|
+
var index = -1;
|
|
2504
|
+
var length = sources.length;
|
|
2505
|
+
var guard = length > 2 ? sources[2] : undefined;
|
|
2506
|
+
if (guard && $e084f044678f4365$exports(sources[0], sources[1], guard)) length = 1;
|
|
2507
|
+
while(++index < length){
|
|
2508
|
+
var source = sources[index];
|
|
2509
|
+
var props = $0e6e2e34ec44a72a$exports(source);
|
|
2510
|
+
var propsIndex = -1;
|
|
2511
|
+
var propsLength = props.length;
|
|
2512
|
+
while(++propsIndex < propsLength){
|
|
2513
|
+
var key = props[propsIndex];
|
|
2514
|
+
var value = object[key];
|
|
2515
|
+
if (value === undefined || $ceebddaa7160689c$exports(value, $732eba8dca8b5420$var$objectProto[key]) && !$732eba8dca8b5420$var$hasOwnProperty.call(object, key)) object[key] = source[key];
|
|
2175
2516
|
}
|
|
2176
2517
|
}
|
|
2518
|
+
return object;
|
|
2519
|
+
});
|
|
2520
|
+
$732eba8dca8b5420$exports = $732eba8dca8b5420$var$defaults;
|
|
2521
|
+
|
|
2522
|
+
|
|
2523
|
+
var $f51969c4a7467fa0$exports = {};
|
|
2524
|
+
var $acbd35b1cbbf33e4$exports = {};
|
|
2525
|
+
var $34482bf0fdb87aa6$exports = {};
|
|
2526
|
+
var $c258ac491a64b22b$exports = {};
|
|
2527
|
+
/**
|
|
2528
|
+
* A specialized version of `_.map` for arrays without support for iteratee
|
|
2529
|
+
* shorthands.
|
|
2530
|
+
*
|
|
2531
|
+
* @private
|
|
2532
|
+
* @param {Array} [array] The array to iterate over.
|
|
2533
|
+
* @param {Function} iteratee The function invoked per iteration.
|
|
2534
|
+
* @returns {Array} Returns the new mapped array.
|
|
2535
|
+
*/ function $c258ac491a64b22b$var$arrayMap(array, iteratee) {
|
|
2536
|
+
var index = -1, length = array == null ? 0 : array.length, result = Array(length);
|
|
2537
|
+
while(++index < length)result[index] = iteratee(array[index], index, array);
|
|
2538
|
+
return result;
|
|
2177
2539
|
}
|
|
2178
|
-
|
|
2179
|
-
|
|
2180
|
-
|
|
2181
|
-
|
|
2182
|
-
|
|
2183
|
-
|
|
2184
|
-
|
|
2185
|
-
|
|
2186
|
-
|
|
2187
|
-
|
|
2188
|
-
|
|
2189
|
-
|
|
2190
|
-
|
|
2191
|
-
|
|
2192
|
-
|
|
2193
|
-
|
|
2194
|
-
|
|
2195
|
-
|
|
2196
|
-
}).hover();
|
|
2197
|
-
await this.page.locator(`.xlr-ctx-menu.active`).getByTitle(taskType, {
|
|
2198
|
-
exact: true
|
|
2199
|
-
}).click();
|
|
2200
|
-
await this.phaseLocator.locator(".quick-controls-container a").getByText("Add", {
|
|
2201
|
-
exact: true
|
|
2202
|
-
}).click();
|
|
2203
|
-
}
|
|
2540
|
+
$c258ac491a64b22b$exports = $c258ac491a64b22b$var$arrayMap;
|
|
2541
|
+
|
|
2542
|
+
|
|
2543
|
+
/**
|
|
2544
|
+
* The base implementation of `_.toPairs` and `_.toPairsIn` which creates an array
|
|
2545
|
+
* of key-value pairs for `object` corresponding to the property names of `props`.
|
|
2546
|
+
*
|
|
2547
|
+
* @private
|
|
2548
|
+
* @param {Object} object The object to query.
|
|
2549
|
+
* @param {Array} props The property names to get values for.
|
|
2550
|
+
* @returns {Object} Returns the key-value pairs.
|
|
2551
|
+
*/ function $34482bf0fdb87aa6$var$baseToPairs(object, props) {
|
|
2552
|
+
return $c258ac491a64b22b$exports(props, function(key) {
|
|
2553
|
+
return [
|
|
2554
|
+
key,
|
|
2555
|
+
object[key]
|
|
2556
|
+
];
|
|
2557
|
+
});
|
|
2204
2558
|
}
|
|
2559
|
+
$34482bf0fdb87aa6$exports = $34482bf0fdb87aa6$var$baseToPairs;
|
|
2205
2560
|
|
|
2206
2561
|
|
|
2562
|
+
var $2184c74fd3b50571$exports = {};
|
|
2563
|
+
var $9707ed10f1d74f7d$exports = {};
|
|
2207
2564
|
|
|
2208
2565
|
|
|
2209
|
-
|
|
2210
|
-
|
|
2211
|
-
|
|
2212
|
-
|
|
2213
|
-
|
|
2214
|
-
|
|
2215
|
-
|
|
2216
|
-
|
|
2217
|
-
|
|
2218
|
-
|
|
2219
|
-
|
|
2220
|
-
|
|
2221
|
-
|
|
2222
|
-
|
|
2223
|
-
|
|
2224
|
-
|
|
2225
|
-
|
|
2226
|
-
|
|
2227
|
-
|
|
2228
|
-
|
|
2229
|
-
|
|
2230
|
-
|
|
2231
|
-
|
|
2232
|
-
|
|
2566
|
+
var $5iYlB = parcelRequire("5iYlB");
|
|
2567
|
+
/* Built-in method references that are verified to be native. */ var $9707ed10f1d74f7d$var$DataView = $b7745e89d7f5915f$exports($5iYlB, "DataView");
|
|
2568
|
+
$9707ed10f1d74f7d$exports = $9707ed10f1d74f7d$var$DataView;
|
|
2569
|
+
|
|
2570
|
+
|
|
2571
|
+
var $8c4ecd35968046d6$exports = {};
|
|
2572
|
+
|
|
2573
|
+
|
|
2574
|
+
var $5iYlB = parcelRequire("5iYlB");
|
|
2575
|
+
/* Built-in method references that are verified to be native. */ var $8c4ecd35968046d6$var$Map = $b7745e89d7f5915f$exports($5iYlB, "Map");
|
|
2576
|
+
$8c4ecd35968046d6$exports = $8c4ecd35968046d6$var$Map;
|
|
2577
|
+
|
|
2578
|
+
|
|
2579
|
+
var $30f4d64ddd8effd1$exports = {};
|
|
2580
|
+
|
|
2581
|
+
|
|
2582
|
+
var $5iYlB = parcelRequire("5iYlB");
|
|
2583
|
+
/* Built-in method references that are verified to be native. */ var $30f4d64ddd8effd1$var$Promise = $b7745e89d7f5915f$exports($5iYlB, "Promise");
|
|
2584
|
+
$30f4d64ddd8effd1$exports = $30f4d64ddd8effd1$var$Promise;
|
|
2585
|
+
|
|
2586
|
+
|
|
2587
|
+
var $869474d4b330cc35$exports = {};
|
|
2588
|
+
|
|
2589
|
+
|
|
2590
|
+
var $5iYlB = parcelRequire("5iYlB");
|
|
2591
|
+
/* Built-in method references that are verified to be native. */ var $869474d4b330cc35$var$Set = $b7745e89d7f5915f$exports($5iYlB, "Set");
|
|
2592
|
+
$869474d4b330cc35$exports = $869474d4b330cc35$var$Set;
|
|
2593
|
+
|
|
2594
|
+
|
|
2595
|
+
var $c4df061ad36170d9$exports = {};
|
|
2596
|
+
|
|
2597
|
+
|
|
2598
|
+
var $5iYlB = parcelRequire("5iYlB");
|
|
2599
|
+
/* Built-in method references that are verified to be native. */ var $c4df061ad36170d9$var$WeakMap = $b7745e89d7f5915f$exports($5iYlB, "WeakMap");
|
|
2600
|
+
$c4df061ad36170d9$exports = $c4df061ad36170d9$var$WeakMap;
|
|
2601
|
+
|
|
2602
|
+
|
|
2603
|
+
|
|
2604
|
+
var $hi3Ib = parcelRequire("hi3Ib");
|
|
2605
|
+
|
|
2606
|
+
/** `Object#toString` result references. */ var $2184c74fd3b50571$var$mapTag = "[object Map]", $2184c74fd3b50571$var$objectTag = "[object Object]", $2184c74fd3b50571$var$promiseTag = "[object Promise]", $2184c74fd3b50571$var$setTag = "[object Set]", $2184c74fd3b50571$var$weakMapTag = "[object WeakMap]";
|
|
2607
|
+
var $2184c74fd3b50571$var$dataViewTag = "[object DataView]";
|
|
2608
|
+
/** Used to detect maps, sets, and weakmaps. */ var $2184c74fd3b50571$var$dataViewCtorString = $c6de24274df36d4e$exports($9707ed10f1d74f7d$exports), $2184c74fd3b50571$var$mapCtorString = $c6de24274df36d4e$exports($8c4ecd35968046d6$exports), $2184c74fd3b50571$var$promiseCtorString = $c6de24274df36d4e$exports($30f4d64ddd8effd1$exports), $2184c74fd3b50571$var$setCtorString = $c6de24274df36d4e$exports($869474d4b330cc35$exports), $2184c74fd3b50571$var$weakMapCtorString = $c6de24274df36d4e$exports($c4df061ad36170d9$exports);
|
|
2609
|
+
/**
|
|
2610
|
+
* Gets the `toStringTag` of `value`.
|
|
2611
|
+
*
|
|
2612
|
+
* @private
|
|
2613
|
+
* @param {*} value The value to query.
|
|
2614
|
+
* @returns {string} Returns the `toStringTag`.
|
|
2615
|
+
*/ var $2184c74fd3b50571$var$getTag = $hi3Ib;
|
|
2616
|
+
// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.
|
|
2617
|
+
if ($9707ed10f1d74f7d$exports && $2184c74fd3b50571$var$getTag(new $9707ed10f1d74f7d$exports(new ArrayBuffer(1))) != $2184c74fd3b50571$var$dataViewTag || $8c4ecd35968046d6$exports && $2184c74fd3b50571$var$getTag(new $8c4ecd35968046d6$exports) != $2184c74fd3b50571$var$mapTag || $30f4d64ddd8effd1$exports && $2184c74fd3b50571$var$getTag($30f4d64ddd8effd1$exports.resolve()) != $2184c74fd3b50571$var$promiseTag || $869474d4b330cc35$exports && $2184c74fd3b50571$var$getTag(new $869474d4b330cc35$exports) != $2184c74fd3b50571$var$setTag || $c4df061ad36170d9$exports && $2184c74fd3b50571$var$getTag(new $c4df061ad36170d9$exports) != $2184c74fd3b50571$var$weakMapTag) $2184c74fd3b50571$var$getTag = function(value) {
|
|
2618
|
+
var result = $hi3Ib(value), Ctor = result == $2184c74fd3b50571$var$objectTag ? value.constructor : undefined, ctorString = Ctor ? $c6de24274df36d4e$exports(Ctor) : "";
|
|
2619
|
+
if (ctorString) switch(ctorString){
|
|
2620
|
+
case $2184c74fd3b50571$var$dataViewCtorString:
|
|
2621
|
+
return $2184c74fd3b50571$var$dataViewTag;
|
|
2622
|
+
case $2184c74fd3b50571$var$mapCtorString:
|
|
2623
|
+
return $2184c74fd3b50571$var$mapTag;
|
|
2624
|
+
case $2184c74fd3b50571$var$promiseCtorString:
|
|
2625
|
+
return $2184c74fd3b50571$var$promiseTag;
|
|
2626
|
+
case $2184c74fd3b50571$var$setCtorString:
|
|
2627
|
+
return $2184c74fd3b50571$var$setTag;
|
|
2628
|
+
case $2184c74fd3b50571$var$weakMapCtorString:
|
|
2629
|
+
return $2184c74fd3b50571$var$weakMapTag;
|
|
2233
2630
|
}
|
|
2631
|
+
return result;
|
|
2632
|
+
};
|
|
2633
|
+
$2184c74fd3b50571$exports = $2184c74fd3b50571$var$getTag;
|
|
2634
|
+
|
|
2635
|
+
|
|
2636
|
+
var $5cfa9b34443304aa$exports = {};
|
|
2637
|
+
/**
|
|
2638
|
+
* Converts `map` to its key-value pairs.
|
|
2639
|
+
*
|
|
2640
|
+
* @private
|
|
2641
|
+
* @param {Object} map The map to convert.
|
|
2642
|
+
* @returns {Array} Returns the key-value pairs.
|
|
2643
|
+
*/ function $5cfa9b34443304aa$var$mapToArray(map) {
|
|
2644
|
+
var index = -1, result = Array(map.size);
|
|
2645
|
+
map.forEach(function(value, key) {
|
|
2646
|
+
result[++index] = [
|
|
2647
|
+
key,
|
|
2648
|
+
value
|
|
2649
|
+
];
|
|
2650
|
+
});
|
|
2651
|
+
return result;
|
|
2234
2652
|
}
|
|
2653
|
+
$5cfa9b34443304aa$exports = $5cfa9b34443304aa$var$mapToArray;
|
|
2235
2654
|
|
|
2236
2655
|
|
|
2656
|
+
var $e0efec8f59f2b46b$exports = {};
|
|
2657
|
+
/**
|
|
2658
|
+
* Converts `set` to its value-value pairs.
|
|
2659
|
+
*
|
|
2660
|
+
* @private
|
|
2661
|
+
* @param {Object} set The set to convert.
|
|
2662
|
+
* @returns {Array} Returns the value-value pairs.
|
|
2663
|
+
*/ function $e0efec8f59f2b46b$var$setToPairs(set) {
|
|
2664
|
+
var index = -1, result = Array(set.size);
|
|
2665
|
+
set.forEach(function(value) {
|
|
2666
|
+
result[++index] = [
|
|
2667
|
+
value,
|
|
2668
|
+
value
|
|
2669
|
+
];
|
|
2670
|
+
});
|
|
2671
|
+
return result;
|
|
2672
|
+
}
|
|
2673
|
+
$e0efec8f59f2b46b$exports = $e0efec8f59f2b46b$var$setToPairs;
|
|
2237
2674
|
|
|
2238
2675
|
|
|
2239
|
-
|
|
2240
|
-
|
|
2241
|
-
|
|
2242
|
-
|
|
2243
|
-
|
|
2244
|
-
|
|
2245
|
-
|
|
2246
|
-
|
|
2247
|
-
|
|
2248
|
-
|
|
2249
|
-
|
|
2250
|
-
|
|
2251
|
-
return
|
|
2252
|
-
}
|
|
2676
|
+
/** `Object#toString` result references. */ var $acbd35b1cbbf33e4$var$mapTag = "[object Map]", $acbd35b1cbbf33e4$var$setTag = "[object Set]";
|
|
2677
|
+
/**
|
|
2678
|
+
* Creates a `_.toPairs` or `_.toPairsIn` function.
|
|
2679
|
+
*
|
|
2680
|
+
* @private
|
|
2681
|
+
* @param {Function} keysFunc The function to get the keys of a given object.
|
|
2682
|
+
* @returns {Function} Returns the new pairs function.
|
|
2683
|
+
*/ function $acbd35b1cbbf33e4$var$createToPairs(keysFunc) {
|
|
2684
|
+
return function(object) {
|
|
2685
|
+
var tag = $2184c74fd3b50571$exports(object);
|
|
2686
|
+
if (tag == $acbd35b1cbbf33e4$var$mapTag) return $5cfa9b34443304aa$exports(object);
|
|
2687
|
+
if (tag == $acbd35b1cbbf33e4$var$setTag) return $e0efec8f59f2b46b$exports(object);
|
|
2688
|
+
return $34482bf0fdb87aa6$exports(object, keysFunc(object));
|
|
2689
|
+
};
|
|
2253
2690
|
}
|
|
2691
|
+
$acbd35b1cbbf33e4$exports = $acbd35b1cbbf33e4$var$createToPairs;
|
|
2254
2692
|
|
|
2255
2693
|
|
|
2256
2694
|
|
|
2695
|
+
var $bqLSx = parcelRequire("bqLSx");
|
|
2696
|
+
/**
|
|
2697
|
+
* Creates an array of own enumerable string keyed-value pairs for `object`
|
|
2698
|
+
* which can be consumed by `_.fromPairs`. If `object` is a map or set, its
|
|
2699
|
+
* entries are returned.
|
|
2700
|
+
*
|
|
2701
|
+
* @static
|
|
2702
|
+
* @memberOf _
|
|
2703
|
+
* @since 4.0.0
|
|
2704
|
+
* @alias entries
|
|
2705
|
+
* @category Object
|
|
2706
|
+
* @param {Object} object The object to query.
|
|
2707
|
+
* @returns {Array} Returns the key-value pairs.
|
|
2708
|
+
* @example
|
|
2709
|
+
*
|
|
2710
|
+
* function Foo() {
|
|
2711
|
+
* this.a = 1;
|
|
2712
|
+
* this.b = 2;
|
|
2713
|
+
* }
|
|
2714
|
+
*
|
|
2715
|
+
* Foo.prototype.c = 3;
|
|
2716
|
+
*
|
|
2717
|
+
* _.toPairs(new Foo);
|
|
2718
|
+
* // => [['a', 1], ['b', 2]] (iteration order is not guaranteed)
|
|
2719
|
+
*/ var $f51969c4a7467fa0$var$toPairs = $acbd35b1cbbf33e4$exports($bqLSx);
|
|
2720
|
+
$f51969c4a7467fa0$exports = $f51969c4a7467fa0$var$toPairs;
|
|
2257
2721
|
|
|
2258
2722
|
|
|
2259
|
-
|
|
2260
|
-
|
|
2261
|
-
|
|
2262
|
-
|
|
2263
|
-
|
|
2264
|
-
|
|
2265
|
-
|
|
2266
|
-
|
|
2267
|
-
|
|
2268
|
-
|
|
2723
|
+
const $8977f8672c5de0fa$export$45f0aca2596a2bb3 = function() {
|
|
2724
|
+
const RELEASE_TYPE = "xlrelease.Release";
|
|
2725
|
+
const PHASE_TYPE = "xlrelease.Phase";
|
|
2726
|
+
const TEAM_TYPE = "xlrelease.Team";
|
|
2727
|
+
const TASK_TYPE = "xlrelease.Task";
|
|
2728
|
+
const COMMENT_TYPE = "xlrelease.Comment";
|
|
2729
|
+
const CONDITION_TYPE = "xlrelease.GateCondition";
|
|
2730
|
+
const DEPENDENCY_TYPE = "xlrelease.Dependency";
|
|
2731
|
+
const LINK_TYPE = "xlrelease.Link";
|
|
2732
|
+
const ATTACHMENT_TYPE = "xlrelease.Attachment";
|
|
2733
|
+
const DASHBOARD_TYPE = "xlrelease.Dashboard";
|
|
2734
|
+
const _TRIGGER_TYPE = "xlrelease.ReleaseTrigger";
|
|
2735
|
+
const JIRA_TYPE = "jira.CreateIssue";
|
|
2736
|
+
const DEFAULT_TASK_OWNER = "Itchy";
|
|
2737
|
+
const processTasks = (task, container, index)=>{
|
|
2738
|
+
if ((0, (/*@__PURE__*/$parcel$interopDefault($3e8b520187e41aa6$exports)))(task.type)) task.type = TASK_TYPE;
|
|
2739
|
+
task.id = task.id || `${container.id}/Task${index}`;
|
|
2740
|
+
if ((0, (/*@__PURE__*/$parcel$interopDefault($3e8b520187e41aa6$exports)))(task.owner) && task.type !== JIRA_TYPE) task.owner = DEFAULT_TASK_OWNER;
|
|
2741
|
+
if (task.owner === null) delete task.owner;
|
|
2742
|
+
(0, (/*@__PURE__*/$parcel$interopDefault($952a2b8d8056b381$exports)))(task.conditions, function(condition, idx) {
|
|
2743
|
+
condition.type = CONDITION_TYPE;
|
|
2744
|
+
condition.id = `${task.id}/GateCondition${idx}`;
|
|
2269
2745
|
});
|
|
2270
|
-
|
|
2271
|
-
|
|
2746
|
+
(0, (/*@__PURE__*/$parcel$interopDefault($952a2b8d8056b381$exports)))(task.dependencies, function(dependency, idx) {
|
|
2747
|
+
dependency.type = DEPENDENCY_TYPE;
|
|
2748
|
+
dependency.id = `${task.id}/Dependency${idx}`;
|
|
2272
2749
|
});
|
|
2273
|
-
|
|
2274
|
-
|
|
2750
|
+
(0, (/*@__PURE__*/$parcel$interopDefault($952a2b8d8056b381$exports)))(task.links, function(link, idx) {
|
|
2751
|
+
link.type = LINK_TYPE;
|
|
2752
|
+
link.id = `${task.id}/Link${idx}`;
|
|
2275
2753
|
});
|
|
2276
|
-
|
|
2277
|
-
|
|
2278
|
-
|
|
2279
|
-
}
|
|
2280
|
-
async setFullName(fullName) {
|
|
2281
|
-
return await this.name.fill(fullName);
|
|
2282
|
-
}
|
|
2283
|
-
async setEmail(email) {
|
|
2284
|
-
return await this.email.fill(email);
|
|
2285
|
-
}
|
|
2286
|
-
async setPassword(password) {
|
|
2287
|
-
return await this.password.fill(password);
|
|
2288
|
-
}
|
|
2289
|
-
async setConfirmPassword(cnfPassword) {
|
|
2290
|
-
return await this.cnfPassword.fill(cnfPassword);
|
|
2291
|
-
}
|
|
2292
|
-
async save() {
|
|
2293
|
-
await this.saveButton.click();
|
|
2294
|
-
}
|
|
2295
|
-
async cancel() {
|
|
2296
|
-
await this.cancelButton.click();
|
|
2297
|
-
}
|
|
2298
|
-
async delete() {
|
|
2299
|
-
await this.deleteButton.click();
|
|
2300
|
-
}
|
|
2301
|
-
}
|
|
2302
|
-
|
|
2303
|
-
|
|
2304
|
-
class $3ceab7c613cabfd6$export$107317390f5aa598 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
2305
|
-
constructor(page){
|
|
2306
|
-
super(page);
|
|
2307
|
-
this.page = page;
|
|
2308
|
-
this.newUserButton = this.page.getByTestId("new-user-btn");
|
|
2309
|
-
this.modal = new (0, $bb5572a48b31014a$export$e2e2e1ffdce20c30)(page);
|
|
2310
|
-
}
|
|
2311
|
-
async openUsersPage() {
|
|
2312
|
-
this.page.goto("./#/users", {
|
|
2313
|
-
timeout: 1000
|
|
2754
|
+
(0, (/*@__PURE__*/$parcel$interopDefault($952a2b8d8056b381$exports)))(task.comments, function(comment, idx) {
|
|
2755
|
+
comment.type = COMMENT_TYPE;
|
|
2756
|
+
comment.id = `${task.id}/Comment${idx}`;
|
|
2314
2757
|
});
|
|
2315
|
-
|
|
2316
|
-
|
|
2317
|
-
await this.page.getByRole("row", {
|
|
2318
|
-
name: "" + username + ""
|
|
2319
|
-
}).getByRole("checkbox").check();
|
|
2320
|
-
//await this.page.locator(`tr:contains('${username}') .login-permission input`).click();
|
|
2321
|
-
}
|
|
2322
|
-
async addUser() {
|
|
2323
|
-
await this.newUserButton.click();
|
|
2324
|
-
}
|
|
2325
|
-
async createUser(username, password) {
|
|
2326
|
-
await this.modal.setUserName(username);
|
|
2327
|
-
await this.modal.setFullName(username);
|
|
2328
|
-
await this.modal.setEmail("testuser@company.com");
|
|
2329
|
-
await this.modal.setPassword(password);
|
|
2330
|
-
await this.modal.setConfirmPassword(password);
|
|
2331
|
-
await this.modal.save();
|
|
2332
|
-
}
|
|
2333
|
-
async expectToHaveLoginPermission(username) {
|
|
2334
|
-
return await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("row", {
|
|
2335
|
-
name: "" + username + ""
|
|
2336
|
-
}).getByRole("checkbox")).toBeChecked();
|
|
2337
|
-
}
|
|
2338
|
-
async deleteUser(username) {
|
|
2339
|
-
await this.page.getByRole("row", {
|
|
2340
|
-
name: "" + username + ""
|
|
2341
|
-
}).locator("i").nth(1).click();
|
|
2342
|
-
await this.modal.delete();
|
|
2343
|
-
}
|
|
2344
|
-
}
|
|
2345
|
-
|
|
2346
|
-
|
|
2347
|
-
|
|
2348
|
-
class $7867194f18360347$export$1d7840d5cdc861d5 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
2349
|
-
constructor(page){
|
|
2350
|
-
super(page);
|
|
2351
|
-
this.settingsIcon = this.page.getByRole("button", {
|
|
2352
|
-
name: "Settings"
|
|
2758
|
+
(0, (/*@__PURE__*/$parcel$interopDefault($952a2b8d8056b381$exports)))(task.tasks, function(subTask, idx) {
|
|
2759
|
+
processTasks(subTask, task, idx);
|
|
2353
2760
|
});
|
|
2354
|
-
|
|
2355
|
-
|
|
2761
|
+
(0, (/*@__PURE__*/$parcel$interopDefault($952a2b8d8056b381$exports)))(task.templateVariables, function(variable, idx) {
|
|
2762
|
+
(0, (/*@__PURE__*/$parcel$interopDefault($732eba8dca8b5420$exports)))(variable, getVariableEntity(variable.value, variable.key, task.id, idx));
|
|
2356
2763
|
});
|
|
2357
|
-
|
|
2358
|
-
|
|
2764
|
+
(0, (/*@__PURE__*/$parcel$interopDefault($952a2b8d8056b381$exports)))(task.attachments, function(attachment, idx) {
|
|
2765
|
+
attachment.type = ATTACHMENT_TYPE;
|
|
2766
|
+
attachment.id = `${task.id}/Attachment${idx}`;
|
|
2359
2767
|
});
|
|
2360
|
-
|
|
2361
|
-
|
|
2362
|
-
|
|
2363
|
-
|
|
2364
|
-
|
|
2365
|
-
|
|
2366
|
-
|
|
2367
|
-
|
|
2368
|
-
|
|
2369
|
-
|
|
2370
|
-
|
|
2371
|
-
|
|
2372
|
-
|
|
2373
|
-
|
|
2374
|
-
|
|
2375
|
-
|
|
2376
|
-
|
|
2377
|
-
|
|
2378
|
-
|
|
2379
|
-
|
|
2380
|
-
|
|
2381
|
-
|
|
2382
|
-
class $a8855257f8bb2b12$export$43682cddead1dd78 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
2383
|
-
async openReleaseCalendarPage() {
|
|
2384
|
-
await this.page.goto("./#/calendar");
|
|
2385
|
-
//Define date format to verify different calendar views
|
|
2386
|
-
const today = new Date();
|
|
2387
|
-
let options = {
|
|
2388
|
-
weekday: "long",
|
|
2389
|
-
year: "numeric",
|
|
2390
|
-
month: "short",
|
|
2391
|
-
day: "numeric"
|
|
2768
|
+
if (task.pythonScript) {
|
|
2769
|
+
const pythonScript = task.pythonScript;
|
|
2770
|
+
pythonScript.id = `${task.id}/PythonScript`;
|
|
2771
|
+
pythonScript.customScriptTask = task.id;
|
|
2772
|
+
}
|
|
2773
|
+
};
|
|
2774
|
+
const processPhases = (phase, release, index)=>{
|
|
2775
|
+
phase.type = PHASE_TYPE;
|
|
2776
|
+
phase.id = `${release.id}/Phase${index}`;
|
|
2777
|
+
(0, (/*@__PURE__*/$parcel$interopDefault($ae8Uz)))(phase.tasks, (task, idx)=>{
|
|
2778
|
+
processTasks(task, phase, idx);
|
|
2779
|
+
});
|
|
2780
|
+
};
|
|
2781
|
+
const getVariableEntity = (value, key, containerId, index, password)=>{
|
|
2782
|
+
const keyNoSyntax = key.replace("${", "").replace("}", "");
|
|
2783
|
+
return {
|
|
2784
|
+
id: `${containerId}/Variable${index}`,
|
|
2785
|
+
key: keyNoSyntax,
|
|
2786
|
+
requiresValue: true,
|
|
2787
|
+
showOnReleaseStart: true,
|
|
2788
|
+
type: password ? "xlrelease.PasswordStringVariable" : "xlrelease.StringVariable",
|
|
2789
|
+
value: value
|
|
2392
2790
|
};
|
|
2393
|
-
|
|
2394
|
-
|
|
2395
|
-
|
|
2396
|
-
|
|
2397
|
-
|
|
2398
|
-
year: "numeric"
|
|
2791
|
+
};
|
|
2792
|
+
const getValueProviderConfigurationEntity = function(containerId) {
|
|
2793
|
+
return {
|
|
2794
|
+
id: `${containerId}/valueProvider`,
|
|
2795
|
+
variable: containerId
|
|
2399
2796
|
};
|
|
2400
|
-
|
|
2401
|
-
|
|
2402
|
-
|
|
2403
|
-
|
|
2404
|
-
|
|
2405
|
-
|
|
2406
|
-
|
|
2407
|
-
|
|
2408
|
-
|
|
2409
|
-
}).click();
|
|
2410
|
-
const downloadPromise = this.page.waitForEvent("download");
|
|
2411
|
-
await this.page.getByRole("button", {
|
|
2412
|
-
name: "Export"
|
|
2413
|
-
}).click();
|
|
2414
|
-
await downloadPromise;
|
|
2415
|
-
}
|
|
2416
|
-
async cancelCalendarExport() {
|
|
2417
|
-
let downloadCount = 0;
|
|
2418
|
-
// Listen to download events
|
|
2419
|
-
this.page.on("download", (_download)=>{
|
|
2420
|
-
downloadCount++;
|
|
2797
|
+
};
|
|
2798
|
+
const getDashboardExtension = (dashboard, releaseId)=>{
|
|
2799
|
+
const dashboardExtension = {
|
|
2800
|
+
id: `${releaseId}/summary`,
|
|
2801
|
+
type: DASHBOARD_TYPE,
|
|
2802
|
+
tiles: []
|
|
2803
|
+
};
|
|
2804
|
+
if (dashboard.tiles) (0, (/*@__PURE__*/$parcel$interopDefault($ae8Uz)))(dashboard.tiles, function(tile, index) {
|
|
2805
|
+
dashboardExtension.tiles.push(getTileEntity(tile, `${releaseId}/summary`, index));
|
|
2421
2806
|
});
|
|
2422
|
-
|
|
2423
|
-
|
|
2424
|
-
|
|
2425
|
-
|
|
2426
|
-
|
|
2427
|
-
}).click();
|
|
2428
|
-
return downloadCount;
|
|
2429
|
-
}
|
|
2430
|
-
async verifyDayView() {
|
|
2431
|
-
await this.page.getByRole("combobox").click();
|
|
2432
|
-
await this.page.getByRole("option", {
|
|
2433
|
-
name: "Day"
|
|
2434
|
-
}).click();
|
|
2435
|
-
await this.page.getByRole("button", {
|
|
2436
|
-
name: "Today"
|
|
2437
|
-
}).click();
|
|
2438
|
-
//Verify Page has correct day format displayed at the page bottom
|
|
2439
|
-
await (0, $kKeXs$playwrighttest.expect)(this.page.getByText(this.dayFormat)).toBeVisible();
|
|
2440
|
-
}
|
|
2441
|
-
async verifyYearView() {
|
|
2442
|
-
await this.page.getByRole("combobox").click();
|
|
2443
|
-
await this.page.getByRole("option", {
|
|
2444
|
-
name: "Year"
|
|
2445
|
-
}).click();
|
|
2446
|
-
await this.page.getByRole("button", {
|
|
2447
|
-
name: "Today"
|
|
2448
|
-
}).click();
|
|
2449
|
-
//Verify Page has correct Year format displayed at the page bottom
|
|
2450
|
-
await (0, $kKeXs$playwrighttest.expect)(this.page.getByText(this.yearFormatString)).toBeVisible();
|
|
2451
|
-
}
|
|
2452
|
-
}
|
|
2453
|
-
|
|
2454
|
-
|
|
2455
|
-
class $4ef41cf96a5fae4c$export$b8a61e5c71402559 {
|
|
2456
|
-
constructor(page){
|
|
2457
|
-
this.page = page;
|
|
2458
|
-
this.releasePage = new (0, $9b9a8c3da392d020$export$f43492e8ac3c566)(page);
|
|
2459
|
-
this.settingsMenu = new (0, $7867194f18360347$export$1d7840d5cdc861d5)(page);
|
|
2460
|
-
this.usersPage = new (0, $3ceab7c613cabfd6$export$107317390f5aa598)(page);
|
|
2461
|
-
this.applicationPage = new (0, $dc91ece6da6cadfa$export$1533b625ec0c75e2)(page);
|
|
2462
|
-
this.taskDetailsPage = new (0, $a642d735048996f9$export$922081b54f2ab994)(page);
|
|
2463
|
-
this.releaseCalendarPage = new (0, $a8855257f8bb2b12$export$43682cddead1dd78)(page);
|
|
2464
|
-
}
|
|
2465
|
-
async openTemplate(id) {
|
|
2466
|
-
return this.openReleaseOrTemplate(id, false);
|
|
2467
|
-
}
|
|
2468
|
-
async openRelease(id) {
|
|
2469
|
-
return this.openReleaseOrTemplate(id, true);
|
|
2470
|
-
}
|
|
2471
|
-
async openApplicationsPage() {
|
|
2472
|
-
return new (0, $dc91ece6da6cadfa$export$1533b625ec0c75e2)(this.page).goToApplicationsPage();
|
|
2473
|
-
}
|
|
2474
|
-
async openPersonalAccessTokenPage() {
|
|
2475
|
-
return new (0, $be4dd73206d8e76b$export$3cac5fd37ae64b91)(this.page).openPersonalAccessTokenPage();
|
|
2476
|
-
}
|
|
2477
|
-
async gotoFolderPage() {
|
|
2478
|
-
await this.page.locator("ul.side-nav li", {
|
|
2479
|
-
hasText: "Folders"
|
|
2480
|
-
}).click();
|
|
2481
|
-
}
|
|
2482
|
-
async gotoTaskPage() {
|
|
2483
|
-
await this.page.locator("ul.side-nav li", {
|
|
2484
|
-
hasText: "Tasks"
|
|
2485
|
-
}).click();
|
|
2486
|
-
}
|
|
2487
|
-
async gotoReleasePage() {
|
|
2488
|
-
await this.page.locator("ul.side-nav li", {
|
|
2489
|
-
hasText: "Releases"
|
|
2490
|
-
}).click();
|
|
2491
|
-
}
|
|
2492
|
-
async gotoWorkflowCatalogPage() {
|
|
2493
|
-
await this.page.locator("ul.side-nav li", {
|
|
2494
|
-
hasText: "Workflow catalog"
|
|
2495
|
-
}).click();
|
|
2496
|
-
}
|
|
2497
|
-
async gotoWorkflowsPage() {
|
|
2498
|
-
await this.page.locator("ul.side-nav li", {
|
|
2499
|
-
hasText: "Workflows"
|
|
2500
|
-
}).click();
|
|
2501
|
-
}
|
|
2502
|
-
async gotoGroupsPage() {
|
|
2503
|
-
await this.page.locator("ul.side-nav li", {
|
|
2504
|
-
hasText: "Groups"
|
|
2505
|
-
}).click();
|
|
2506
|
-
}
|
|
2507
|
-
async gotoReleaseCalenderPage() {
|
|
2508
|
-
await this.page.locator("ul.side-nav li", {
|
|
2509
|
-
hasText: "Release calendar"
|
|
2510
|
-
}).click();
|
|
2511
|
-
}
|
|
2512
|
-
async gotoDeliveriesPage() {
|
|
2513
|
-
await this.page.locator("ul.side-nav li", {
|
|
2514
|
-
hasText: "Deliveries"
|
|
2515
|
-
}).click();
|
|
2516
|
-
}
|
|
2517
|
-
async gotoTriggersPage() {
|
|
2518
|
-
await this.page.locator("ul.side-nav li", {
|
|
2519
|
-
hasText: "Triggers"
|
|
2520
|
-
}).click();
|
|
2521
|
-
}
|
|
2522
|
-
async gotoDigitalAnalyticsPage() {
|
|
2523
|
-
await this.page.locator("ul.side-nav li", {
|
|
2524
|
-
hasText: "Digital.ai Analytics"
|
|
2525
|
-
}).click();
|
|
2526
|
-
}
|
|
2527
|
-
async gotoReportsPage() {
|
|
2528
|
-
await this.page.locator("ul.side-nav li", {
|
|
2529
|
-
hasText: "Reports"
|
|
2530
|
-
}).click();
|
|
2531
|
-
}
|
|
2532
|
-
async gotoTemplatesPage() {
|
|
2533
|
-
await this.page.locator("ul.side-nav li", {
|
|
2534
|
-
hasText: "Templates"
|
|
2535
|
-
}).click();
|
|
2536
|
-
}
|
|
2537
|
-
async gotoEnvironmentsPage() {
|
|
2538
|
-
await this.page.locator("ul.side-nav li", {
|
|
2539
|
-
hasText: "Environments"
|
|
2540
|
-
}).click();
|
|
2541
|
-
}
|
|
2542
|
-
async gotoEnvironmentsCalenderPage() {
|
|
2543
|
-
await this.page.locator("ul.side-nav li", {
|
|
2544
|
-
hasText: "Environments calendar"
|
|
2545
|
-
}).click();
|
|
2546
|
-
}
|
|
2547
|
-
async gotoGobalVariablesPage() {
|
|
2548
|
-
await this.page.locator("ul.side-nav li", {
|
|
2549
|
-
hasText: "Global variables"
|
|
2550
|
-
}).click();
|
|
2551
|
-
}
|
|
2552
|
-
async gotoConnectionsPage() {
|
|
2553
|
-
await this.page.locator("ul.side-nav li", {
|
|
2554
|
-
hasText: "Connections"
|
|
2555
|
-
}).click();
|
|
2556
|
-
}
|
|
2557
|
-
async openReleaseOrTemplate(id, release) {
|
|
2558
|
-
const url = release ? "releases" : "templates";
|
|
2559
|
-
await this.page.goto(`./#/${url}/${id}`);
|
|
2560
|
-
await this.page.waitForSelector("#release");
|
|
2561
|
-
return new (0, $9b9a8c3da392d020$export$f43492e8ac3c566)(this.page);
|
|
2807
|
+
return dashboardExtension;
|
|
2808
|
+
};
|
|
2809
|
+
function getTileEntity(tile, containerId, index) {
|
|
2810
|
+
tile.id = tile.id || `${containerId}/Tile${index}`;
|
|
2811
|
+
return tile;
|
|
2562
2812
|
}
|
|
2563
|
-
|
|
2813
|
+
return function(release) {
|
|
2814
|
+
release.type = RELEASE_TYPE;
|
|
2815
|
+
if (release.id.indexOf("Applications/") === -1) release.id = `Applications/${release.id}`;
|
|
2816
|
+
if (release.startDate) release.queryableStartDate = release.startDate;
|
|
2817
|
+
else if (release.scheduledStartDate) release.queryableStartDate = release.scheduledStartDate;
|
|
2818
|
+
if (release.endDate) release.queryableEndDate = release.endDate;
|
|
2819
|
+
else if (release.dueDate) release.queryableEndDate = release.dueDate;
|
|
2820
|
+
if ((0, (/*@__PURE__*/$parcel$interopDefault($3e8b520187e41aa6$exports)))(release.owner)) release.owner = "Itchy"; // default release manager
|
|
2821
|
+
(0, (/*@__PURE__*/$parcel$interopDefault($ae8Uz)))(release.phases, function(phase, index) {
|
|
2822
|
+
processPhases(phase, release, index);
|
|
2823
|
+
});
|
|
2824
|
+
(0, (/*@__PURE__*/$parcel$interopDefault($ae8Uz)))(release.teams, function(team, index) {
|
|
2825
|
+
team.type = TEAM_TYPE;
|
|
2826
|
+
team.id = `${release.id}/Team${index}`;
|
|
2827
|
+
});
|
|
2828
|
+
(0, (/*@__PURE__*/$parcel$interopDefault($ae8Uz)))(release.attachments, function(attachment, index) {
|
|
2829
|
+
attachment.type = ATTACHMENT_TYPE;
|
|
2830
|
+
attachment.id = `${release.id}/Attachment${index}`;
|
|
2831
|
+
});
|
|
2832
|
+
(0, (/*@__PURE__*/$parcel$interopDefault($ae8Uz)))(release.variables, function(variable, index) {
|
|
2833
|
+
(0, (/*@__PURE__*/$parcel$interopDefault($732eba8dca8b5420$exports)))(variable, getVariableEntity(variable.value, variable.key, release.id, index));
|
|
2834
|
+
if (variable.valueProvider) (0, (/*@__PURE__*/$parcel$interopDefault($732eba8dca8b5420$exports)))(variable.valueProvider, getValueProviderConfigurationEntity(variable.id));
|
|
2835
|
+
});
|
|
2836
|
+
(0, (/*@__PURE__*/$parcel$interopDefault($ae8Uz)))((0, (/*@__PURE__*/$parcel$interopDefault($f51969c4a7467fa0$exports)))(release.variableValues), function(keyValue, index) {
|
|
2837
|
+
if (!release.variables) release.variables = [];
|
|
2838
|
+
release.variables.push(getVariableEntity(keyValue[1], keyValue[0], release.id, 1000 + index));
|
|
2839
|
+
release.variableValues = undefined;
|
|
2840
|
+
});
|
|
2841
|
+
(0, (/*@__PURE__*/$parcel$interopDefault($ae8Uz)))((0, (/*@__PURE__*/$parcel$interopDefault($f51969c4a7467fa0$exports)))(release.passwordVariableValues), function(keyValue, index) {
|
|
2842
|
+
if (!release.variables) release.variables = [];
|
|
2843
|
+
release.variables.push(getVariableEntity(keyValue[1], keyValue[0], release.id, 1500 + index, true));
|
|
2844
|
+
release.passwordVariableValues = undefined;
|
|
2845
|
+
});
|
|
2846
|
+
if (release.summary) {
|
|
2847
|
+
release.extensions = [
|
|
2848
|
+
getDashboardExtension(release.summary, release.id)
|
|
2849
|
+
];
|
|
2850
|
+
release.summary = undefined;
|
|
2851
|
+
}
|
|
2852
|
+
};
|
|
2853
|
+
}();
|
|
2564
2854
|
|
|
2565
2855
|
|
|
2566
2856
|
|
|
2857
|
+
const $6998c6a53a9eb4fa$var$JIRA_ISSUE_API_URL = "https://digitalai.atlassian.net/rest/api/2/issue";
|
|
2567
2858
|
const $6998c6a53a9eb4fa$var$adminHeaders = {
|
|
2568
2859
|
Authorization: "Basic YWRtaW46YWRtaW4=",
|
|
2569
2860
|
Cookie: "XSRF-TOKEN=1;",
|
|
@@ -2596,7 +2887,7 @@ class $6998c6a53a9eb4fa$var$Fixtures {
|
|
|
2596
2887
|
this.request = request;
|
|
2597
2888
|
this.page = page;
|
|
2598
2889
|
}
|
|
2599
|
-
|
|
2890
|
+
release(release) {
|
|
2600
2891
|
this.initDefaults(release);
|
|
2601
2892
|
this.releaseIds.push(release.id);
|
|
2602
2893
|
return this.deleteRelease(release.id).then(()=>this.deleteArchivedRelease(release.id)).then(()=>this.doPost("fixtures/release", release));
|
|
@@ -2624,6 +2915,12 @@ class $6998c6a53a9eb4fa$var$Fixtures {
|
|
|
2624
2915
|
const releaseId = id.includes("Applications/") ? id : `Applications/${id}`;
|
|
2625
2916
|
return this.doDelete(`fixtures/${releaseId}`);
|
|
2626
2917
|
}
|
|
2918
|
+
deleteUser(username) {
|
|
2919
|
+
return this.doDelete(`fixtures/user/${username}`);
|
|
2920
|
+
}
|
|
2921
|
+
deleteUserProfile(userProfile) {
|
|
2922
|
+
return this.doDelete(`fixtures/userProfile/${userProfile}`);
|
|
2923
|
+
}
|
|
2627
2924
|
deleteTrigger(id) {
|
|
2628
2925
|
return this.doDelete(`fixtures/trigger/${id}`);
|
|
2629
2926
|
}
|
|
@@ -2632,19 +2929,83 @@ class $6998c6a53a9eb4fa$var$Fixtures {
|
|
|
2632
2929
|
id
|
|
2633
2930
|
]);
|
|
2634
2931
|
}
|
|
2635
|
-
|
|
2636
|
-
|
|
2637
|
-
|
|
2638
|
-
|
|
2639
|
-
for (const
|
|
2640
|
-
for (const
|
|
2641
|
-
for (const
|
|
2932
|
+
activityLogs(releaseId, logs) {
|
|
2933
|
+
return this.doPost(`fixtures/activityLogs/${releaseId}`, logs);
|
|
2934
|
+
}
|
|
2935
|
+
async cleanAll() {
|
|
2936
|
+
for (const username of this.usernames)await this.deleteUser(username);
|
|
2937
|
+
for (const userProfile of this.userProfiles)await this.deleteUserProfile(userProfile);
|
|
2938
|
+
for (const triggerId of this.triggerIds)await this.deleteTrigger(triggerId);
|
|
2939
|
+
for (const releaseId of this.releaseIds.reverse())await this.deleteRelease(releaseId);
|
|
2940
|
+
for (const confId of this.configurationIds)await this.deleteConfiguration(confId);
|
|
2642
2941
|
this.releaseIds = [];
|
|
2643
2942
|
this.triggerIds = [];
|
|
2644
2943
|
this.configurationIds = [];
|
|
2645
2944
|
this.usernames = [];
|
|
2646
2945
|
this.userProfiles = [];
|
|
2647
|
-
|
|
2946
|
+
}
|
|
2947
|
+
async addJiraTask() {
|
|
2948
|
+
const data = {
|
|
2949
|
+
fields: {
|
|
2950
|
+
project: {
|
|
2951
|
+
key: "RIT"
|
|
2952
|
+
},
|
|
2953
|
+
summary: "Test Task",
|
|
2954
|
+
description: "Test task description",
|
|
2955
|
+
issuetype: {
|
|
2956
|
+
name: "Task"
|
|
2957
|
+
}
|
|
2958
|
+
}
|
|
2959
|
+
};
|
|
2960
|
+
const headers = {
|
|
2961
|
+
Authorization: `Basic ${btoa("xlr-jira-testuser@xebialabs.com:zgsXK6c3oLVkJxrWVJQy9DB7")}`,
|
|
2962
|
+
Origin: "https://digitalai.atlassian.net/"
|
|
2963
|
+
};
|
|
2964
|
+
const response = await this.request.post($6998c6a53a9eb4fa$var$JIRA_ISSUE_API_URL, {
|
|
2965
|
+
data: data,
|
|
2966
|
+
headers: headers
|
|
2967
|
+
});
|
|
2968
|
+
const json = await response.json();
|
|
2969
|
+
return json.key;
|
|
2970
|
+
}
|
|
2971
|
+
async addUser(username, password) {
|
|
2972
|
+
this.usernames.push(username);
|
|
2973
|
+
await this.doPost("fixtures/user", {
|
|
2974
|
+
username: username,
|
|
2975
|
+
password: password
|
|
2976
|
+
});
|
|
2977
|
+
}
|
|
2978
|
+
async addUserProfile(username, profile) {
|
|
2979
|
+
if (!profile) profile = {};
|
|
2980
|
+
profile.id = username;
|
|
2981
|
+
profile.type = "xlrelease.UserProfile";
|
|
2982
|
+
profile.canonicalId = username.toLowerCase();
|
|
2983
|
+
this.userProfiles.push(profile.canonicalId);
|
|
2984
|
+
await this.doPost("fixtures/userProfile", profile);
|
|
2985
|
+
}
|
|
2986
|
+
async expectJiraTaskStatus(taskId, expectedStatus) {
|
|
2987
|
+
const headers = {
|
|
2988
|
+
Authorization: `Basic ${btoa("xlr-jira-testuser@xebialabs.com:zgsXK6c3oLVkJxrWVJQy9DB7")}`,
|
|
2989
|
+
Origin: "https://digitalai.atlassian.net/"
|
|
2990
|
+
};
|
|
2991
|
+
const response = await this.request.get(`${$6998c6a53a9eb4fa$var$JIRA_ISSUE_API_URL}/${taskId}`, {
|
|
2992
|
+
headers: headers
|
|
2993
|
+
});
|
|
2994
|
+
const json = await response.json();
|
|
2995
|
+
const status = json.fields.status.name;
|
|
2996
|
+
(0, $kKeXs$playwrighttest.expect)(status).toBe(expectedStatus);
|
|
2997
|
+
}
|
|
2998
|
+
async expectJiraTaskSummary(taskId, expectedSummary) {
|
|
2999
|
+
const headers = {
|
|
3000
|
+
Authorization: `Basic ${btoa("xlr-jira-testuser@xebialabs.com:zgsXK6c3oLVkJxrWVJQy9DB7")}`,
|
|
3001
|
+
Origin: "https://digitalai.atlassian.net/"
|
|
3002
|
+
};
|
|
3003
|
+
const response = await this.request.get(`${$6998c6a53a9eb4fa$var$JIRA_ISSUE_API_URL}/${taskId}`, {
|
|
3004
|
+
headers: headers
|
|
3005
|
+
});
|
|
3006
|
+
const json = await response.json();
|
|
3007
|
+
const summary = json.fields.summary;
|
|
3008
|
+
(0, $kKeXs$playwrighttest.expect)(summary).toBe(expectedSummary);
|
|
2648
3009
|
}
|
|
2649
3010
|
async waitForReleaseStarted(releaseTitle) {
|
|
2650
3011
|
await (0, $kKeXs$playwrighttest.expect)(async ()=>{
|
|
@@ -2680,6 +3041,12 @@ class $6998c6a53a9eb4fa$var$Fixtures {
|
|
|
2680
3041
|
getEnvVariable(name) {
|
|
2681
3042
|
return $kKeXs$process.env[name];
|
|
2682
3043
|
}
|
|
3044
|
+
async archiveRelease(releaseId) {
|
|
3045
|
+
return this.doGet(`fixtures/archive/${releaseId}`);
|
|
3046
|
+
}
|
|
3047
|
+
async preArchiveRelease(releaseId) {
|
|
3048
|
+
return this.doGet(`fixtures/preArchive/${releaseId}`);
|
|
3049
|
+
}
|
|
2683
3050
|
async setFeatures(features) {
|
|
2684
3051
|
return this.doPut("settings/features", features);
|
|
2685
3052
|
}
|
|
@@ -2688,32 +3055,10 @@ class $6998c6a53a9eb4fa$var$Fixtures {
|
|
|
2688
3055
|
{
|
|
2689
3056
|
id: "Configuration/features/xlrelease.TaskDrawer",
|
|
2690
3057
|
type: "xlrelease.TaskDrawer",
|
|
2691
|
-
category: "Stable",
|
|
2692
3058
|
enabled: enabled
|
|
2693
3059
|
}
|
|
2694
3060
|
]);
|
|
2695
3061
|
}
|
|
2696
|
-
async addUser(username, password) {
|
|
2697
|
-
this.usernames.push(username);
|
|
2698
|
-
return await this.doPost("fixtures/user", {
|
|
2699
|
-
username: username,
|
|
2700
|
-
password: password
|
|
2701
|
-
});
|
|
2702
|
-
}
|
|
2703
|
-
async addUserProfile(username, profile) {
|
|
2704
|
-
if (!profile) profile = {};
|
|
2705
|
-
profile.id = username;
|
|
2706
|
-
profile.type = "xlrelease.UserProfile";
|
|
2707
|
-
profile.canonicalId = username.toLowerCase();
|
|
2708
|
-
this.userProfiles.push(profile.canonicalId);
|
|
2709
|
-
return await this.doPost("fixtures/userProfile", profile);
|
|
2710
|
-
}
|
|
2711
|
-
async deleteUser(username) {
|
|
2712
|
-
return await this.request.delete(`fixtures/user/${username}`);
|
|
2713
|
-
}
|
|
2714
|
-
async deleteUserProfile(username) {
|
|
2715
|
-
return await this.request.delete(`fixtures/userProfile/${username}`);
|
|
2716
|
-
}
|
|
2717
3062
|
doPost(url, body) {
|
|
2718
3063
|
return this.request.post(url, {
|
|
2719
3064
|
data: body,
|