@digital-ai/devops-page-object-release 0.0.10 → 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 +15 -0
- package/dist/main.js +1800 -1396
- package/dist/main.js.map +1 -1
- package/dist/module.js +661 -257
- 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,1564 +947,1914 @@ 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
|
+
}
|
|
1259
|
+
}
|
|
1260
|
+
|
|
1261
|
+
|
|
1262
|
+
|
|
1263
|
+
|
|
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();
|
|
1308
|
+
}
|
|
1309
|
+
}
|
|
1310
|
+
|
|
1311
|
+
|
|
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);
|
|
1318
|
+
}
|
|
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
|
+
}
|
|
1498
|
+
|
|
1499
|
+
|
|
1500
|
+
|
|
1501
|
+
|
|
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
|
+
}
|
|
1527
|
+
}
|
|
1528
|
+
|
|
1529
|
+
|
|
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
|
+
}
|
|
1546
|
+
}
|
|
1547
|
+
|
|
1548
|
+
|
|
1549
|
+
|
|
1550
|
+
|
|
1551
|
+
|
|
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"
|
|
1562
|
+
});
|
|
1563
|
+
this.cancelButton = page.getByRole("button", {
|
|
1564
|
+
name: "Cancel"
|
|
1565
|
+
});
|
|
1566
|
+
this.deleteButton = page.getByRole("button", {
|
|
1567
|
+
name: "Delete"
|
|
1568
|
+
});
|
|
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
|
|
1607
|
+
});
|
|
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"
|
|
1646
|
+
});
|
|
1647
|
+
this.usersAndPermissionMenu = this.page.getByRole("menuitem", {
|
|
1648
|
+
name: "users icon Users and permissions"
|
|
1649
|
+
});
|
|
1650
|
+
this.managePluginMenu = this.page.getByRole("menuitem", {
|
|
1651
|
+
name: "plugins icon Manage plugins"
|
|
1652
|
+
});
|
|
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"
|
|
1685
|
+
};
|
|
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"
|
|
1692
|
+
};
|
|
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++;
|
|
1715
|
+
});
|
|
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();
|
|
1947
|
+
}
|
|
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);
|
|
1993
|
+
}
|
|
1351
1994
|
}
|
|
1352
|
-
$b4b8b2a977b4cc10$exports = $b4b8b2a977b4cc10$var$baseKeysIn;
|
|
1353
1995
|
|
|
1354
1996
|
|
|
1355
1997
|
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1998
|
+
|
|
1999
|
+
class $258749e0671c845a$export$f14c0e3f98d164c0 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
2000
|
+
/**
|
|
2001
|
+
* Login with username and password
|
|
2002
|
+
* @param userName
|
|
2003
|
+
* @param password
|
|
2004
|
+
*/ async login(userName, password) {
|
|
2005
|
+
await this.page.goto("./#/login");
|
|
2006
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page).toHaveTitle("Digital.ai Release");
|
|
2007
|
+
await this.page.getByPlaceholder("User").fill(userName, {
|
|
2008
|
+
timeout: 1000
|
|
2009
|
+
});
|
|
2010
|
+
await this.page.getByPlaceholder("Password").fill(password, {
|
|
2011
|
+
timeout: 10000
|
|
2012
|
+
});
|
|
2013
|
+
await this.page.getByRole("button", {
|
|
2014
|
+
name: "Log in"
|
|
2015
|
+
}).click({
|
|
2016
|
+
timeout: 10000
|
|
2017
|
+
});
|
|
2018
|
+
await this.page.waitForTimeout(1000);
|
|
2019
|
+
}
|
|
2020
|
+
/**
|
|
2021
|
+
* Logout as authenticated user
|
|
2022
|
+
*/ async logout() {
|
|
2023
|
+
await this.page.locator("button.dot-avatar").click();
|
|
2024
|
+
await this.page.getByText("Log out", {
|
|
2025
|
+
exact: true
|
|
2026
|
+
}).click();
|
|
2027
|
+
}
|
|
2028
|
+
/**
|
|
2029
|
+
* Expect login to be restricted for a user
|
|
2030
|
+
*/ async expectLoginDisallowed() {
|
|
2031
|
+
const val = await this.page.textContent('.error-content span[ng-show="loginInfo.failedStatus == 403"]');
|
|
2032
|
+
(0, $kKeXs$playwrighttest.expect)(val).toContain("You do not have 'login' permission.");
|
|
2033
|
+
}
|
|
2034
|
+
/**
|
|
2035
|
+
* Expect the respective user is logged In
|
|
2036
|
+
* @param username
|
|
2037
|
+
*/ async expectToBeLogged(username) {
|
|
2038
|
+
const val = await this.page.locator("top-toolbar .avatar-wrapper span.dot-tooltip").getAttribute("aria-label");
|
|
2039
|
+
(0, $kKeXs$playwrighttest.expect)(val).toContain(username);
|
|
2040
|
+
}
|
|
1381
2041
|
}
|
|
1382
|
-
$0e6e2e34ec44a72a$exports = $0e6e2e34ec44a72a$var$keysIn;
|
|
1383
2042
|
|
|
1384
2043
|
|
|
1385
|
-
|
|
1386
|
-
/** Used to check objects for own properties. */ var $732eba8dca8b5420$var$hasOwnProperty = $732eba8dca8b5420$var$objectProto.hasOwnProperty;
|
|
2044
|
+
var $3e8b520187e41aa6$exports = {};
|
|
1387
2045
|
/**
|
|
1388
|
-
*
|
|
1389
|
-
* objects to the destination object for all destination properties that
|
|
1390
|
-
* resolve to `undefined`. Source objects are applied from left to right.
|
|
1391
|
-
* Once a property is set, additional values of the same property are ignored.
|
|
1392
|
-
*
|
|
1393
|
-
* **Note:** This method mutates `object`.
|
|
2046
|
+
* Checks if `value` is `undefined`.
|
|
1394
2047
|
*
|
|
1395
2048
|
* @static
|
|
1396
2049
|
* @since 0.1.0
|
|
1397
2050
|
* @memberOf _
|
|
1398
|
-
* @category
|
|
1399
|
-
* @param {
|
|
1400
|
-
* @
|
|
1401
|
-
* @returns {Object} Returns `object`.
|
|
1402
|
-
* @see _.defaultsDeep
|
|
2051
|
+
* @category Lang
|
|
2052
|
+
* @param {*} value The value to check.
|
|
2053
|
+
* @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.
|
|
1403
2054
|
* @example
|
|
1404
2055
|
*
|
|
1405
|
-
* _.
|
|
1406
|
-
* // =>
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
var source = sources[index];
|
|
1415
|
-
var props = $0e6e2e34ec44a72a$exports(source);
|
|
1416
|
-
var propsIndex = -1;
|
|
1417
|
-
var propsLength = props.length;
|
|
1418
|
-
while(++propsIndex < propsLength){
|
|
1419
|
-
var key = props[propsIndex];
|
|
1420
|
-
var value = object[key];
|
|
1421
|
-
if (value === undefined || $ceebddaa7160689c$exports(value, $732eba8dca8b5420$var$objectProto[key]) && !$732eba8dca8b5420$var$hasOwnProperty.call(object, key)) object[key] = source[key];
|
|
1422
|
-
}
|
|
1423
|
-
}
|
|
1424
|
-
return object;
|
|
1425
|
-
});
|
|
1426
|
-
$732eba8dca8b5420$exports = $732eba8dca8b5420$var$defaults;
|
|
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;
|
|
1427
2065
|
|
|
1428
2066
|
|
|
1429
|
-
var $
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
|
|
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 = {};
|
|
1433
2080
|
/**
|
|
1434
|
-
* A
|
|
1435
|
-
*
|
|
2081
|
+
* A faster alternative to `Function#apply`, this function invokes `func`
|
|
2082
|
+
* with the `this` binding of `thisArg` and the arguments of `args`.
|
|
1436
2083
|
*
|
|
1437
2084
|
* @private
|
|
1438
|
-
* @param {
|
|
1439
|
-
* @param {
|
|
1440
|
-
* @
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
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);
|
|
1445
2101
|
}
|
|
1446
|
-
$
|
|
2102
|
+
$f984f14b3d4f0683$exports = $f984f14b3d4f0683$var$apply;
|
|
1447
2103
|
|
|
1448
2104
|
|
|
2105
|
+
/* Built-in method references for those with the same name as other `lodash` methods. */ var $1b1aa0f3fc7256c9$var$nativeMax = Math.max;
|
|
1449
2106
|
/**
|
|
1450
|
-
*
|
|
1451
|
-
* of key-value pairs for `object` corresponding to the property names of `props`.
|
|
2107
|
+
* A specialized version of `baseRest` which transforms the rest array.
|
|
1452
2108
|
*
|
|
1453
2109
|
* @private
|
|
1454
|
-
* @param {
|
|
1455
|
-
* @param {
|
|
1456
|
-
* @
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
];
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
|
|
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 = {};
|
|
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;
|
|
1478
2127
|
|
|
1479
2128
|
|
|
1480
|
-
var $
|
|
1481
|
-
|
|
1482
|
-
$
|
|
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;
|
|
1483
2156
|
|
|
1484
2157
|
|
|
1485
|
-
var $
|
|
2158
|
+
var $97bac00047c338ed$exports = {};
|
|
2159
|
+
var $b7745e89d7f5915f$exports = {};
|
|
2160
|
+
var $927414f7f9d8afbb$exports = {};
|
|
1486
2161
|
|
|
2162
|
+
var $7T6pQ = parcelRequire("7T6pQ");
|
|
2163
|
+
var $1fb1799a04ee25ea$exports = {};
|
|
2164
|
+
var $5ee1230bf1668e2a$exports = {};
|
|
1487
2165
|
|
|
1488
2166
|
var $5iYlB = parcelRequire("5iYlB");
|
|
1489
|
-
|
|
1490
|
-
$
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
var $869474d4b330cc35$exports = {};
|
|
1494
|
-
|
|
2167
|
+
/** Used to detect overreaching core-js shims. */ var $5ee1230bf1668e2a$var$coreJsData = $5iYlB["__core-js_shared__"];
|
|
2168
|
+
$5ee1230bf1668e2a$exports = $5ee1230bf1668e2a$var$coreJsData;
|
|
1495
2169
|
|
|
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
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;
|
|
1500
2185
|
|
|
1501
|
-
var $c4df061ad36170d9$exports = {};
|
|
1502
2186
|
|
|
1503
2187
|
|
|
1504
|
-
var $
|
|
1505
|
-
|
|
1506
|
-
|
|
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;
|
|
1507
2210
|
|
|
1508
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;
|
|
1509
2234
|
|
|
1510
|
-
var $hi3Ib = parcelRequire("hi3Ib");
|
|
1511
2235
|
|
|
1512
|
-
|
|
1513
|
-
var $2184c74fd3b50571$var$dataViewTag = "[object DataView]";
|
|
1514
|
-
/** 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);
|
|
2236
|
+
var $18378a7c2aff899b$exports = {};
|
|
1515
2237
|
/**
|
|
1516
|
-
* Gets the `
|
|
2238
|
+
* Gets the value at `key` of `object`.
|
|
1517
2239
|
*
|
|
1518
2240
|
* @private
|
|
1519
|
-
* @param {
|
|
1520
|
-
* @
|
|
1521
|
-
|
|
1522
|
-
|
|
1523
|
-
|
|
1524
|
-
|
|
1525
|
-
|
|
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;
|
|
1536
|
-
}
|
|
1537
|
-
return result;
|
|
1538
|
-
};
|
|
1539
|
-
$2184c74fd3b50571$exports = $2184c74fd3b50571$var$getTag;
|
|
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;
|
|
1540
2248
|
|
|
1541
2249
|
|
|
1542
|
-
var $5cfa9b34443304aa$exports = {};
|
|
1543
2250
|
/**
|
|
1544
|
-
*
|
|
2251
|
+
* Gets the native function at `key` of `object`.
|
|
1545
2252
|
*
|
|
1546
2253
|
* @private
|
|
1547
|
-
* @param {Object}
|
|
1548
|
-
* @
|
|
1549
|
-
|
|
1550
|
-
|
|
1551
|
-
|
|
1552
|
-
|
|
1553
|
-
key,
|
|
1554
|
-
value
|
|
1555
|
-
];
|
|
1556
|
-
});
|
|
1557
|
-
return result;
|
|
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;
|
|
1558
2260
|
}
|
|
1559
|
-
$
|
|
2261
|
+
$b7745e89d7f5915f$exports = $b7745e89d7f5915f$var$getNative;
|
|
1560
2262
|
|
|
1561
2263
|
|
|
1562
|
-
var $
|
|
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;
|
|
2272
|
+
|
|
2273
|
+
|
|
2274
|
+
|
|
2275
|
+
var $9x2D6 = parcelRequire("9x2D6");
|
|
1563
2276
|
/**
|
|
1564
|
-
*
|
|
2277
|
+
* The base implementation of `setToString` without support for hot loop shorting.
|
|
1565
2278
|
*
|
|
1566
2279
|
* @private
|
|
1567
|
-
* @param {
|
|
1568
|
-
* @
|
|
1569
|
-
|
|
1570
|
-
|
|
1571
|
-
|
|
1572
|
-
|
|
1573
|
-
|
|
1574
|
-
|
|
1575
|
-
|
|
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
|
|
1576
2289
|
});
|
|
1577
|
-
|
|
1578
|
-
|
|
1579
|
-
$e0efec8f59f2b46b$exports = $e0efec8f59f2b46b$var$setToPairs;
|
|
2290
|
+
};
|
|
2291
|
+
$ef9aec5e693cb6ed$exports = $ef9aec5e693cb6ed$var$baseSetToString;
|
|
1580
2292
|
|
|
1581
2293
|
|
|
1582
|
-
|
|
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;
|
|
1583
2297
|
/**
|
|
1584
|
-
* Creates a
|
|
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.
|
|
1585
2301
|
*
|
|
1586
2302
|
* @private
|
|
1587
|
-
* @param {Function}
|
|
1588
|
-
* @returns {Function} Returns the new
|
|
1589
|
-
*/ function $
|
|
1590
|
-
|
|
1591
|
-
|
|
1592
|
-
|
|
1593
|
-
|
|
1594
|
-
|
|
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);
|
|
1595
2314
|
};
|
|
1596
2315
|
}
|
|
1597
|
-
$
|
|
2316
|
+
$f6a97849336ceea8$exports = $f6a97849336ceea8$var$shortOut;
|
|
2317
|
+
|
|
2318
|
+
|
|
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;
|
|
1598
2328
|
|
|
1599
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;
|
|
1600
2341
|
|
|
1601
|
-
|
|
2342
|
+
|
|
2343
|
+
var $ceebddaa7160689c$exports = {};
|
|
1602
2344
|
/**
|
|
1603
|
-
*
|
|
1604
|
-
*
|
|
1605
|
-
*
|
|
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.
|
|
1606
2348
|
*
|
|
1607
2349
|
* @static
|
|
1608
2350
|
* @memberOf _
|
|
1609
2351
|
* @since 4.0.0
|
|
1610
|
-
* @
|
|
1611
|
-
* @
|
|
1612
|
-
* @param {
|
|
1613
|
-
* @returns {
|
|
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`.
|
|
1614
2356
|
* @example
|
|
1615
2357
|
*
|
|
1616
|
-
*
|
|
1617
|
-
*
|
|
1618
|
-
* this.b = 2;
|
|
1619
|
-
* }
|
|
2358
|
+
* var object = { 'a': 1 };
|
|
2359
|
+
* var other = { 'a': 1 };
|
|
1620
2360
|
*
|
|
1621
|
-
*
|
|
2361
|
+
* _.eq(object, object);
|
|
2362
|
+
* // => true
|
|
1622
2363
|
*
|
|
1623
|
-
* _.
|
|
1624
|
-
* // =>
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
const DEPENDENCY_TYPE = "xlrelease.Dependency";
|
|
1637
|
-
const LINK_TYPE = "xlrelease.Link";
|
|
1638
|
-
const ATTACHMENT_TYPE = "xlrelease.Attachment";
|
|
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}`;
|
|
1655
|
-
});
|
|
1656
|
-
(0, (/*@__PURE__*/$parcel$interopDefault($952a2b8d8056b381$exports)))(task.links, function(link, idx) {
|
|
1657
|
-
link.type = LINK_TYPE;
|
|
1658
|
-
link.id = `${task.id}/Link${idx}`;
|
|
1659
|
-
});
|
|
1660
|
-
(0, (/*@__PURE__*/$parcel$interopDefault($952a2b8d8056b381$exports)))(task.comments, function(comment, idx) {
|
|
1661
|
-
comment.type = COMMENT_TYPE;
|
|
1662
|
-
comment.id = `${task.id}/Comment${idx}`;
|
|
1663
|
-
});
|
|
1664
|
-
(0, (/*@__PURE__*/$parcel$interopDefault($952a2b8d8056b381$exports)))(task.tasks, function(subTask, idx) {
|
|
1665
|
-
processTasks(subTask, task, idx);
|
|
1666
|
-
});
|
|
1667
|
-
(0, (/*@__PURE__*/$parcel$interopDefault($952a2b8d8056b381$exports)))(task.templateVariables, function(variable, idx) {
|
|
1668
|
-
(0, (/*@__PURE__*/$parcel$interopDefault($732eba8dca8b5420$exports)))(variable, getVariableEntity(variable.value, variable.key, task.id, idx));
|
|
1669
|
-
});
|
|
1670
|
-
(0, (/*@__PURE__*/$parcel$interopDefault($952a2b8d8056b381$exports)))(task.attachments, function(attachment, idx) {
|
|
1671
|
-
attachment.type = ATTACHMENT_TYPE;
|
|
1672
|
-
attachment.id = `${task.id}/Attachment${idx}`;
|
|
1673
|
-
});
|
|
1674
|
-
if (task.pythonScript) {
|
|
1675
|
-
const pythonScript = task.pythonScript;
|
|
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);
|
|
1685
|
-
});
|
|
1686
|
-
};
|
|
1687
|
-
const getVariableEntity = (value, key, containerId, index, password)=>{
|
|
1688
|
-
const keyNoSyntax = key.replace("${", "").replace("}", "");
|
|
1689
|
-
return {
|
|
1690
|
-
id: `${containerId}/Variable${index}`,
|
|
1691
|
-
key: keyNoSyntax,
|
|
1692
|
-
requiresValue: true,
|
|
1693
|
-
showOnReleaseStart: true,
|
|
1694
|
-
type: password ? "xlrelease.PasswordStringVariable" : "xlrelease.StringVariable",
|
|
1695
|
-
value: value
|
|
1696
|
-
};
|
|
1697
|
-
};
|
|
1698
|
-
const getValueProviderConfigurationEntity = function(containerId) {
|
|
1699
|
-
return {
|
|
1700
|
-
id: `${containerId}/valueProvider`,
|
|
1701
|
-
variable: containerId
|
|
1702
|
-
};
|
|
1703
|
-
};
|
|
1704
|
-
const getDashboardExtension = (dashboard, releaseId)=>{
|
|
1705
|
-
const dashboardExtension = {
|
|
1706
|
-
id: `${releaseId}/summary`,
|
|
1707
|
-
type: DASHBOARD_TYPE,
|
|
1708
|
-
tiles: []
|
|
1709
|
-
};
|
|
1710
|
-
if (dashboard.tiles) (0, (/*@__PURE__*/$parcel$interopDefault($ae8Uz)))(dashboard.tiles, function(tile, index) {
|
|
1711
|
-
dashboardExtension.tiles.push(getTileEntity(tile, `${releaseId}/summary`, index));
|
|
1712
|
-
});
|
|
1713
|
-
return dashboardExtension;
|
|
1714
|
-
};
|
|
1715
|
-
function getTileEntity(tile, containerId, index) {
|
|
1716
|
-
tile.id = tile.id || `${containerId}/Tile${index}`;
|
|
1717
|
-
return tile;
|
|
1718
|
-
}
|
|
1719
|
-
return function(release) {
|
|
1720
|
-
release.type = RELEASE_TYPE;
|
|
1721
|
-
if (release.id.indexOf("Applications/") === -1) release.id = `Applications/${release.id}`;
|
|
1722
|
-
if (release.startDate) release.queryableStartDate = release.startDate;
|
|
1723
|
-
else if (release.scheduledStartDate) release.queryableStartDate = release.scheduledStartDate;
|
|
1724
|
-
if (release.endDate) release.queryableEndDate = release.endDate;
|
|
1725
|
-
else if (release.dueDate) release.queryableEndDate = release.dueDate;
|
|
1726
|
-
if ((0, (/*@__PURE__*/$parcel$interopDefault($3e8b520187e41aa6$exports)))(release.owner)) release.owner = "Itchy"; // default release manager
|
|
1727
|
-
(0, (/*@__PURE__*/$parcel$interopDefault($ae8Uz)))(release.phases, function(phase, index) {
|
|
1728
|
-
processPhases(phase, release, index);
|
|
1729
|
-
});
|
|
1730
|
-
(0, (/*@__PURE__*/$parcel$interopDefault($ae8Uz)))(release.teams, function(team, index) {
|
|
1731
|
-
team.type = TEAM_TYPE;
|
|
1732
|
-
team.id = `${release.id}/Team${index}`;
|
|
1733
|
-
});
|
|
1734
|
-
(0, (/*@__PURE__*/$parcel$interopDefault($ae8Uz)))(release.attachments, function(attachment, index) {
|
|
1735
|
-
attachment.type = ATTACHMENT_TYPE;
|
|
1736
|
-
attachment.id = `${release.id}/Attachment${index}`;
|
|
1737
|
-
});
|
|
1738
|
-
(0, (/*@__PURE__*/$parcel$interopDefault($ae8Uz)))(release.variables, function(variable, index) {
|
|
1739
|
-
(0, (/*@__PURE__*/$parcel$interopDefault($732eba8dca8b5420$exports)))(variable, getVariableEntity(variable.value, variable.key, release.id, index));
|
|
1740
|
-
if (variable.valueProvider) (0, (/*@__PURE__*/$parcel$interopDefault($732eba8dca8b5420$exports)))(variable.valueProvider, getValueProviderConfigurationEntity(variable.id));
|
|
1741
|
-
});
|
|
1742
|
-
(0, (/*@__PURE__*/$parcel$interopDefault($ae8Uz)))((0, (/*@__PURE__*/$parcel$interopDefault($f51969c4a7467fa0$exports)))(release.variableValues), function(keyValue, index) {
|
|
1743
|
-
if (!release.variables) release.variables = [];
|
|
1744
|
-
release.variables.push(getVariableEntity(keyValue[1], keyValue[0], release.id, 1000 + index));
|
|
1745
|
-
release.variableValues = undefined;
|
|
1746
|
-
});
|
|
1747
|
-
(0, (/*@__PURE__*/$parcel$interopDefault($ae8Uz)))((0, (/*@__PURE__*/$parcel$interopDefault($f51969c4a7467fa0$exports)))(release.passwordVariableValues), function(keyValue, index) {
|
|
1748
|
-
if (!release.variables) release.variables = [];
|
|
1749
|
-
release.variables.push(getVariableEntity(keyValue[1], keyValue[0], release.id, 1500 + index, true));
|
|
1750
|
-
release.passwordVariableValues = undefined;
|
|
1751
|
-
});
|
|
1752
|
-
if (release.summary) {
|
|
1753
|
-
release.extensions = [
|
|
1754
|
-
getDashboardExtension(release.summary, release.id)
|
|
1755
|
-
];
|
|
1756
|
-
release.summary = undefined;
|
|
1757
|
-
}
|
|
1758
|
-
};
|
|
1759
|
-
}();
|
|
1760
|
-
|
|
1761
|
-
|
|
1762
|
-
|
|
1763
|
-
class $f8721861c660dd88$export$2b65d1d97338f32b {
|
|
1764
|
-
constructor(page){
|
|
1765
|
-
this.page = page;
|
|
1766
|
-
}
|
|
1767
|
-
}
|
|
1768
|
-
|
|
1769
|
-
|
|
1770
|
-
class $258749e0671c845a$export$f14c0e3f98d164c0 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
1771
|
-
/**
|
|
1772
|
-
* Login with username and password
|
|
1773
|
-
* @param userName
|
|
1774
|
-
* @param password
|
|
1775
|
-
*/ async login(userName, password) {
|
|
1776
|
-
await this.page.goto("./#/login");
|
|
1777
|
-
await this.page.waitForTimeout(1000);
|
|
1778
|
-
await (0, $kKeXs$playwrighttest.expect)(this.page).toHaveTitle("Digital.ai Release");
|
|
1779
|
-
await this.page.getByPlaceholder("User").fill(userName);
|
|
1780
|
-
await this.page.getByPlaceholder("Password").fill(password);
|
|
1781
|
-
await this.page.getByRole("button", {
|
|
1782
|
-
name: "Log in"
|
|
1783
|
-
}).click();
|
|
1784
|
-
}
|
|
1785
|
-
/**
|
|
1786
|
-
* Logout as authenticated user
|
|
1787
|
-
*/ async logout() {
|
|
1788
|
-
await this.page.locator("button.dot-avatar").click();
|
|
1789
|
-
await this.page.getByText("Log out").click();
|
|
1790
|
-
}
|
|
1791
|
-
/**
|
|
1792
|
-
* Expect login to be restricted for a user
|
|
1793
|
-
*/ async expectLoginDisallowed() {
|
|
1794
|
-
const val = await this.page.textContent('.error-content span[ng-show="loginInfo.failedStatus == 403"]');
|
|
1795
|
-
(0, $kKeXs$playwrighttest.expect)(val).toContain("You do not have 'login' permission.");
|
|
1796
|
-
}
|
|
1797
|
-
/**
|
|
1798
|
-
* Expect the respective user is logged In
|
|
1799
|
-
* @param username
|
|
1800
|
-
*/ async expectToBeLogged(username) {
|
|
1801
|
-
const val = await this.page.locator("top-toolbar .avatar-wrapper span.dot-tooltip").getAttribute("aria-label");
|
|
1802
|
-
(0, $kKeXs$playwrighttest.expect)(val).toContain(username);
|
|
1803
|
-
}
|
|
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;
|
|
1804
2377
|
}
|
|
2378
|
+
$ceebddaa7160689c$exports = $ceebddaa7160689c$var$eq;
|
|
1805
2379
|
|
|
1806
2380
|
|
|
2381
|
+
var $e084f044678f4365$exports = {};
|
|
1807
2382
|
|
|
1808
2383
|
|
|
2384
|
+
var $fegcS = parcelRequire("fegcS");
|
|
1809
2385
|
|
|
2386
|
+
var $gf9YK = parcelRequire("gf9YK");
|
|
1810
2387
|
|
|
1811
|
-
|
|
1812
|
-
|
|
1813
|
-
|
|
1814
|
-
|
|
1815
|
-
|
|
1816
|
-
|
|
1817
|
-
|
|
1818
|
-
|
|
1819
|
-
|
|
1820
|
-
|
|
1821
|
-
|
|
1822
|
-
|
|
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;
|
|
1823
2403
|
}
|
|
2404
|
+
$e084f044678f4365$exports = $e084f044678f4365$var$isIterateeCall;
|
|
1824
2405
|
|
|
1825
2406
|
|
|
2407
|
+
var $0e6e2e34ec44a72a$exports = {};
|
|
1826
2408
|
|
|
1827
|
-
|
|
1828
|
-
|
|
1829
|
-
|
|
1830
|
-
|
|
1831
|
-
|
|
1832
|
-
|
|
1833
|
-
|
|
1834
|
-
|
|
1835
|
-
|
|
1836
|
-
|
|
1837
|
-
|
|
1838
|
-
|
|
1839
|
-
|
|
1840
|
-
|
|
1841
|
-
|
|
1842
|
-
|
|
2409
|
+
var $gYWmw = parcelRequire("gYWmw");
|
|
2410
|
+
var $b4b8b2a977b4cc10$exports = {};
|
|
2411
|
+
|
|
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;
|
|
1843
2428
|
}
|
|
2429
|
+
$59b6e790ee7519e4$exports = $59b6e790ee7519e4$var$nativeKeysIn;
|
|
1844
2430
|
|
|
1845
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;
|
|
1846
2447
|
|
|
1847
2448
|
|
|
1848
2449
|
|
|
1849
|
-
|
|
1850
|
-
|
|
1851
|
-
|
|
1852
|
-
|
|
1853
|
-
|
|
1854
|
-
|
|
1855
|
-
|
|
1856
|
-
|
|
1857
|
-
|
|
1858
|
-
|
|
1859
|
-
|
|
1860
|
-
|
|
1861
|
-
|
|
1862
|
-
|
|
1863
|
-
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
|
|
1868
|
-
|
|
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);
|
|
1869
2475
|
}
|
|
2476
|
+
$0e6e2e34ec44a72a$exports = $0e6e2e34ec44a72a$var$keysIn;
|
|
1870
2477
|
|
|
1871
2478
|
|
|
1872
|
-
|
|
1873
|
-
|
|
1874
|
-
|
|
1875
|
-
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
|
|
1880
|
-
|
|
1881
|
-
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
|
|
1887
|
-
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
|
|
1896
|
-
|
|
1897
|
-
|
|
1898
|
-
|
|
1899
|
-
|
|
1900
|
-
|
|
1901
|
-
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
-
|
|
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];
|
|
2516
|
+
}
|
|
1907
2517
|
}
|
|
1908
|
-
|
|
2518
|
+
return object;
|
|
2519
|
+
});
|
|
2520
|
+
$732eba8dca8b5420$exports = $732eba8dca8b5420$var$defaults;
|
|
1909
2521
|
|
|
1910
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;
|
|
2539
|
+
}
|
|
2540
|
+
$c258ac491a64b22b$exports = $c258ac491a64b22b$var$arrayMap;
|
|
1911
2541
|
|
|
1912
2542
|
|
|
1913
|
-
|
|
1914
|
-
|
|
1915
|
-
|
|
1916
|
-
|
|
1917
|
-
|
|
1918
|
-
|
|
1919
|
-
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
|
|
1924
|
-
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
-
|
|
1928
|
-
await this.railLocator.locator(`input[id="${propertyName}"]`).click();
|
|
1929
|
-
return this.railLocator.locator(`.dot-popper ul li`).allInnerTexts();
|
|
1930
|
-
}
|
|
1931
|
-
async setValueFromCi(propertyName, value) {
|
|
1932
|
-
await this.railLocator.locator(`input[id="${propertyName}"]`).clear();
|
|
1933
|
-
await this.railLocator.locator(`input[id="${propertyName}"]`).click();
|
|
1934
|
-
await this.railLocator.locator(`.dot-popper ul li`, {
|
|
1935
|
-
hasText: value
|
|
1936
|
-
}).click();
|
|
1937
|
-
}
|
|
1938
|
-
async getValueFromString(propertyName) {
|
|
1939
|
-
await this.railLocator.locator(`.input-scalar-fake-input[id="${propertyName}"]`).focus();
|
|
1940
|
-
return this.railLocator.locator(`input[id="${propertyName}"]`).inputValue();
|
|
1941
|
-
}
|
|
1942
|
-
async setValueFromString(propertyName, value) {
|
|
1943
|
-
await this.railLocator.locator(`.input-scalar-fake-input[id="${propertyName}"]`).focus();
|
|
1944
|
-
await this.railLocator.locator(`input[id="${propertyName}"]`).fill(value);
|
|
1945
|
-
}
|
|
1946
|
-
async setValueFromLargeString(propertyName, value) {
|
|
1947
|
-
await this.railLocator.locator(`.input-scalar-fake-input[id="${propertyName}"]`).focus();
|
|
1948
|
-
await this.railLocator.locator(`textarea[id="${propertyName}"]`).fill(value);
|
|
1949
|
-
}
|
|
1950
|
-
async setValueFromPassword(propertyName, value) {
|
|
1951
|
-
await this.railLocator.locator(`input[id="${propertyName}"]`).fill(value);
|
|
1952
|
-
}
|
|
1953
|
-
async setAndCreateVariable(propertyName, variableName) {
|
|
1954
|
-
await this.railLocator.locator(`input[id="${propertyName}"]`).clear();
|
|
1955
|
-
await this.railLocator.locator(`input[id="${propertyName}"]`).click();
|
|
1956
|
-
await this.railLocator.locator(`input[id="${propertyName}"]`).fill(variableName);
|
|
1957
|
-
await this.railLocator.locator(`.dot-popper button`, {
|
|
1958
|
-
hasText: variableName
|
|
1959
|
-
}).click();
|
|
1960
|
-
}
|
|
1961
|
-
async setVariable(propertyName, variableName) {
|
|
1962
|
-
return this.setValueFromCi(propertyName, variableName);
|
|
1963
|
-
}
|
|
1964
|
-
async expectValueFromString(propertyName, propertyValue) {
|
|
1965
|
-
return await (0, $kKeXs$playwrighttest.expect)(this.railLocator.locator(`.input-scalar-fake-input[id="${propertyName}"]`)).toHaveText(propertyValue);
|
|
1966
|
-
}
|
|
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
|
+
});
|
|
1967
2558
|
}
|
|
2559
|
+
$34482bf0fdb87aa6$exports = $34482bf0fdb87aa6$var$baseToPairs;
|
|
1968
2560
|
|
|
1969
2561
|
|
|
2562
|
+
var $2184c74fd3b50571$exports = {};
|
|
2563
|
+
var $9707ed10f1d74f7d$exports = {};
|
|
1970
2564
|
|
|
1971
2565
|
|
|
1972
|
-
|
|
1973
|
-
|
|
1974
|
-
|
|
1975
|
-
super(page);
|
|
1976
|
-
this.railLocator = this.page.locator("task-drawer .dot-drawer .task-conditions");
|
|
1977
|
-
this.preconditionToggle = page.getByLabel("Enable precondition");
|
|
1978
|
-
this.textEditor = page.getByRole("textbox");
|
|
1979
|
-
this.saveButton = page.getByTestId("save-btn");
|
|
1980
|
-
}
|
|
1981
|
-
async enablePrecondition() {
|
|
1982
|
-
(0, $kKeXs$playwrighttest.expect)(await this.preconditionToggle.isChecked()).toBe(false);
|
|
1983
|
-
await this.preconditionToggle.check();
|
|
1984
|
-
}
|
|
1985
|
-
async disablePrecondition() {
|
|
1986
|
-
(0, $kKeXs$playwrighttest.expect)(await this.preconditionToggle.isChecked()).toBe(true);
|
|
1987
|
-
await this.preconditionToggle.uncheck();
|
|
1988
|
-
}
|
|
1989
|
-
async setPrecondition(script) {
|
|
1990
|
-
await this.enablePrecondition();
|
|
1991
|
-
await this.textEditor.fill(script);
|
|
1992
|
-
await this.saveButton.dblclick();
|
|
1993
|
-
await this.page.waitForTimeout(1000);
|
|
1994
|
-
}
|
|
1995
|
-
}
|
|
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;
|
|
1996
2569
|
|
|
1997
2570
|
|
|
1998
|
-
|
|
1999
|
-
constructor(page){
|
|
2000
|
-
super(page);
|
|
2001
|
-
this.taskDrawerLocator = this.page.locator("task-drawer .dot-drawer");
|
|
2002
|
-
this.retryButton = this.page.getByRole("button", {
|
|
2003
|
-
name: "Retry"
|
|
2004
|
-
});
|
|
2005
|
-
this.cancelButton = this.page.getByTestId("task-action-cancel");
|
|
2006
|
-
this.commentBox = this.page.getByTestId("task-action-comment");
|
|
2007
|
-
this.confirm = this.page.getByTestId("task-action-confirm");
|
|
2008
|
-
this.config = new (0, $8be2ce0eccbe6d27$export$64c93bc7fb9ca44e)(page);
|
|
2009
|
-
this.condition = new (0, $9c0b0c2caed50730$export$d4865631ba74f3e2)(page);
|
|
2010
|
-
this.skipMenu = this.page.getByRole("menuitem", {
|
|
2011
|
-
name: "Skip"
|
|
2012
|
-
});
|
|
2013
|
-
}
|
|
2014
|
-
async openOverviewRail() {
|
|
2015
|
-
await this.openRail("Overview");
|
|
2016
|
-
}
|
|
2017
|
-
async openActivityRail() {
|
|
2018
|
-
await this.openRail("Activity");
|
|
2019
|
-
}
|
|
2020
|
-
async openSchedulingRail() {
|
|
2021
|
-
await this.openRail("Scheduling");
|
|
2022
|
-
}
|
|
2023
|
-
async openConditionRail() {
|
|
2024
|
-
await this.openRail("Conditions");
|
|
2025
|
-
}
|
|
2026
|
-
async openAttributesRail() {
|
|
2027
|
-
await this.openRail("Attributes");
|
|
2028
|
-
}
|
|
2029
|
-
async openAttachRail() {
|
|
2030
|
-
await this.openRail("Attach");
|
|
2031
|
-
}
|
|
2032
|
-
async openTagsRail() {
|
|
2033
|
-
await this.openRail("Tags");
|
|
2034
|
-
}
|
|
2035
|
-
async openRail(rail) {
|
|
2036
|
-
await this.taskDrawerLocator.locator(".task-navigation-rail").getByText(rail).click();
|
|
2037
|
-
}
|
|
2038
|
-
async close() {
|
|
2039
|
-
await this.taskDrawerLocator.locator(".task-drawer-header").getByTestId("close-btn").click();
|
|
2040
|
-
}
|
|
2041
|
-
async retryTask(comment) {
|
|
2042
|
-
await this.retryButton.click();
|
|
2043
|
-
await this.commentBox.fill(comment);
|
|
2044
|
-
await this.confirm.click();
|
|
2045
|
-
}
|
|
2046
|
-
async skipTask(comment) {
|
|
2047
|
-
await this.page.getByRole("button", {
|
|
2048
|
-
name: "arrow-down icon",
|
|
2049
|
-
exact: true
|
|
2050
|
-
}).click();
|
|
2051
|
-
await this.skipMenu.click();
|
|
2052
|
-
await this.commentBox.fill(comment);
|
|
2053
|
-
await this.confirm.click();
|
|
2054
|
-
}
|
|
2055
|
-
}
|
|
2571
|
+
var $8c4ecd35968046d6$exports = {};
|
|
2056
2572
|
|
|
2057
2573
|
|
|
2058
|
-
|
|
2059
|
-
|
|
2060
|
-
|
|
2061
|
-
this.taskDrawer = new (0, $6a21661eb4695574$export$e946776eae644790)(page);
|
|
2062
|
-
}
|
|
2063
|
-
async openTriggers() {
|
|
2064
|
-
await this.openSubPage("Triggers");
|
|
2065
|
-
return new (0, $133601cfe0486710$export$fb932093f944abe4)(this.page);
|
|
2066
|
-
}
|
|
2067
|
-
async abort(comment = "Abort for testing") {
|
|
2068
|
-
await this.page.locator("action-toolbar button", {
|
|
2069
|
-
hasText: "Abort"
|
|
2070
|
-
}).click();
|
|
2071
|
-
await this.page.locator(".modal textarea").fill(comment);
|
|
2072
|
-
await this.page.locator(".modal .continue").click();
|
|
2073
|
-
}
|
|
2074
|
-
getPhase(phaseName) {
|
|
2075
|
-
return new $9b9a8c3da392d020$var$Phase(this.page, phaseName);
|
|
2076
|
-
}
|
|
2077
|
-
async start() {
|
|
2078
|
-
await this.page.getByTestId("start-btn").click();
|
|
2079
|
-
await this.page.getByRole("button", {
|
|
2080
|
-
name: "Start"
|
|
2081
|
-
}).click();
|
|
2082
|
-
}
|
|
2083
|
-
async waitForTaskCompleted(taskTitle) {
|
|
2084
|
-
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".task.completed").getByText(taskTitle, {
|
|
2085
|
-
exact: true
|
|
2086
|
-
})).toBeVisible();
|
|
2087
|
-
}
|
|
2088
|
-
async waitForTaskFailed(taskTitle) {
|
|
2089
|
-
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".task.failed").getByText(taskTitle, {
|
|
2090
|
-
exact: true
|
|
2091
|
-
})).toBeVisible();
|
|
2092
|
-
}
|
|
2093
|
-
async waitForTaskSkipped(taskTitle) {
|
|
2094
|
-
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".task.skipped").getByText(taskTitle, {
|
|
2095
|
-
exact: true
|
|
2096
|
-
})).toBeVisible();
|
|
2097
|
-
}
|
|
2098
|
-
async waitForTaskAborted(taskTitle) {
|
|
2099
|
-
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".task.aborted").getByText(taskTitle, {
|
|
2100
|
-
exact: true
|
|
2101
|
-
})).toBeVisible();
|
|
2102
|
-
}
|
|
2103
|
-
async waitForStatusLine(statusLine) {
|
|
2104
|
-
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".task .status-line").getByText(statusLine, {
|
|
2105
|
-
exact: true
|
|
2106
|
-
})).toBeVisible();
|
|
2107
|
-
}
|
|
2108
|
-
async waitForTaskStarted(taskTitle) {
|
|
2109
|
-
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".task.in_progress").getByTitle(taskTitle, {
|
|
2110
|
-
exact: true
|
|
2111
|
-
})).toBeVisible();
|
|
2112
|
-
}
|
|
2113
|
-
async openTaskDrawer(taskName) {
|
|
2114
|
-
await this.page.locator(".task-header").getByText(taskName).click();
|
|
2115
|
-
return this.taskDrawer;
|
|
2116
|
-
}
|
|
2117
|
-
async openVariables() {
|
|
2118
|
-
await this.openReleaseMenu("Variables");
|
|
2119
|
-
return new (0, $fd4eef3ad2b2e612$export$a87f0ae8695e74be)(this.page);
|
|
2120
|
-
}
|
|
2121
|
-
async openReleaseMenu(menuItem) {
|
|
2122
|
-
await this.page.locator(`navigation-sidebar ul li`).getByText(menuItem, {
|
|
2123
|
-
exact: true
|
|
2124
|
-
}).click();
|
|
2125
|
-
}
|
|
2126
|
-
async openSubPage(subpage) {
|
|
2127
|
-
await this.page.locator("ul.side-nav li", {
|
|
2128
|
-
hasText: subpage
|
|
2129
|
-
}).click();
|
|
2130
|
-
}
|
|
2131
|
-
async openTask(taskName) {
|
|
2132
|
-
await this.page.getByTitle(taskName, {
|
|
2133
|
-
exact: true
|
|
2134
|
-
}).click();
|
|
2135
|
-
}
|
|
2136
|
-
async collapseAllTaskView() {
|
|
2137
|
-
const icCollapseTreeview1 = this.page.locator("div.pull-left.expander.ng-scope i.xl-icon.arrow-down-icon");
|
|
2138
|
-
for (const element of (await icCollapseTreeview1.all())){
|
|
2139
|
-
const blnVal = await element.isVisible();
|
|
2140
|
-
if (blnVal) {
|
|
2141
|
-
await element.click();
|
|
2142
|
-
await this.collapseAllTaskView();
|
|
2143
|
-
}
|
|
2144
|
-
}
|
|
2145
|
-
}
|
|
2146
|
-
async expandAllTaskView() {
|
|
2147
|
-
const icExpandTreeview1 = this.page.locator("div.pull-left.expander.ng-scope i.xl-icon.arrow-right-icon");
|
|
2148
|
-
for (const element of (await icExpandTreeview1.all())){
|
|
2149
|
-
const blnVal = await element.isVisible();
|
|
2150
|
-
if (blnVal) {
|
|
2151
|
-
await element.click();
|
|
2152
|
-
await this.expandAllTaskView();
|
|
2153
|
-
}
|
|
2154
|
-
}
|
|
2155
|
-
}
|
|
2156
|
-
}
|
|
2157
|
-
class $9b9a8c3da392d020$var$Phase extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
2158
|
-
constructor(page, phaseName){
|
|
2159
|
-
super(page);
|
|
2160
|
-
this.phaseLocator = page.locator(".phase", {
|
|
2161
|
-
hasText: phaseName
|
|
2162
|
-
});
|
|
2163
|
-
}
|
|
2164
|
-
async addTask(taskName, taskGroup, taskType) {
|
|
2165
|
-
await this.phaseLocator.getByText("Add task").click();
|
|
2166
|
-
await this.phaseLocator.locator(".quick-title").fill(taskName);
|
|
2167
|
-
await this.phaseLocator.locator(".xlr-ctx-menu-toggle").click();
|
|
2168
|
-
await this.page.locator(`.xlr-ctx-menu-item`).getByTitle(taskGroup, {
|
|
2169
|
-
exact: true
|
|
2170
|
-
}).scrollIntoViewIfNeeded();
|
|
2171
|
-
await this.page.locator(`.xlr-ctx-menu-item`).getByTitle(taskGroup, {
|
|
2172
|
-
exact: true
|
|
2173
|
-
}).hover();
|
|
2174
|
-
await this.page.locator(`.xlr-ctx-menu.active`).getByTitle(taskType, {
|
|
2175
|
-
exact: true
|
|
2176
|
-
}).click();
|
|
2177
|
-
await this.phaseLocator.locator(".quick-controls-container a").getByText("Add", {
|
|
2178
|
-
exact: true
|
|
2179
|
-
}).click();
|
|
2180
|
-
}
|
|
2181
|
-
}
|
|
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;
|
|
2182
2577
|
|
|
2183
2578
|
|
|
2579
|
+
var $30f4d64ddd8effd1$exports = {};
|
|
2184
2580
|
|
|
2185
2581
|
|
|
2186
|
-
|
|
2187
|
-
|
|
2188
|
-
|
|
2189
|
-
await (0, $kKeXs$playwrighttest.expect)(this.page).toHaveTitle("Applications - Digital.ai Release");
|
|
2190
|
-
return this;
|
|
2191
|
-
}
|
|
2192
|
-
async addNewApplication(applicationName) {
|
|
2193
|
-
await this.page.locator(`//button[normalize-space()='New application']`).click();
|
|
2194
|
-
await this.page.locator(`input[placeholder='Add name...']`).type(applicationName);
|
|
2195
|
-
await this.page.locator(`//button[normalize-space()='Save']`).click();
|
|
2196
|
-
return this;
|
|
2197
|
-
}
|
|
2198
|
-
async verifyApplicationisCreated(applicationName) {
|
|
2199
|
-
await this.page.waitForSelector(`div[title='${applicationName}'] strong`);
|
|
2200
|
-
return this;
|
|
2201
|
-
}
|
|
2202
|
-
async createApplicationAndLinkEnvironment(environmentName, applicationName) {
|
|
2203
|
-
await this.page.locator(`//button[normalize-space()='New application']`).click();
|
|
2204
|
-
await this.page.locator(`input[placeholder='Add name...']`).type(applicationName);
|
|
2205
|
-
await this.page.locator("input[placeholder='Filter environment name...']").type(environmentName);
|
|
2206
|
-
await this.page.locator(`div[title='${environmentName}']`).click();
|
|
2207
|
-
await this.page.locator(`//button[normalize-space()='Save']`).click();
|
|
2208
|
-
await this.page.locator("i.xl-icon.close-icon").click();
|
|
2209
|
-
return this;
|
|
2210
|
-
}
|
|
2211
|
-
}
|
|
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;
|
|
2212
2585
|
|
|
2213
2586
|
|
|
2587
|
+
var $869474d4b330cc35$exports = {};
|
|
2214
2588
|
|
|
2215
2589
|
|
|
2216
|
-
|
|
2217
|
-
|
|
2218
|
-
|
|
2219
|
-
// await this.page.locator("//div[normalize-space()='Access tokens']").click()
|
|
2220
|
-
await this.page.goto("./#/personal-access-token");
|
|
2221
|
-
await (0, $kKeXs$playwrighttest.expect)(this.page).toHaveTitle("Access tokens / Personal settings - Digital.ai Release");
|
|
2222
|
-
return this;
|
|
2223
|
-
}
|
|
2224
|
-
async addNewToken(tokenName) {
|
|
2225
|
-
//await expect(this.page).toHaveTitle('Access tokens / Personal settings - Digital.ai Release')
|
|
2226
|
-
await this.page.locator("#tokenText").fill(tokenName);
|
|
2227
|
-
await this.page.locator("button[type='submit']").click();
|
|
2228
|
-
return this;
|
|
2229
|
-
}
|
|
2230
|
-
}
|
|
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;
|
|
2231
2593
|
|
|
2232
2594
|
|
|
2595
|
+
var $c4df061ad36170d9$exports = {};
|
|
2233
2596
|
|
|
2234
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;
|
|
2235
2601
|
|
|
2236
|
-
class $bb5572a48b31014a$export$e2e2e1ffdce20c30 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
2237
|
-
constructor(page){
|
|
2238
|
-
super(page);
|
|
2239
|
-
this.userName = page.locator("#username");
|
|
2240
|
-
this.name = page.locator("#full-name");
|
|
2241
|
-
this.email = page.locator("#email");
|
|
2242
|
-
this.password = page.locator('[data-test="password-input"]');
|
|
2243
|
-
this.cnfPassword = page.locator("#passwordConfirmation");
|
|
2244
|
-
this.saveButton = page.getByRole("button", {
|
|
2245
|
-
name: "Save"
|
|
2246
|
-
});
|
|
2247
|
-
this.cancelButton = page.getByRole("button", {
|
|
2248
|
-
name: "Cancel"
|
|
2249
|
-
});
|
|
2250
|
-
this.deleteButton = page.getByRole("button", {
|
|
2251
|
-
name: "Delete"
|
|
2252
|
-
});
|
|
2253
|
-
}
|
|
2254
|
-
async setUserName(username) {
|
|
2255
|
-
return await this.userName.fill(username);
|
|
2256
|
-
}
|
|
2257
|
-
async setFullName(fullName) {
|
|
2258
|
-
return await this.name.fill(fullName);
|
|
2259
|
-
}
|
|
2260
|
-
async setEmail(email) {
|
|
2261
|
-
return await this.email.fill(email);
|
|
2262
|
-
}
|
|
2263
|
-
async setPassword(password) {
|
|
2264
|
-
return await this.password.fill(password);
|
|
2265
|
-
}
|
|
2266
|
-
async setConfirmPassword(cnfPassword) {
|
|
2267
|
-
return await this.cnfPassword.fill(cnfPassword);
|
|
2268
|
-
}
|
|
2269
|
-
async save() {
|
|
2270
|
-
await this.saveButton.click();
|
|
2271
|
-
}
|
|
2272
|
-
async cancel() {
|
|
2273
|
-
await this.cancelButton.click();
|
|
2274
|
-
}
|
|
2275
|
-
async delete() {
|
|
2276
|
-
await this.deleteButton.click();
|
|
2277
|
-
}
|
|
2278
|
-
}
|
|
2279
2602
|
|
|
2280
2603
|
|
|
2281
|
-
|
|
2282
|
-
constructor(page){
|
|
2283
|
-
super(page);
|
|
2284
|
-
this.page = page;
|
|
2285
|
-
this.newUserButton = this.page.getByTestId("new-user-btn");
|
|
2286
|
-
this.modal = new (0, $bb5572a48b31014a$export$e2e2e1ffdce20c30)(page);
|
|
2287
|
-
}
|
|
2288
|
-
async openUsersPage() {
|
|
2289
|
-
this.page.goto("./#/users", {
|
|
2290
|
-
timeout: 1000
|
|
2291
|
-
});
|
|
2292
|
-
}
|
|
2293
|
-
async toggleLoginPermission(username) {
|
|
2294
|
-
await this.page.getByRole("row", {
|
|
2295
|
-
name: "" + username + ""
|
|
2296
|
-
}).getByRole("checkbox").check();
|
|
2297
|
-
//await this.page.locator(`tr:contains('${username}') .login-permission input`).click();
|
|
2298
|
-
}
|
|
2299
|
-
async addUser() {
|
|
2300
|
-
await this.newUserButton.click();
|
|
2301
|
-
}
|
|
2302
|
-
async createUser(username, password) {
|
|
2303
|
-
await this.modal.setUserName(username);
|
|
2304
|
-
await this.modal.setFullName(username);
|
|
2305
|
-
await this.modal.setEmail("testuser@company.com");
|
|
2306
|
-
await this.modal.setPassword(password);
|
|
2307
|
-
await this.modal.setConfirmPassword(password);
|
|
2308
|
-
await this.modal.save();
|
|
2309
|
-
}
|
|
2310
|
-
async expectToHaveLoginPermission(username) {
|
|
2311
|
-
return await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("row", {
|
|
2312
|
-
name: "" + username + ""
|
|
2313
|
-
}).getByRole("checkbox")).toBeChecked();
|
|
2314
|
-
}
|
|
2315
|
-
async deleteUser(username) {
|
|
2316
|
-
await this.page.getByRole("row", {
|
|
2317
|
-
name: "" + username + ""
|
|
2318
|
-
}).locator("i").nth(1).click();
|
|
2319
|
-
await this.modal.delete();
|
|
2320
|
-
}
|
|
2321
|
-
}
|
|
2604
|
+
var $hi3Ib = parcelRequire("hi3Ib");
|
|
2322
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;
|
|
2630
|
+
}
|
|
2631
|
+
return result;
|
|
2632
|
+
};
|
|
2633
|
+
$2184c74fd3b50571$exports = $2184c74fd3b50571$var$getTag;
|
|
2323
2634
|
|
|
2324
2635
|
|
|
2325
|
-
|
|
2326
|
-
|
|
2327
|
-
|
|
2328
|
-
|
|
2329
|
-
|
|
2330
|
-
|
|
2331
|
-
|
|
2332
|
-
|
|
2333
|
-
|
|
2334
|
-
|
|
2335
|
-
|
|
2336
|
-
|
|
2337
|
-
|
|
2338
|
-
|
|
2339
|
-
|
|
2340
|
-
|
|
2341
|
-
}
|
|
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;
|
|
2342
2652
|
}
|
|
2653
|
+
$5cfa9b34443304aa$exports = $5cfa9b34443304aa$var$mapToArray;
|
|
2654
|
+
|
|
2343
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;
|
|
2344
2674
|
|
|
2345
2675
|
|
|
2346
|
-
|
|
2347
|
-
|
|
2348
|
-
|
|
2349
|
-
|
|
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
|
+
};
|
|
2350
2690
|
}
|
|
2691
|
+
$acbd35b1cbbf33e4$exports = $acbd35b1cbbf33e4$var$createToPairs;
|
|
2692
|
+
|
|
2351
2693
|
|
|
2352
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;
|
|
2353
2721
|
|
|
2354
2722
|
|
|
2355
|
-
|
|
2356
|
-
|
|
2357
|
-
|
|
2358
|
-
|
|
2359
|
-
|
|
2360
|
-
|
|
2361
|
-
|
|
2362
|
-
|
|
2363
|
-
|
|
2364
|
-
|
|
2365
|
-
|
|
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}`;
|
|
2745
|
+
});
|
|
2746
|
+
(0, (/*@__PURE__*/$parcel$interopDefault($952a2b8d8056b381$exports)))(task.dependencies, function(dependency, idx) {
|
|
2747
|
+
dependency.type = DEPENDENCY_TYPE;
|
|
2748
|
+
dependency.id = `${task.id}/Dependency${idx}`;
|
|
2749
|
+
});
|
|
2750
|
+
(0, (/*@__PURE__*/$parcel$interopDefault($952a2b8d8056b381$exports)))(task.links, function(link, idx) {
|
|
2751
|
+
link.type = LINK_TYPE;
|
|
2752
|
+
link.id = `${task.id}/Link${idx}`;
|
|
2753
|
+
});
|
|
2754
|
+
(0, (/*@__PURE__*/$parcel$interopDefault($952a2b8d8056b381$exports)))(task.comments, function(comment, idx) {
|
|
2755
|
+
comment.type = COMMENT_TYPE;
|
|
2756
|
+
comment.id = `${task.id}/Comment${idx}`;
|
|
2757
|
+
});
|
|
2758
|
+
(0, (/*@__PURE__*/$parcel$interopDefault($952a2b8d8056b381$exports)))(task.tasks, function(subTask, idx) {
|
|
2759
|
+
processTasks(subTask, task, idx);
|
|
2760
|
+
});
|
|
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));
|
|
2763
|
+
});
|
|
2764
|
+
(0, (/*@__PURE__*/$parcel$interopDefault($952a2b8d8056b381$exports)))(task.attachments, function(attachment, idx) {
|
|
2765
|
+
attachment.type = ATTACHMENT_TYPE;
|
|
2766
|
+
attachment.id = `${task.id}/Attachment${idx}`;
|
|
2767
|
+
});
|
|
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
|
|
2366
2790
|
};
|
|
2367
|
-
|
|
2368
|
-
|
|
2369
|
-
|
|
2370
|
-
|
|
2371
|
-
|
|
2372
|
-
year: "numeric"
|
|
2791
|
+
};
|
|
2792
|
+
const getValueProviderConfigurationEntity = function(containerId) {
|
|
2793
|
+
return {
|
|
2794
|
+
id: `${containerId}/valueProvider`,
|
|
2795
|
+
variable: containerId
|
|
2373
2796
|
};
|
|
2374
|
-
|
|
2375
|
-
|
|
2376
|
-
|
|
2377
|
-
|
|
2378
|
-
|
|
2379
|
-
|
|
2380
|
-
|
|
2381
|
-
|
|
2382
|
-
|
|
2383
|
-
const downloadPromise = this.page.waitForEvent("download");
|
|
2384
|
-
await this.page.getByRole("button", {
|
|
2385
|
-
name: "Export"
|
|
2386
|
-
}).click();
|
|
2387
|
-
await downloadPromise;
|
|
2388
|
-
}
|
|
2389
|
-
async cancelCalendarExport() {
|
|
2390
|
-
let downloadCount = 0;
|
|
2391
|
-
// Listen to download events
|
|
2392
|
-
this.page.on("download", (_download)=>{
|
|
2393
|
-
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));
|
|
2394
2806
|
});
|
|
2395
|
-
|
|
2396
|
-
|
|
2397
|
-
|
|
2398
|
-
|
|
2399
|
-
|
|
2400
|
-
}).click();
|
|
2401
|
-
return downloadCount;
|
|
2402
|
-
}
|
|
2403
|
-
async verifyDayView() {
|
|
2404
|
-
await this.page.getByRole("combobox").click();
|
|
2405
|
-
await this.page.getByRole("option", {
|
|
2406
|
-
name: "Day"
|
|
2407
|
-
}).click();
|
|
2408
|
-
await this.page.getByRole("button", {
|
|
2409
|
-
name: "Today"
|
|
2410
|
-
}).click();
|
|
2411
|
-
//Verify Page has correct day format displayed at the page bottom
|
|
2412
|
-
await (0, $kKeXs$playwrighttest.expect)(this.page.getByText(this.dayFormat)).toBeVisible();
|
|
2413
|
-
}
|
|
2414
|
-
async verifyYearView() {
|
|
2415
|
-
await this.page.getByRole("combobox").click();
|
|
2416
|
-
await this.page.getByRole("option", {
|
|
2417
|
-
name: "Year"
|
|
2418
|
-
}).click();
|
|
2419
|
-
await this.page.getByRole("button", {
|
|
2420
|
-
name: "Today"
|
|
2421
|
-
}).click();
|
|
2422
|
-
//Verify Page has correct Year format displayed at the page bottom
|
|
2423
|
-
await (0, $kKeXs$playwrighttest.expect)(this.page.getByText(this.yearFormatString)).toBeVisible();
|
|
2424
|
-
}
|
|
2425
|
-
}
|
|
2426
|
-
|
|
2427
|
-
|
|
2428
|
-
class $4ef41cf96a5fae4c$export$b8a61e5c71402559 {
|
|
2429
|
-
constructor(page){
|
|
2430
|
-
this.page = page;
|
|
2431
|
-
this.releasePage = new (0, $9b9a8c3da392d020$export$f43492e8ac3c566)(page);
|
|
2432
|
-
this.settingsMenu = new (0, $7867194f18360347$export$1d7840d5cdc861d5)(page);
|
|
2433
|
-
this.usersPage = new (0, $3ceab7c613cabfd6$export$107317390f5aa598)(page);
|
|
2434
|
-
this.applicationPage = new (0, $dc91ece6da6cadfa$export$1533b625ec0c75e2)(page);
|
|
2435
|
-
this.taskDetailsPage = new (0, $a642d735048996f9$export$922081b54f2ab994)(page);
|
|
2436
|
-
this.releaseCalendarPage = new (0, $a8855257f8bb2b12$export$43682cddead1dd78)(page);
|
|
2437
|
-
}
|
|
2438
|
-
async openTemplate(id) {
|
|
2439
|
-
return this.openReleaseOrTemplate(id, false);
|
|
2440
|
-
}
|
|
2441
|
-
async openRelease(id) {
|
|
2442
|
-
return this.openReleaseOrTemplate(id, true);
|
|
2443
|
-
}
|
|
2444
|
-
async openApplicationsPage() {
|
|
2445
|
-
return new (0, $dc91ece6da6cadfa$export$1533b625ec0c75e2)(this.page).goToApplicationsPage();
|
|
2446
|
-
}
|
|
2447
|
-
async openPersonalAccessTokenPage() {
|
|
2448
|
-
return new (0, $be4dd73206d8e76b$export$3cac5fd37ae64b91)(this.page).openPersonalAccessTokenPage();
|
|
2449
|
-
}
|
|
2450
|
-
async gotoFolderPage() {
|
|
2451
|
-
await this.page.getByText("Folders").click();
|
|
2452
|
-
}
|
|
2453
|
-
async gotoTaskPage() {
|
|
2454
|
-
await this.page.getByTestId("sideNav-item-3").getByText("Tasks").click();
|
|
2455
|
-
}
|
|
2456
|
-
async gotoReleasePage() {
|
|
2457
|
-
await this.page.getByText("Releases").click();
|
|
2458
|
-
}
|
|
2459
|
-
async gotoWorkflowCatalogPage() {
|
|
2460
|
-
await this.page.getByText("Workflow catalog").click();
|
|
2461
|
-
}
|
|
2462
|
-
async gotoWorkflowsPage() {
|
|
2463
|
-
await this.page.getByTestId("sideNav-item-6").getByText("Workflows").click();
|
|
2464
|
-
}
|
|
2465
|
-
async gotoGroupsPage() {
|
|
2466
|
-
await this.page.getByText("Groups").click();
|
|
2467
|
-
}
|
|
2468
|
-
async gotoReleaseCalenderPage() {
|
|
2469
|
-
await this.page.getByText("Release calendar").click();
|
|
2470
|
-
}
|
|
2471
|
-
async gotoDeliveriesPage() {
|
|
2472
|
-
await this.page.getByText("Deliveries").click();
|
|
2473
|
-
}
|
|
2474
|
-
async gotoTriggersPage() {
|
|
2475
|
-
await this.page.getByText("Triggers").click();
|
|
2476
|
-
}
|
|
2477
|
-
async gotoDigitalAnalyticsPage() {
|
|
2478
|
-
await this.page.getByText("Digital.ai Analytics").click();
|
|
2479
|
-
}
|
|
2480
|
-
async gotoReportsPage() {
|
|
2481
|
-
await this.page.getByText("Reports").click();
|
|
2482
|
-
}
|
|
2483
|
-
async gotoTemplatesPage() {
|
|
2484
|
-
await this.page.getByText("Templates").click();
|
|
2485
|
-
}
|
|
2486
|
-
async gotoEnvironmentsPage() {
|
|
2487
|
-
await this.page.getByText("Environments").click();
|
|
2488
|
-
}
|
|
2489
|
-
async gotoEnvironmentsCalenderPage() {
|
|
2490
|
-
await this.page.getByText("Environments calendar").click();
|
|
2491
|
-
}
|
|
2492
|
-
async gotoGobalVariablesPage() {
|
|
2493
|
-
await this.page.getByText("Global variables").click();
|
|
2494
|
-
}
|
|
2495
|
-
async gotoConnectionsPage() {
|
|
2496
|
-
await this.page.getByText("Connections").click();
|
|
2497
|
-
}
|
|
2498
|
-
async openReleaseOrTemplate(id, release) {
|
|
2499
|
-
const url = release ? "releases" : "templates";
|
|
2500
|
-
await this.page.goto(`./#/${url}/${id}`);
|
|
2501
|
-
await this.page.waitForSelector("#release");
|
|
2502
|
-
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;
|
|
2503
2812
|
}
|
|
2504
|
-
|
|
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
|
+
}();
|
|
2505
2854
|
|
|
2506
2855
|
|
|
2507
2856
|
|
|
2857
|
+
const $6998c6a53a9eb4fa$var$JIRA_ISSUE_API_URL = "https://digitalai.atlassian.net/rest/api/2/issue";
|
|
2508
2858
|
const $6998c6a53a9eb4fa$var$adminHeaders = {
|
|
2509
2859
|
Authorization: "Basic YWRtaW46YWRtaW4=",
|
|
2510
2860
|
Cookie: "XSRF-TOKEN=1;",
|
|
@@ -2537,7 +2887,7 @@ class $6998c6a53a9eb4fa$var$Fixtures {
|
|
|
2537
2887
|
this.request = request;
|
|
2538
2888
|
this.page = page;
|
|
2539
2889
|
}
|
|
2540
|
-
|
|
2890
|
+
release(release) {
|
|
2541
2891
|
this.initDefaults(release);
|
|
2542
2892
|
this.releaseIds.push(release.id);
|
|
2543
2893
|
return this.deleteRelease(release.id).then(()=>this.deleteArchivedRelease(release.id)).then(()=>this.doPost("fixtures/release", release));
|
|
@@ -2565,6 +2915,12 @@ class $6998c6a53a9eb4fa$var$Fixtures {
|
|
|
2565
2915
|
const releaseId = id.includes("Applications/") ? id : `Applications/${id}`;
|
|
2566
2916
|
return this.doDelete(`fixtures/${releaseId}`);
|
|
2567
2917
|
}
|
|
2918
|
+
deleteUser(username) {
|
|
2919
|
+
return this.doDelete(`fixtures/user/${username}`);
|
|
2920
|
+
}
|
|
2921
|
+
deleteUserProfile(userProfile) {
|
|
2922
|
+
return this.doDelete(`fixtures/userProfile/${userProfile}`);
|
|
2923
|
+
}
|
|
2568
2924
|
deleteTrigger(id) {
|
|
2569
2925
|
return this.doDelete(`fixtures/trigger/${id}`);
|
|
2570
2926
|
}
|
|
@@ -2573,19 +2929,83 @@ class $6998c6a53a9eb4fa$var$Fixtures {
|
|
|
2573
2929
|
id
|
|
2574
2930
|
]);
|
|
2575
2931
|
}
|
|
2576
|
-
|
|
2577
|
-
|
|
2578
|
-
|
|
2579
|
-
|
|
2580
|
-
for (const
|
|
2581
|
-
for (const
|
|
2582
|
-
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);
|
|
2583
2941
|
this.releaseIds = [];
|
|
2584
2942
|
this.triggerIds = [];
|
|
2585
2943
|
this.configurationIds = [];
|
|
2586
2944
|
this.usernames = [];
|
|
2587
2945
|
this.userProfiles = [];
|
|
2588
|
-
|
|
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);
|
|
2589
3009
|
}
|
|
2590
3010
|
async waitForReleaseStarted(releaseTitle) {
|
|
2591
3011
|
await (0, $kKeXs$playwrighttest.expect)(async ()=>{
|
|
@@ -2621,6 +3041,12 @@ class $6998c6a53a9eb4fa$var$Fixtures {
|
|
|
2621
3041
|
getEnvVariable(name) {
|
|
2622
3042
|
return $kKeXs$process.env[name];
|
|
2623
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
|
+
}
|
|
2624
3050
|
async setFeatures(features) {
|
|
2625
3051
|
return this.doPut("settings/features", features);
|
|
2626
3052
|
}
|
|
@@ -2629,32 +3055,10 @@ class $6998c6a53a9eb4fa$var$Fixtures {
|
|
|
2629
3055
|
{
|
|
2630
3056
|
id: "Configuration/features/xlrelease.TaskDrawer",
|
|
2631
3057
|
type: "xlrelease.TaskDrawer",
|
|
2632
|
-
category: "Stable",
|
|
2633
3058
|
enabled: enabled
|
|
2634
3059
|
}
|
|
2635
3060
|
]);
|
|
2636
3061
|
}
|
|
2637
|
-
async addUser(username, password) {
|
|
2638
|
-
this.usernames.push(username);
|
|
2639
|
-
return await this.doPost("fixtures/user", {
|
|
2640
|
-
username: username,
|
|
2641
|
-
password: password
|
|
2642
|
-
});
|
|
2643
|
-
}
|
|
2644
|
-
async addUserProfile(username, profile) {
|
|
2645
|
-
if (!profile) profile = {};
|
|
2646
|
-
profile.id = username;
|
|
2647
|
-
profile.type = "xlrelease.UserProfile";
|
|
2648
|
-
profile.canonicalId = username.toLowerCase();
|
|
2649
|
-
this.userProfiles.push(profile.canonicalId);
|
|
2650
|
-
return await this.doPost("fixtures/userProfile", profile);
|
|
2651
|
-
}
|
|
2652
|
-
async deleteUser(username) {
|
|
2653
|
-
return await this.request.delete(`fixtures/user/${username}`);
|
|
2654
|
-
}
|
|
2655
|
-
async deleteUserProfile(username) {
|
|
2656
|
-
return await this.request.delete(`fixtures/userProfile/${username}`);
|
|
2657
|
-
}
|
|
2658
3062
|
doPost(url, body) {
|
|
2659
3063
|
return this.request.post(url, {
|
|
2660
3064
|
data: body,
|