@o3r/testing 11.2.0-prerelease.9 → 11.2.0-rc.1
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/core/angular/angular-materials/index.d.ts +1 -0
- package/core/angular/angular-materials/index.d.ts.map +1 -1
- package/core/angular/angular-materials/index.js +1 -0
- package/core/angular/angular-materials/index.js.map +1 -1
- package/core/angular/angular-materials/slider-material.d.ts +11 -0
- package/core/angular/angular-materials/slider-material.d.ts.map +1 -0
- package/core/angular/angular-materials/slider-material.js +20 -0
- package/core/angular/angular-materials/slider-material.js.map +1 -0
- package/core/angular/elements/index.d.ts +1 -0
- package/core/angular/elements/index.d.ts.map +1 -1
- package/core/angular/elements/index.js +1 -0
- package/core/angular/elements/index.js.map +1 -1
- package/core/angular/elements/slider-element.d.ts +22 -0
- package/core/angular/elements/slider-element.d.ts.map +1 -0
- package/core/angular/elements/slider-element.js +85 -0
- package/core/angular/elements/slider-element.js.map +1 -0
- package/core/angular-materials/index.d.ts +1 -0
- package/core/angular-materials/index.d.ts.map +1 -1
- package/core/angular-materials/index.js +1 -0
- package/core/angular-materials/index.js.map +1 -1
- package/core/angular-materials/slider-material.d.ts +17 -0
- package/core/angular-materials/slider-material.d.ts.map +1 -0
- package/core/angular-materials/slider-material.js +18 -0
- package/core/angular-materials/slider-material.js.map +1 -0
- package/core/elements/index.d.ts +1 -0
- package/core/elements/index.d.ts.map +1 -1
- package/core/elements/index.js +1 -0
- package/core/elements/index.js.map +1 -1
- package/core/elements/slider-element.d.ts +16 -0
- package/core/elements/slider-element.d.ts.map +1 -0
- package/core/elements/slider-element.js +18 -0
- package/core/elements/slider-element.js.map +1 -0
- package/core/playwright/angular-materials/index.d.ts +1 -0
- package/core/playwright/angular-materials/index.d.ts.map +1 -1
- package/core/playwright/angular-materials/index.js +1 -0
- package/core/playwright/angular-materials/index.js.map +1 -1
- package/core/playwright/angular-materials/slider-material.d.ts +10 -0
- package/core/playwright/angular-materials/slider-material.d.ts.map +1 -0
- package/core/playwright/angular-materials/slider-material.js +19 -0
- package/core/playwright/angular-materials/slider-material.js.map +1 -0
- package/core/playwright/elements/index.d.ts +1 -0
- package/core/playwright/elements/index.d.ts.map +1 -1
- package/core/playwright/elements/index.js +1 -0
- package/core/playwright/elements/index.js.map +1 -1
- package/core/playwright/elements/slider-element.d.ts +18 -0
- package/core/playwright/elements/slider-element.d.ts.map +1 -0
- package/core/playwright/elements/slider-element.js +168 -0
- package/core/playwright/elements/slider-element.js.map +1 -0
- package/package.json +39 -34
- package/schematics/ng-add/index.js +1 -1
- package/schematics/ng-add/index.js.map +1 -1
- package/schematics/ng-add/playwright/index.js +1 -1
- package/schematics/ng-add/playwright/index.js.map +1 -1
- package/schematics/ng-add/templates/workspace/jest.config.ut.js.template +6 -2
- package/tools/protractor/fetch-manager/_fetch-manager.d.ts +1 -0
- package/tools/protractor/fetch-manager/_fetch-manager.d.ts.map +1 -0
- package/tools/protractor/fetch-manager/_fetch-manager.js +127 -0
- package/tools/protractor/fetch-manager/_fetch-manager.js.map +1 -0
- package/tools/protractor/fetch-manager/utils.js +1 -1
- package/tools/protractor/fetch-manager/utils.js.map +1 -1
- package/tools/protractor/post-message-interceptor/_post-message-interceptor.d.ts +5 -0
- package/tools/protractor/post-message-interceptor/_post-message-interceptor.d.ts.map +1 -0
- package/tools/protractor/post-message-interceptor/_post-message-interceptor.js +157 -0
- package/tools/protractor/post-message-interceptor/_post-message-interceptor.js.map +1 -0
- package/tools/protractor/post-message-interceptor/post-message-interceptor.js +1 -1
- package/tools/protractor/post-message-interceptor/post-message-interceptor.js.map +1 -1
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.O3rSliderElement = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var element_1 = require("../element");
|
|
6
|
+
/**
|
|
7
|
+
* Implementation dedicated to Playwright.
|
|
8
|
+
*/
|
|
9
|
+
var O3rSliderElement = /** @class */ (function (_super) {
|
|
10
|
+
tslib_1.__extends(O3rSliderElement, _super);
|
|
11
|
+
function O3rSliderElement(sourceElement, trackSelector, thumbSelector) {
|
|
12
|
+
var _this = _super.call(this, sourceElement) || this;
|
|
13
|
+
_this.trackSelector = trackSelector;
|
|
14
|
+
_this.thumbSelector = thumbSelector;
|
|
15
|
+
return _this;
|
|
16
|
+
}
|
|
17
|
+
O3rSliderElement.prototype.getInputElement = function () {
|
|
18
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
19
|
+
var subElement, _a;
|
|
20
|
+
return tslib_1.__generator(this, function (_b) {
|
|
21
|
+
switch (_b.label) {
|
|
22
|
+
case 0:
|
|
23
|
+
_b.trys.push([0, 2, , 3]);
|
|
24
|
+
subElement = this.sourceElement.element.locator('input[type="range"]');
|
|
25
|
+
return [4 /*yield*/, subElement.count()];
|
|
26
|
+
case 1:
|
|
27
|
+
if (_b.sent()) {
|
|
28
|
+
return [2 /*return*/, subElement.first()];
|
|
29
|
+
}
|
|
30
|
+
return [2 /*return*/, this.sourceElement.element];
|
|
31
|
+
case 2:
|
|
32
|
+
_a = _b.sent();
|
|
33
|
+
return [2 /*return*/, this.sourceElement.element];
|
|
34
|
+
case 3: return [2 /*return*/];
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
};
|
|
39
|
+
O3rSliderElement.prototype.getTrackElement = function () {
|
|
40
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
41
|
+
var subElement, _a;
|
|
42
|
+
return tslib_1.__generator(this, function (_b) {
|
|
43
|
+
switch (_b.label) {
|
|
44
|
+
case 0:
|
|
45
|
+
if (!this.trackSelector) {
|
|
46
|
+
return [2 /*return*/, this.sourceElement.element];
|
|
47
|
+
}
|
|
48
|
+
_b.label = 1;
|
|
49
|
+
case 1:
|
|
50
|
+
_b.trys.push([1, 3, , 4]);
|
|
51
|
+
subElement = this.sourceElement.element.locator(this.trackSelector);
|
|
52
|
+
return [4 /*yield*/, subElement.count()];
|
|
53
|
+
case 2:
|
|
54
|
+
if (_b.sent()) {
|
|
55
|
+
return [2 /*return*/, subElement.first()];
|
|
56
|
+
}
|
|
57
|
+
return [2 /*return*/, this.sourceElement.element];
|
|
58
|
+
case 3:
|
|
59
|
+
_a = _b.sent();
|
|
60
|
+
return [2 /*return*/, this.sourceElement.element];
|
|
61
|
+
case 4: return [2 /*return*/];
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
};
|
|
66
|
+
O3rSliderElement.prototype.getThumbElement = function () {
|
|
67
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
68
|
+
var subElement, _a;
|
|
69
|
+
return tslib_1.__generator(this, function (_b) {
|
|
70
|
+
switch (_b.label) {
|
|
71
|
+
case 0:
|
|
72
|
+
if (!this.thumbSelector) {
|
|
73
|
+
return [2 /*return*/, this.sourceElement.element];
|
|
74
|
+
}
|
|
75
|
+
_b.label = 1;
|
|
76
|
+
case 1:
|
|
77
|
+
_b.trys.push([1, 3, , 4]);
|
|
78
|
+
subElement = this.sourceElement.element.locator(this.thumbSelector);
|
|
79
|
+
return [4 /*yield*/, subElement.count()];
|
|
80
|
+
case 2:
|
|
81
|
+
if (_b.sent()) {
|
|
82
|
+
return [2 /*return*/, subElement.first()];
|
|
83
|
+
}
|
|
84
|
+
return [2 /*return*/, this.sourceElement.element];
|
|
85
|
+
case 3:
|
|
86
|
+
_a = _b.sent();
|
|
87
|
+
return [2 /*return*/, this.sourceElement.element];
|
|
88
|
+
case 4: return [2 /*return*/];
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
};
|
|
93
|
+
/** @inheritdoc */
|
|
94
|
+
O3rSliderElement.prototype.setValue = function (value) {
|
|
95
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
96
|
+
var trackElement, trackBoundingBox, thumbElement, inputElement, thumbBoundingBox, startPosition, maxAttribute, max, minAttribute, min, percent;
|
|
97
|
+
return tslib_1.__generator(this, function (_a) {
|
|
98
|
+
switch (_a.label) {
|
|
99
|
+
case 0: return [4 /*yield*/, this.getTrackElement()];
|
|
100
|
+
case 1:
|
|
101
|
+
trackElement = _a.sent();
|
|
102
|
+
return [4 /*yield*/, trackElement.boundingBox()];
|
|
103
|
+
case 2:
|
|
104
|
+
trackBoundingBox = _a.sent();
|
|
105
|
+
return [4 /*yield*/, this.getThumbElement()];
|
|
106
|
+
case 3:
|
|
107
|
+
thumbElement = _a.sent();
|
|
108
|
+
return [4 /*yield*/, this.getInputElement()];
|
|
109
|
+
case 4:
|
|
110
|
+
inputElement = _a.sent();
|
|
111
|
+
return [4 /*yield*/, thumbElement.boundingBox()];
|
|
112
|
+
case 5:
|
|
113
|
+
thumbBoundingBox = _a.sent();
|
|
114
|
+
if (!trackBoundingBox || !thumbBoundingBox) {
|
|
115
|
+
return [2 /*return*/];
|
|
116
|
+
}
|
|
117
|
+
startPosition = {
|
|
118
|
+
x: thumbBoundingBox.x + thumbBoundingBox.width / 2,
|
|
119
|
+
y: thumbBoundingBox.y + thumbBoundingBox.height / 2
|
|
120
|
+
};
|
|
121
|
+
return [4 /*yield*/, this.sourceElement.page.mouse.move(startPosition.x, startPosition.y)];
|
|
122
|
+
case 6:
|
|
123
|
+
_a.sent();
|
|
124
|
+
return [4 /*yield*/, this.sourceElement.page.mouse.down()];
|
|
125
|
+
case 7:
|
|
126
|
+
_a.sent();
|
|
127
|
+
return [4 /*yield*/, inputElement.getAttribute('max')];
|
|
128
|
+
case 8:
|
|
129
|
+
maxAttribute = _a.sent();
|
|
130
|
+
max = maxAttribute ? +maxAttribute : 100;
|
|
131
|
+
return [4 /*yield*/, inputElement.getAttribute('min')];
|
|
132
|
+
case 9:
|
|
133
|
+
minAttribute = _a.sent();
|
|
134
|
+
min = minAttribute ? +minAttribute : 0;
|
|
135
|
+
percent = (Math.max(min, Math.min(+value, max)) - min) / (max - min);
|
|
136
|
+
return [4 /*yield*/, this.sourceElement.page.mouse.move(trackBoundingBox.x + Math.round(trackBoundingBox.width * percent), trackBoundingBox.y + trackBoundingBox.height / 2)];
|
|
137
|
+
case 10:
|
|
138
|
+
_a.sent();
|
|
139
|
+
return [4 /*yield*/, this.sourceElement.page.mouse.up()];
|
|
140
|
+
case 11:
|
|
141
|
+
_a.sent();
|
|
142
|
+
return [2 /*return*/];
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
});
|
|
146
|
+
};
|
|
147
|
+
/** @inheritdoc */
|
|
148
|
+
O3rSliderElement.prototype.getValue = function () {
|
|
149
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
150
|
+
var _a;
|
|
151
|
+
var _b;
|
|
152
|
+
return tslib_1.__generator(this, function (_c) {
|
|
153
|
+
switch (_c.label) {
|
|
154
|
+
case 0:
|
|
155
|
+
_a = element_1.O3rElement.bind;
|
|
156
|
+
_b = {};
|
|
157
|
+
return [4 /*yield*/, this.getInputElement()];
|
|
158
|
+
case 1: return [2 /*return*/, (new (_a.apply(element_1.O3rElement, [void 0, (_b.element = _c.sent(),
|
|
159
|
+
_b.page = this.sourceElement.page,
|
|
160
|
+
_b)]))()).getValue()];
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
});
|
|
164
|
+
};
|
|
165
|
+
return O3rSliderElement;
|
|
166
|
+
}(element_1.O3rElement));
|
|
167
|
+
exports.O3rSliderElement = O3rSliderElement;
|
|
168
|
+
//# sourceMappingURL=slider-element.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slider-element.js","sourceRoot":"","sources":["../../../../src/core/playwright/elements/slider-element.ts"],"names":[],"mappings":"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","sourcesContent":["import type { SliderElementProfile } from '../../elements';\nimport { O3rElement, type PlaywrightSourceElement } from '../element';\n\n/**\n * Implementation dedicated to Playwright.\n */\nexport class O3rSliderElement extends O3rElement implements SliderElementProfile {\n constructor(\n sourceElement: PlaywrightSourceElement | O3rElement,\n private readonly trackSelector?: string,\n private readonly thumbSelector?: string\n ) {\n super(sourceElement);\n }\n\n private async getInputElement() {\n try {\n const subElement = this.sourceElement.element.locator('input[type=\"range\"]');\n if (await subElement.count()) {\n return subElement.first();\n }\n return this.sourceElement.element;\n } catch {\n return this.sourceElement.element;\n }\n }\n\n private async getTrackElement() {\n if (!this.trackSelector) {\n return this.sourceElement.element;\n }\n try {\n const subElement = this.sourceElement.element.locator(this.trackSelector);\n if (await subElement.count()) {\n return subElement.first();\n }\n return this.sourceElement.element;\n } catch {\n return this.sourceElement.element;\n }\n }\n\n private async getThumbElement() {\n if (!this.thumbSelector) {\n return this.sourceElement.element;\n }\n try {\n const subElement = this.sourceElement.element.locator(this.thumbSelector);\n if (await subElement.count()) {\n return subElement.first();\n }\n return this.sourceElement.element;\n } catch {\n return this.sourceElement.element;\n }\n }\n\n /** @inheritdoc */\n public async setValue(value: string): Promise<void> {\n const trackElement = await this.getTrackElement();\n const trackBoundingBox = await trackElement.boundingBox();\n const thumbElement = await this.getThumbElement();\n const inputElement = await this.getInputElement();\n const thumbBoundingBox = await thumbElement.boundingBox();\n if (!trackBoundingBox || !thumbBoundingBox) {\n return;\n }\n const startPosition = {\n x: thumbBoundingBox.x + thumbBoundingBox.width / 2,\n y: thumbBoundingBox.y + thumbBoundingBox.height / 2\n };\n await this.sourceElement.page.mouse.move(startPosition.x, startPosition.y);\n await this.sourceElement.page.mouse.down();\n\n const maxAttribute = await inputElement.getAttribute('max');\n const max = maxAttribute ? +maxAttribute : 100;\n const minAttribute = await inputElement.getAttribute('min');\n const min = minAttribute ? +minAttribute : 0;\n const percent = (Math.max(min, Math.min(+value, max)) - min) / (max - min);\n await this.sourceElement.page.mouse.move(\n trackBoundingBox.x + Math.round(trackBoundingBox.width * percent),\n trackBoundingBox.y + trackBoundingBox.height / 2\n );\n await this.sourceElement.page.mouse.up();\n }\n\n /** @inheritdoc */\n public async getValue() {\n return (new O3rElement({\n element: await this.getInputElement(),\n page: this.sourceElement.page\n })).getValue();\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@o3r/testing",
|
|
3
|
-
"version": "11.2.0-
|
|
3
|
+
"version": "11.2.0-rc.1",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -95,20 +95,21 @@
|
|
|
95
95
|
},
|
|
96
96
|
"peerDependencies": {
|
|
97
97
|
"@amadeus-it-group/kassette": "^1.7.0",
|
|
98
|
-
"@angular-devkit/schematics": "~18.
|
|
99
|
-
"@angular/animations": "~18.
|
|
100
|
-
"@angular/cli": "~18.
|
|
101
|
-
"@angular/common": "~18.
|
|
102
|
-
"@angular/core": "~18.
|
|
103
|
-
"@angular/forms": "~18.
|
|
104
|
-
"@angular/platform-browser": "~18.
|
|
98
|
+
"@angular-devkit/schematics": "~18.2.0",
|
|
99
|
+
"@angular/animations": "~18.2.0",
|
|
100
|
+
"@angular/cli": "~18.2.0",
|
|
101
|
+
"@angular/common": "~18.2.0",
|
|
102
|
+
"@angular/core": "~18.2.0",
|
|
103
|
+
"@angular/forms": "~18.2.0",
|
|
104
|
+
"@angular/platform-browser": "~18.2.0",
|
|
105
|
+
"@material/slider": "^14.0.0",
|
|
105
106
|
"@ngrx/store": "~18.0.0",
|
|
106
107
|
"@ngx-translate/core": "~15.0.0",
|
|
107
|
-
"@o3r/core": "^11.2.0-
|
|
108
|
-
"@o3r/localization": "^11.2.0-
|
|
109
|
-
"@o3r/schematics": "^11.2.0-
|
|
110
|
-
"@playwright/test": "~1.
|
|
111
|
-
"@schematics/angular": "~18.
|
|
108
|
+
"@o3r/core": "^11.2.0-rc.1",
|
|
109
|
+
"@o3r/localization": "^11.2.0-rc.1",
|
|
110
|
+
"@o3r/schematics": "^11.2.0-rc.1",
|
|
111
|
+
"@playwright/test": "~1.46.0",
|
|
112
|
+
"@schematics/angular": "~18.2.0",
|
|
112
113
|
"pixelmatch": "^5.2.1",
|
|
113
114
|
"pngjs": "^7.0.0",
|
|
114
115
|
"protractor": "^7.0.0",
|
|
@@ -126,6 +127,9 @@
|
|
|
126
127
|
"@angular/cli": {
|
|
127
128
|
"optional": true
|
|
128
129
|
},
|
|
130
|
+
"@material/slider": {
|
|
131
|
+
"optional": true
|
|
132
|
+
},
|
|
129
133
|
"@ngx-translate/core": {
|
|
130
134
|
"optional": true
|
|
131
135
|
},
|
|
@@ -164,33 +168,34 @@
|
|
|
164
168
|
},
|
|
165
169
|
"devDependencies": {
|
|
166
170
|
"@amadeus-it-group/kassette": "^1.7.0",
|
|
167
|
-
"@angular-devkit/build-angular": "~18.
|
|
168
|
-
"@angular-devkit/core": "~18.
|
|
169
|
-
"@angular-devkit/schematics": "~18.
|
|
170
|
-
"@angular-eslint/eslint-plugin": "~18.
|
|
171
|
-
"@angular/cli": "~18.
|
|
172
|
-
"@angular/common": "~18.
|
|
173
|
-
"@angular/compiler": "~18.
|
|
174
|
-
"@angular/compiler-cli": "~18.
|
|
175
|
-
"@angular/core": "~18.
|
|
176
|
-
"@angular/forms": "~18.
|
|
177
|
-
"@angular/platform-browser": "~18.
|
|
178
|
-
"@angular/platform-browser-dynamic": "~18.
|
|
171
|
+
"@angular-devkit/build-angular": "~18.2.0",
|
|
172
|
+
"@angular-devkit/core": "~18.2.0",
|
|
173
|
+
"@angular-devkit/schematics": "~18.2.0",
|
|
174
|
+
"@angular-eslint/eslint-plugin": "~18.3.0",
|
|
175
|
+
"@angular/cli": "~18.2.0",
|
|
176
|
+
"@angular/common": "~18.2.0",
|
|
177
|
+
"@angular/compiler": "~18.2.0",
|
|
178
|
+
"@angular/compiler-cli": "~18.2.0",
|
|
179
|
+
"@angular/core": "~18.2.0",
|
|
180
|
+
"@angular/forms": "~18.2.0",
|
|
181
|
+
"@angular/platform-browser": "~18.2.0",
|
|
182
|
+
"@angular/platform-browser-dynamic": "~18.2.0",
|
|
179
183
|
"@babel/core": "~7.25.0",
|
|
180
184
|
"@babel/preset-typescript": "~7.24.0",
|
|
181
185
|
"@compodoc/compodoc": "^1.1.19",
|
|
186
|
+
"@material/slider": "^14.0.0",
|
|
182
187
|
"@ngrx/store": "~18.0.0",
|
|
183
188
|
"@ngx-translate/core": "~15.0.0",
|
|
184
189
|
"@nx/eslint-plugin": "~19.5.0",
|
|
185
190
|
"@nx/jest": "~19.5.0",
|
|
186
|
-
"@o3r/build-helpers": "^11.2.0-
|
|
187
|
-
"@o3r/core": "^11.2.0-
|
|
188
|
-
"@o3r/eslint-plugin": "^11.2.0-
|
|
189
|
-
"@o3r/localization": "^11.2.0-
|
|
190
|
-
"@o3r/schematics": "^11.2.0-
|
|
191
|
-
"@o3r/test-helpers": "^11.2.0-
|
|
192
|
-
"@playwright/test": "~1.
|
|
193
|
-
"@schematics/angular": "~18.
|
|
191
|
+
"@o3r/build-helpers": "^11.2.0-rc.1",
|
|
192
|
+
"@o3r/core": "^11.2.0-rc.1",
|
|
193
|
+
"@o3r/eslint-plugin": "^11.2.0-rc.1",
|
|
194
|
+
"@o3r/localization": "^11.2.0-rc.1",
|
|
195
|
+
"@o3r/schematics": "^11.2.0-rc.1",
|
|
196
|
+
"@o3r/test-helpers": "^11.2.0-rc.1",
|
|
197
|
+
"@playwright/test": "~1.46.0",
|
|
198
|
+
"@schematics/angular": "~18.2.0",
|
|
194
199
|
"@stylistic/eslint-plugin-ts": "~2.4.0",
|
|
195
200
|
"@types/jest": "~29.5.2",
|
|
196
201
|
"@types/node": "^20.0.0",
|
|
@@ -203,7 +208,7 @@
|
|
|
203
208
|
"cpy-cli": "^5.0.0",
|
|
204
209
|
"eslint": "^8.57.0",
|
|
205
210
|
"eslint-import-resolver-node": "^0.3.9",
|
|
206
|
-
"eslint-plugin-jest": "~28.
|
|
211
|
+
"eslint-plugin-jest": "~28.8.0",
|
|
207
212
|
"eslint-plugin-jsdoc": "~48.11.0",
|
|
208
213
|
"eslint-plugin-prefer-arrow": "~1.2.3",
|
|
209
214
|
"eslint-plugin-unicorn": "^54.0.0",
|
|
@@ -26,7 +26,7 @@ function ngAddFn(options) {
|
|
|
26
26
|
return async (tree, context) => {
|
|
27
27
|
try {
|
|
28
28
|
const testPackageJsonPath = path.resolve(__dirname, '..', '..', 'package.json');
|
|
29
|
-
const packageJson = JSON.parse(fs.readFileSync(testPackageJsonPath, { encoding: '
|
|
29
|
+
const packageJson = JSON.parse(fs.readFileSync(testPackageJsonPath, { encoding: 'utf8' }));
|
|
30
30
|
const depsInfo = (0, schematics_2.getO3rPeerDeps)(testPackageJsonPath);
|
|
31
31
|
const workspaceProject = options.projectName ? (0, schematics_2.getWorkspaceConfig)(tree)?.projects[options.projectName] : undefined;
|
|
32
32
|
const workingDirectory = workspaceProject?.root || '.';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/ng-add/index.ts"],"names":[],"mappings":";;;AAAA,2DAAkK;AAClK,gDAayB;AACzB,8DAAoE;AACpE,2EAA8E;AAC9E,8BAA8B;AAC9B,kCAAkC;AAGlC,uCAAgD;AAChD,6CAAgD;AAEhD,MAAM,wBAAwB,GAAG;IAC/B,YAAY;IACZ,OAAO;IACP,MAAM;IACN,wBAAwB;IACxB,qBAAqB;IACrB,SAAS;IACT,aAAa;CACd,CAAC;AAEF;;;GAGG;AACH,SAAS,OAAO,CAAC,OAA8B;IAC7C,OAAO,KAAK,EAAE,IAAU,EAAE,OAAyB,EAAE,EAAE;QACrD,IAAI,CAAC;YACH,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;YAChF,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,mBAAmB,EAAE,EAAE,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/ng-add/index.ts"],"names":[],"mappings":";;;AAAA,2DAAkK;AAClK,gDAayB;AACzB,8DAAoE;AACpE,2EAA8E;AAC9E,8BAA8B;AAC9B,kCAAkC;AAGlC,uCAAgD;AAChD,6CAAgD;AAEhD,MAAM,wBAAwB,GAAG;IAC/B,YAAY;IACZ,OAAO;IACP,MAAM;IACN,wBAAwB;IACxB,qBAAqB;IACrB,SAAS;IACT,aAAa;CACd,CAAC;AAEF;;;GAGG;AACH,SAAS,OAAO,CAAC,OAA8B;IAC7C,OAAO,KAAK,EAAE,IAAU,EAAE,OAAyB,EAAE,EAAE;QACrD,IAAI,CAAC;YACH,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;YAChF,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,mBAAmB,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAgB,CAAC;YAC1G,MAAM,QAAQ,GAAG,IAAA,2BAAc,EAAC,mBAAmB,CAAC,CAAC;YACrD,MAAM,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAA,+BAAkB,EAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACnH,MAAM,gBAAgB,GAAG,gBAAgB,EAAE,IAAI,IAAI,GAAG,CAAC;YACvD,MAAM,WAAW,GAAG,gBAAgB,EAAE,WAAW,IAAI,aAAa,CAAC;YACnE,MAAM,YAAY,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBAC5D,GAAG,CAAC,GAAG,CAAC,GAAG;oBACT,UAAU,EAAE,CAAC;4BACX,KAAK,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,cAAc,EAAE;4BACxE,KAAK,EAAE,IAAA,2CAA8B,EAAC,gBAAgB,CAAC;yBACxD,CAAC;oBACF,YAAY,EAAE,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE;iBAC3D,CAAC;gBACF,OAAO,GAAG,CAAC;YACb,CAAC,EAAE,IAAA,oCAAuB,EAAC,mBAAmB,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;YAC7G,MAAM,CAAC,OAAO,CAAC,IAAA,gDAAmC,EAAC,wBAAwB,EAAE,mBAAmB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;iBAC/G,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBACxB,YAAY,CAAC,GAAG,CAAC,GAAG;oBAClB,UAAU,EAAE,CAAC;4BACX,KAAK;4BACL,KAAK,EAAE,CAAC,iCAAkB,CAAC,GAAG,CAAC;yBAChC,CAAC;iBACH,CAAC;YACJ,CAAC,CAAC,CAAC;YAEL,IAAI,WAAW,CAAC;YAChB,MAAM,aAAa,GAAG,OAAO,CAAC,gBAAgB,IAAI,IAAA,6BAAgB,EAAC,IAAA,+BAAkB,EAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;YAEtG,QAAQ,aAAa,EAAE,CAAC;gBACtB,KAAK,MAAM,CAAC,CAAC,CAAC;oBACZ,WAAW,GAAG,IAAI,CAAC;oBACnB,MAAM;gBACR,CAAC;gBACD,KAAK,SAAS,CAAC,CAAC,CAAC;oBACf,WAAW,GAAG,MAAM,IAAA,wBAAe,EAAC,2BAA2B,aAAa,uEAAuE,aAAa,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;oBAC3L,MAAM;gBACR,CAAC;gBACD,KAAK,SAAS,CAAC,CAAC,CAAC;oBACf,WAAW,GAAG,MAAM,IAAA,wBAAe,EAAC,uEAAuE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;oBAC1H,MAAM;gBACR,CAAC;gBACD,KAAK,OAAO,CAAC;gBACb,OAAO,CAAC,CAAC,CAAC;oBACR,WAAW,GAAG,KAAK,CAAC;oBACpB,MAAM;gBACR,CAAC;YACH,CAAC;YAED,IAAI,iBAAiB,GAAG,KAAK,CAAC;YAC9B,IAAI,WAAW,KAAK,aAAa,EAAE,CAAC;gBAClC,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC;oBAC1D,OAAO,CAAC,gBAAgB,CAAC,CAAC;oBAC1B,MAAM,IAAA,wBAAe,EAAC,yDAAyD,EAAE,IAAI,CAAC,CAAC;YAC3F,CAAC;YAED,MAAM,KAAK,GAAG;gBACZ,IAAA,6BAAmB,EAAC,OAAO,CAAC;gBAC5B,IAAA,2BAAc,EAAC,CAAC,gBAAgB,CAAC,CAAC;gBAClC,IAAA,qCAAwB,EAAC,CAAC,kBAAkB,CAAC,CAAC;gBAC9C,iBAAiB,CAAC,CAAC,CAAC,IAAA,6BAAgB,EAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,iBAAI;gBAClE,IAAA,8BAAiB,EAAC;oBAChB,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,YAAY;oBACZ,UAAU,EAAE,QAAQ,CAAC,WAAW;iBACjC,CAAC;gBACF,IAAA,gDAAmC,EAAC,WAAW,CAAC;gBAChD,IAAA,4CAA+B,EAAC;oBAC9B,gEAAgE;oBAChE,qBAAqB,EAAE;wBACrB,oBAAoB,EAAE,SAAS;qBAChC;oBACD,gEAAgE;oBAChE,+BAA+B,EAAE;wBAC/B,oBAAoB,EAAE,SAAS;qBAChC;oBACD,gEAAgE;oBAChE,+BAA+B,EAAE;wBAC/B,oBAAoB,EAAE,SAAS;qBAChC;iBACF,EAAE,OAAO,CAAC,WAAW,CAAC;aACxB,CAAC;YAEF,IAAI,WAAW,EAAE,CAAC;gBAChB,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;oBACnC,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,gBAAgB,eAAe,CAAgB,CAAC;oBACzF,eAAe,CAAC,OAAO,KAAK,EAAE,CAAC;oBAC/B,eAAe,CAAC,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC;oBACtC,IAAI,CAAC,SAAS,CAAC,GAAG,gBAAgB,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;oBAC7F,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;oBACpG,MAAM,yBAAyB,GAAG,GAAG,EAAE,CAAC,IAAA,sBAAS,EAAC,IAAA,kBAAK,EAAC,IAAA,gBAAG,EAAC,qBAAqB,CAAC,EAAE;wBAClF,IAAA,qBAAQ,EAAC;4BACP,GAAG,OAAO;4BACV,gBAAgB;4BAChB,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;yBAC7C,CAAC;wBACF,IAAA,iBAAI,EAAC,gBAAgB,CAAC;wBACtB,IAAA,gCAAmB,GAAE;qBACtB,CAAC,EAAE,0BAAa,CAAC,SAAS,CAAC,CAAC;oBAE7B,MAAM,2BAA2B,GAAG,GAAG,EAAE,CAAC,IAAA,sBAAS,EAAC,IAAA,kBAAK,EAAC,IAAA,gBAAG,EAAC,uBAAuB,CAAC,EAAE;wBACtF,IAAA,qBAAQ,EAAC;4BACP,GAAG,OAAO;yBACX,CAAC;wBACF,IAAA,iBAAI,EAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;wBACpB,IAAA,gCAAmB,GAAE;qBACtB,CAAC,EAAE,0BAAa,CAAC,OAAO,CAAC,CAAC;oBAC3B,KAAK,CAAC,IAAI,CACR,yBAAyB,EACzB,2BAA2B,CAC5B,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,wBAAW,CAAC,gDAAgD,OAAO,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC,CAAC;gBACrG,CAAC;YACH,CAAC;YAGD,OAAO,GAAG,EAAE,CAAC,IAAA,kBAAK,EAAC,KAAK,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAE3C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;;+GAEoF,CAAC,CAAC;YAC3G,MAAM,IAAI,wBAAW,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACU,QAAA,KAAK,GAAG,IAAA,kDAAqC,EAAC,OAAO,CAAC,CAAC"}
|
|
@@ -14,7 +14,7 @@ const fs = require("node:fs");
|
|
|
14
14
|
*/
|
|
15
15
|
function updatePlaywright(options, dependencies) {
|
|
16
16
|
const corePackageJsonPath = path.resolve(__dirname, '..', '..', '..', 'package.json');
|
|
17
|
-
const ownPackageJson = JSON.parse(fs.readFileSync(corePackageJsonPath, { encoding: '
|
|
17
|
+
const ownPackageJson = JSON.parse(fs.readFileSync(corePackageJsonPath, { encoding: 'utf8' }));
|
|
18
18
|
dependencies['@playwright/test'] = {
|
|
19
19
|
inManifest: [{
|
|
20
20
|
range: ownPackageJson.devDependencies['@playwright/test'],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../schematics/ng-add/playwright/index.ts"],"names":[],"mappings":";;AAiBA,4CAqEC;AAtFD,+CAA+C;AAC/C,2DAAqJ;AACrJ,gDAIyB;AACzB,2EAA8E;AAC9E,kCAAkC;AAClC,8BAA8B;AAG9B;;;;GAIG;AACH,SAAgB,gBAAgB,CAAC,OAA4B,EAAE,YAA6C;IAC1G,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;IACtF,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,mBAAmB,EAAE,EAAE,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../schematics/ng-add/playwright/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,23 @@
|
|
|
1
|
-
const { join, relative } = require('node:path');
|
|
1
|
+
const { join, resolve, relative } = require('node:path');
|
|
2
|
+
const { readFileSync } = require('node:fs');
|
|
2
3
|
const { pathsToModuleNameMapper } = require('ts-jest');
|
|
4
|
+
const ts = require('typescript');
|
|
3
5
|
// In the following statement, replace `./tsconfig.json` with the path to your `tsconfig` file
|
|
4
6
|
// which contains the path mapping (ie the `compilerOptions.paths` option):
|
|
5
|
-
const { compilerOptions } = require('./tsconfig.json');
|
|
6
7
|
|
|
7
8
|
globalThis.ngJest = {
|
|
8
9
|
skipNgcc: true
|
|
9
10
|
};
|
|
10
11
|
|
|
12
|
+
const baseTsconfigPath = resolve(__dirname, './tsconfig.json');
|
|
13
|
+
|
|
11
14
|
/**
|
|
12
15
|
* @param rootDir {string}
|
|
13
16
|
* @param isAngularSetup {boolean}
|
|
14
17
|
* @returns {import('ts-jest/dist/types').JestConfigWithTsJest}
|
|
15
18
|
*/
|
|
16
19
|
module.exports.getJestProjectConfig = (rootDir, isAngularSetup) => {
|
|
20
|
+
const { compilerOptions } = ts.parseConfigFileTextToJson(baseTsconfigPath, readFileSync(baseTsconfigPath, { encoding: 'utf-8' })).config;
|
|
17
21
|
const relativePath = relative(rootDir, __dirname);
|
|
18
22
|
const moduleNameMapper = Object.entries(pathsToModuleNameMapper(compilerOptions.paths || {})).reduce((acc, [moduleName, path]) => {
|
|
19
23
|
acc[moduleName] = `<rootDir>/${relativePath}/${path}`;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=_fetch-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_fetch-manager.d.ts","sourceRoot":"","sources":["../../../../src/tools/protractor/fetch-manager/_fetch-manager.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Note: This file is not part of the running script, it is injected in the browser while running e2e tests.
|
|
4
|
+
*/
|
|
5
|
+
(function () {
|
|
6
|
+
var MAX_WAITING_TIME_FOR_FETCH = 45 * 1000; // 45 seconds
|
|
7
|
+
var fetchManager = /** @class */ (function () {
|
|
8
|
+
function FetchManager() {
|
|
9
|
+
this.nbCurrentFetch = 0;
|
|
10
|
+
}
|
|
11
|
+
FetchManager.prototype.interceptor = function (ref, nativeFetch) {
|
|
12
|
+
var args = [];
|
|
13
|
+
for (var _i = 2; _i < arguments.length; _i++) {
|
|
14
|
+
args[_i - 2] = arguments[_i];
|
|
15
|
+
}
|
|
16
|
+
var promise = Promise.resolve(args);
|
|
17
|
+
promise = promise.then(function () {
|
|
18
|
+
ref.nbCurrentFetch++;
|
|
19
|
+
return [args[0], args[1]];
|
|
20
|
+
}, function (error) {
|
|
21
|
+
return Promise.reject(error);
|
|
22
|
+
});
|
|
23
|
+
promise = promise.then(function () { return nativeFetch.apply(void 0, args); });
|
|
24
|
+
promise = promise.then(function (response) {
|
|
25
|
+
ref.nbCurrentFetch--;
|
|
26
|
+
return response;
|
|
27
|
+
}, function (error) {
|
|
28
|
+
ref.nbCurrentFetch--;
|
|
29
|
+
return Promise.reject(error);
|
|
30
|
+
});
|
|
31
|
+
return promise;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Register the fetchs events to count the number of pending fetchs.
|
|
35
|
+
*/
|
|
36
|
+
FetchManager.prototype.registerFetchInterceptor = function () {
|
|
37
|
+
var _this = this;
|
|
38
|
+
var nativeFetch = window.fetch;
|
|
39
|
+
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
40
|
+
var that = this;
|
|
41
|
+
Object.assign(window, { fetch: function () {
|
|
42
|
+
var args = [];
|
|
43
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
44
|
+
args[_i] = arguments[_i];
|
|
45
|
+
}
|
|
46
|
+
return _this.interceptor.apply(_this, __spreadArray([that, nativeFetch], args, false));
|
|
47
|
+
} });
|
|
48
|
+
};
|
|
49
|
+
FetchManager.prototype.unregisterFetchInterceptor = function () {
|
|
50
|
+
Object.assign(window, { fetch: this.windowFetch });
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* Returns the single instance of FetchManager
|
|
54
|
+
*/
|
|
55
|
+
FetchManager.getInstance = function () {
|
|
56
|
+
return this._instance || (this._instance = new this());
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* Initialize the fetch manager
|
|
60
|
+
*/
|
|
61
|
+
FetchManager.prototype.init = function () {
|
|
62
|
+
this.nbCurrentFetch = 0;
|
|
63
|
+
this.registerFetchInterceptor();
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
*
|
|
67
|
+
*/
|
|
68
|
+
FetchManager.prototype.stop = function () {
|
|
69
|
+
this.nbCurrentFetch = 0;
|
|
70
|
+
this.unregisterFetchInterceptor();
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* Get the number of active fetchs on the page.
|
|
74
|
+
*/
|
|
75
|
+
FetchManager.prototype.getPendingFetchs = function () {
|
|
76
|
+
return this.nbCurrentFetch;
|
|
77
|
+
};
|
|
78
|
+
/**
|
|
79
|
+
* This function waits for all fetchs calls to be resolved and the page to be stable to call the callback.
|
|
80
|
+
* It permits to easily run synchronous tests with protractor.
|
|
81
|
+
* This is very usefull in the case of Otter calls to backend because protractor synchronization manager do not care
|
|
82
|
+
* about fetchs calls. As a consequence, the `waitForAngular` method will not work.
|
|
83
|
+
* @param callback : Callback called when all the fetchs are finished and the page is stable.
|
|
84
|
+
* @param timeoutInterval : Interval in milliseconds between two checks of the number of pending fetchs
|
|
85
|
+
*/
|
|
86
|
+
FetchManager.prototype.waitForFetchs = function (callback, timeoutInterval) {
|
|
87
|
+
var _this = this;
|
|
88
|
+
if (timeoutInterval === void 0) { timeoutInterval = 100; }
|
|
89
|
+
var interval;
|
|
90
|
+
var timeout;
|
|
91
|
+
if (!this.getPendingFetchs()) {
|
|
92
|
+
callback();
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
var cancelPolling = function () {
|
|
96
|
+
if (interval) {
|
|
97
|
+
clearInterval(interval);
|
|
98
|
+
interval = undefined;
|
|
99
|
+
}
|
|
100
|
+
if (timeout) {
|
|
101
|
+
clearTimeout(timeout);
|
|
102
|
+
timeout = undefined;
|
|
103
|
+
}
|
|
104
|
+
// Handle polling result
|
|
105
|
+
if (_this.getPendingFetchs() > 0) {
|
|
106
|
+
// Error case will just log in console
|
|
107
|
+
// and allow to continue as o3r elements might be checking fetchManager
|
|
108
|
+
// concurrently
|
|
109
|
+
_this.nbCurrentFetch = 0;
|
|
110
|
+
callback();
|
|
111
|
+
throw new Error('Fetch timeout. Please check network requests.');
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
callback();
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
var polling = function () { return _this.getPendingFetchs() > 0 || cancelPolling(); };
|
|
118
|
+
interval = setInterval(polling, timeoutInterval);
|
|
119
|
+
timeout = setTimeout(cancelPolling, MAX_WAITING_TIME_FOR_FETCH);
|
|
120
|
+
};
|
|
121
|
+
return FetchManager;
|
|
122
|
+
}());
|
|
123
|
+
if (!('fetchManager' in window)) {
|
|
124
|
+
Object.assign(window, { fetchManager: fetchManager });
|
|
125
|
+
}
|
|
126
|
+
})();
|
|
127
|
+
//# sourceMappingURL=_fetch-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_fetch-manager.js","sourceRoot":"","sources":["../../../../src/tools/protractor/fetch-manager/_fetch-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,7 +48,7 @@ function initFetchManager() {
|
|
|
48
48
|
return tslib_1.__generator(this, function (_a) {
|
|
49
49
|
switch (_a.label) {
|
|
50
50
|
case 0:
|
|
51
|
-
fetchManager = fs.readFileSync(path.resolve(process.cwd(), 'node_modules', '@o3r', 'testing', 'tools', 'protractor', 'fetch-manager', '_fetch-manager.js'), { encoding: '
|
|
51
|
+
fetchManager = fs.readFileSync(path.resolve(process.cwd(), 'node_modules', '@o3r', 'testing', 'tools', 'protractor', 'fetch-manager', '_fetch-manager.js'), { encoding: 'utf8' });
|
|
52
52
|
return [4 /*yield*/, protractor_1.browser.executeScript(fetchManager)];
|
|
53
53
|
case 1:
|
|
54
54
|
_a.sent();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/tools/protractor/fetch-manager/utils.ts"],"names":[],"mappings":";;AAeA,gDAOC;AAMD,4CAQC;AAKD,4CAEC;;AA3CD,4BAA8B;AAC9B,gCAAkC;AAClC,yCAAqC;AAErC;;;;;;;;;;GAUG;AACH,SAAsB,kBAAkB;;;;wBACtC,qBAAM,oBAAO,CAAC,cAAc,EAAE,EAAA;;oBAA9B,SAA8B,CAAC;yBAC3B,CAAC,oBAAO,CAAC,qBAAqB,EAA9B,wBAA8B;oBAChC,qBAAM,oBAAO,CAAC,kBAAkB,CAC9B,mFAAmF,CAAC,EAAA;;oBADtF,SACsF,CAAC;oBACvF,qBAAM,oBAAO,CAAC,cAAc,EAAE,EAAA;;oBAA9B,SAA8B,CAAC;;;;;;CAElC;AAED;;;GAGG;AACH,SAAsB,gBAAgB;;;;;;oBAC9B,YAAY,GAAG,EAAE,CAAC,YAAY,CAClC,IAAI,CAAC,OAAO,CACV,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EACxF,mBAAmB,CAAC,EACtB,EAAC,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/tools/protractor/fetch-manager/utils.ts"],"names":[],"mappings":";;AAeA,gDAOC;AAMD,4CAQC;AAKD,4CAEC;;AA3CD,4BAA8B;AAC9B,gCAAkC;AAClC,yCAAqC;AAErC;;;;;;;;;;GAUG;AACH,SAAsB,kBAAkB;;;;wBACtC,qBAAM,oBAAO,CAAC,cAAc,EAAE,EAAA;;oBAA9B,SAA8B,CAAC;yBAC3B,CAAC,oBAAO,CAAC,qBAAqB,EAA9B,wBAA8B;oBAChC,qBAAM,oBAAO,CAAC,kBAAkB,CAC9B,mFAAmF,CAAC,EAAA;;oBADtF,SACsF,CAAC;oBACvF,qBAAM,oBAAO,CAAC,cAAc,EAAE,EAAA;;oBAA9B,SAA8B,CAAC;;;;;;CAElC;AAED;;;GAGG;AACH,SAAsB,gBAAgB;;;;;;oBAC9B,YAAY,GAAG,EAAE,CAAC,YAAY,CAClC,IAAI,CAAC,OAAO,CACV,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EACxF,mBAAmB,CAAC,EACtB,EAAC,QAAQ,EAAE,MAAM,EAAC,CAAC,CAAC;oBACtB,qBAAM,oBAAO,CAAC,aAAa,CAAC,YAAY,CAAC,EAAA;;oBAAzC,SAAyC,CAAC;oBAC1C,qBAAM,oBAAO,CAAC,aAAa,CAAC,2CAA2C,CAAC,EAAA;;oBAAxE,SAAwE,CAAC;;;;;CAC1E;AAED;;GAEG;AACH,SAAsB,gBAAgB;;;;wBACpC,qBAAM,oBAAO,CAAC,aAAa,CAAC,2CAA2C,CAAC,EAAA;;oBAAxE,SAAwE,CAAC;;;;;CAC1E","sourcesContent":["import * as fs from 'node:fs';\nimport * as path from 'node:path';\nimport { browser } from 'protractor';\n\n/**\n * This function waits for all fetchs calls to be resolved and the page to be stable to resolve the promise.\n * It permits to easily run synchronous e2e tests on a flow that uses fetchs calls with protractor.\n * This is very useful in the case of Otter calls to backend because protractor synchronization manager do not care\n * about fetchs calls.\n *\n * This function needs the FetchManager to have been initialized and injected in the browser at the beginning of the\n * flow with `initFetchManager()`\n *\n * You can ignore the waiting of fetchs by setting `browser.ignoreSynchronization` to `true`\n */\nexport async function waitForOtterStable() {\n await browser.waitForAngular();\n if (!browser.ignoreSynchronization) {\n await browser.executeAsyncScript(\n 'window.fetchManager.getInstance().waitForFetchs(arguments[arguments.length - 1]);');\n await browser.waitForAngular();\n }\n}\n\n/**\n * This function initiliaze the FetchManager. Set `window.fetch` variable with a custom behaviour in order to count the\n * fetch calls.\n */\nexport async function initFetchManager() {\n const fetchManager = fs.readFileSync(\n path.resolve(\n process.cwd(), 'node_modules', '@o3r', 'testing', 'tools', 'protractor', 'fetch-manager',\n '_fetch-manager.js'),\n {encoding: 'utf8'});\n await browser.executeScript(fetchManager);\n await browser.executeScript('window.fetchManager.getInstance().init();');\n}\n\n/**\n * This function stops the FetchManager. Reset `window.fetch` variable with its native behaviour.\n */\nexport async function stopFetchManager() {\n await browser.executeScript('window.fetchManager.getInstance().stop();');\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_post-message-interceptor.d.ts","sourceRoot":"","sources":["../../../../src/tools/protractor/post-message-interceptor/_post-message-interceptor.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|