@o3r/testing 10.0.0-prerelease.9 → 10.0.0-prerelease.90
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/playwright/component-fixture.d.ts +6 -6
- package/core/playwright/component-fixture.d.ts.map +1 -1
- package/core/playwright/component-fixture.js +40 -71
- package/core/playwright/component-fixture.js.map +1 -1
- package/core/playwright/element.d.ts.map +1 -1
- package/core/playwright/element.js +4 -28
- package/core/playwright/element.js.map +1 -1
- package/localization/localization-mock.d.ts +5 -2
- package/localization/localization-mock.d.ts.map +1 -1
- package/localization/localization-mock.js +25 -7
- package/localization/localization-mock.js.map +1 -1
- package/package.json +46 -40
- package/schematics/add-functions-to-fixture/index.d.ts +1 -2
- package/schematics/add-functions-to-fixture/index.d.ts.map +1 -1
- package/schematics/add-functions-to-fixture/index.js +6 -3
- package/schematics/add-functions-to-fixture/index.js.map +1 -1
- package/schematics/fixture-to-component/index.d.ts +6 -2
- package/schematics/fixture-to-component/index.d.ts.map +1 -1
- package/schematics/fixture-to-component/index.js +9 -5
- package/schematics/fixture-to-component/index.js.map +1 -1
- package/schematics/ng-add/index.d.ts +2 -2
- package/schematics/ng-add/index.d.ts.map +1 -1
- package/schematics/ng-add/index.js +6 -2
- package/schematics/ng-add/index.js.map +1 -1
- package/schematics/ng-add/playwright/templates/e2e-playwright/playwright-config.sanity.ts.template +3 -3
- package/schematics/ng-add/playwright/templates/e2e-playwright/playwright-config.ts.template +3 -3
- package/schematics/ng-add/playwright/templates/e2e-playwright/scenarios/__name@dasherize__.e2e-playwright-spec.ts +1 -0
- package/schematics/ng-add/templates/project/jest.config.js.template +2 -2
- package/schematics/ng-add/templates/workspace/jest.config.ut.js.template +11 -6
- package/schematics/ng-update/v9-0/index.d.ts +1 -1
- package/schematics/ng-update/v9-0/index.d.ts.map +1 -1
- package/schematics/ng-update/v9-0/index.js +6 -2
- package/schematics/ng-update/v9-0/index.js.map +1 -1
- package/schematics/playwright/sanity/index.d.ts +1 -1
- package/schematics/playwright/sanity/index.d.ts.map +1 -1
- package/schematics/playwright/sanity/index.js +6 -2
- package/schematics/playwright/sanity/index.js.map +1 -1
- package/schematics/playwright/scenario/index.d.ts +1 -1
- package/schematics/playwright/scenario/index.d.ts.map +1 -1
- package/schematics/playwright/scenario/index.js +6 -2
- package/schematics/playwright/scenario/index.js.map +1 -1
- package/schematics/playwright/scenario/templates/__name@dasherize__.e2e-playwright-spec.ts +1 -0
|
@@ -29,7 +29,7 @@ export declare class O3rComponentFixture<V extends O3rElement = O3rElement> impl
|
|
|
29
29
|
* @param element ElementProfile to test
|
|
30
30
|
* @param timeout specific timeout that will throw when reach
|
|
31
31
|
*/
|
|
32
|
-
protected throwOnUndefined<T extends O3rElement>(element: Promise<T
|
|
32
|
+
protected throwOnUndefined<T extends O3rElement>(element: Promise<T>, timeout?: number): Promise<T>;
|
|
33
33
|
/**
|
|
34
34
|
* Get the element associated to the selector if present
|
|
35
35
|
* @param selector Selector to access the element
|
|
@@ -43,7 +43,7 @@ export declare class O3rComponentFixture<V extends O3rElement = O3rElement> impl
|
|
|
43
43
|
index?: number;
|
|
44
44
|
shouldThrowIfNotPresent?: boolean;
|
|
45
45
|
timeout?: number;
|
|
46
|
-
}): Promise<O3rElement
|
|
46
|
+
}): Promise<O3rElement>;
|
|
47
47
|
/**
|
|
48
48
|
* Get text from the element associated to the given selector, or undefined if the element is not found or not visible
|
|
49
49
|
* @param selector Selector to access the element
|
|
@@ -90,11 +90,11 @@ export declare class O3rComponentFixture<V extends O3rElement = O3rElement> impl
|
|
|
90
90
|
timeout?: number;
|
|
91
91
|
}): Promise<void>;
|
|
92
92
|
/** @inheritdoc */
|
|
93
|
-
query(selector: string, returnType?: undefined): Promise<O3rElement
|
|
94
|
-
query<T extends O3rElement>(selector: string, returnType: O3rElementConstructor<T>): Promise<T
|
|
93
|
+
query(selector: string, returnType?: undefined): Promise<O3rElement>;
|
|
94
|
+
query<T extends O3rElement>(selector: string, returnType: O3rElementConstructor<T>): Promise<T>;
|
|
95
95
|
/** @inheritdoc */
|
|
96
|
-
queryNth(selector: string, index: number, returnType?: undefined): Promise<O3rElement
|
|
97
|
-
queryNth<T extends O3rElement>(selector: string, index: number, returnType: O3rElementConstructor<T>): Promise<T
|
|
96
|
+
queryNth(selector: string, index: number, returnType?: undefined): Promise<O3rElement>;
|
|
97
|
+
queryNth<T extends O3rElement>(selector: string, index: number, returnType: O3rElementConstructor<T>): Promise<T>;
|
|
98
98
|
/** @inheritdoc */
|
|
99
99
|
queryAll(_selector: string, _returnType?: undefined, groupType?: undefined, timeout?: number): Promise<O3rElement[]>;
|
|
100
100
|
queryAll<T extends O3rElement>(selector: string, returnType: O3rElementConstructor<T>, groupType?: undefined, timeout?: number): Promise<T[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component-fixture.d.ts","sourceRoot":"","sources":["../../../src/core/playwright/component-fixture.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAEpE,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAA2B,MAAM,WAAW,CAAC;AACvF,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAExD,YAAY,EAAE,uBAAuB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEtG;;GAEG;AACH,qBAAa,mBAAmB,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,CAAE,YAAW,uBAAuB,CAAC,CAAC,CAAC;IAEvG;;OAEG;IACH,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;IAEzB;;;;OAIG;gBACS,WAAW,EAAE,CAAC;IAI1B;;;;;OAKG;cACa,uBAAuB,CAAC,CAAC,SAAS,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"component-fixture.d.ts","sourceRoot":"","sources":["../../../src/core/playwright/component-fixture.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAEpE,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAA2B,MAAM,WAAW,CAAC;AACvF,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAExD,YAAY,EAAE,uBAAuB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEtG;;GAEG;AACH,qBAAa,mBAAmB,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,CAAE,YAAW,uBAAuB,CAAC,CAAC,CAAC;IAEvG;;OAEG;IACH,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;IAEzB;;;;OAIG;gBACS,WAAW,EAAE,CAAC;IAI1B;;;;;OAKG;cACa,uBAAuB,CAAC,CAAC,SAAS,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAQxG;;;;;OAKG;cACa,gBAAgB,CAAC,CAAC,SAAS,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IASzG;;;;;;;;OAQG;cACa,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,kBAAkB,CAAC,EAAE,qBAAqB,CAAC,UAAU,CAAC,EACtD,OAAO,GAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,uBAAuB,CAAC,EAAE,OAAO,CAAC;QAClC,OAAO,CAAC,EAAE,MAAM,CAAC;KACb,GACL,OAAO,CAAC,UAAU,CAAC;IAatB;;;;;;;;OAQG;cACa,OAAO,CAAC,CAAC,SAAS,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE;QACvE,kBAAkB,CAAC,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,uBAAuB,CAAC,EAAE,OAAO,CAAC;QAClC,OAAO,CAAC,EAAE,MAAM,CAAC;KACb,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAQpC;;;;;;;;OAQG;cACa,SAAS,CAAC,CAAC,SAAS,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE;QACzE,kBAAkB,CAAC,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;QAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,uBAAuB,CAAC,EAAE,OAAO,CAAC;QAClC,OAAO,CAAC,EAAE,MAAM,CAAC;KACb,GAAG,OAAO,CAAC,OAAO,CAAC;IAKzB;;;;;;;;OAQG;cACa,KAAK,CAAC,CAAC,SAAS,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE;QACrE,kBAAkB,CAAC,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;QAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,uBAAuB,CAAC,EAAE,OAAO,CAAC;QAClC,OAAO,CAAC,EAAE,MAAM,CAAC;KACb,GAAG,OAAO,CAAC,IAAI,CAAC;IAOtB,kBAAkB;IACL,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;IACpE,KAAK,CAAC,CAAC,SAAS,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAQ5G,kBAAkB;IACL,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;IACtF,QAAQ,CAAC,CAAC,SAAS,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAQ9H,kBAAkB;IACL,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IACpH,QAAQ,CAAC,CAAC,SAAS,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,qBAAqB,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAC7I,QAAQ,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,qBAAqB,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAmC9L,kBAAkB;IACX,UAAU;IAIjB,kBAAkB;IACX,gBAAgB,IAAI,OAAO,CAAC;QAAC,CAAC,aAAa,EAAE,MAAM,GAAG,uBAAuB,EAAE,CAAA;KAAC,CAAC;IAIxF,kBAAkB;IACL,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAIjE"}
|
|
@@ -26,19 +26,15 @@ var O3rComponentFixture = /** @class */ (function () {
|
|
|
26
26
|
*/
|
|
27
27
|
O3rComponentFixture.prototype.throwOnUndefinedElement = function (element, timeout) {
|
|
28
28
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
29
|
-
var count;
|
|
30
29
|
return tslib_1.__generator(this, function (_a) {
|
|
31
30
|
switch (_a.label) {
|
|
32
31
|
case 0:
|
|
33
32
|
if (!element) {
|
|
34
33
|
throw new Error('Element not found in ' + this.constructor.name);
|
|
35
34
|
}
|
|
36
|
-
return [4 /*yield*/,
|
|
35
|
+
return [4 /*yield*/, element.sourceElement.element.first().waitFor({ state: 'attached', timeout: timeout })];
|
|
37
36
|
case 1:
|
|
38
|
-
|
|
39
|
-
if (!count) {
|
|
40
|
-
throw new Error('Element not found in ' + this.constructor.name);
|
|
41
|
-
}
|
|
37
|
+
_a.sent();
|
|
42
38
|
return [2 /*return*/, element];
|
|
43
39
|
}
|
|
44
40
|
});
|
|
@@ -54,15 +50,16 @@ var O3rComponentFixture = /** @class */ (function () {
|
|
|
54
50
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
55
51
|
var _this = this;
|
|
56
52
|
return tslib_1.__generator(this, function (_a) {
|
|
57
|
-
return [2 /*return*/, (0, helpers_1.withTimeout)(element,
|
|
58
|
-
.
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
53
|
+
return [2 /*return*/, (0, helpers_1.withTimeout)(element.then(function (el) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
54
|
+
return tslib_1.__generator(this, function (_a) {
|
|
55
|
+
switch (_a.label) {
|
|
56
|
+
case 0: return [4 /*yield*/, el.sourceElement.element.first().waitFor({ state: 'attached' })];
|
|
57
|
+
case 1:
|
|
58
|
+
_a.sent();
|
|
59
|
+
return [2 /*return*/, el];
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
}); }), timeout)];
|
|
66
63
|
});
|
|
67
64
|
});
|
|
68
65
|
};
|
|
@@ -112,24 +109,19 @@ var O3rComponentFixture = /** @class */ (function () {
|
|
|
112
109
|
O3rComponentFixture.prototype.getText = function (selector, options) {
|
|
113
110
|
if (options === void 0) { options = {}; }
|
|
114
111
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
115
|
-
var element
|
|
116
|
-
return tslib_1.__generator(this, function (
|
|
117
|
-
switch (
|
|
112
|
+
var element;
|
|
113
|
+
return tslib_1.__generator(this, function (_a) {
|
|
114
|
+
switch (_a.label) {
|
|
118
115
|
case 0: return [4 /*yield*/, this.queryWithOptions(selector, options.elementConstructor, options)];
|
|
119
116
|
case 1:
|
|
120
|
-
element =
|
|
121
|
-
_a = !element;
|
|
122
|
-
if (_a) return [3 /*break*/, 3];
|
|
117
|
+
element = _a.sent();
|
|
123
118
|
return [4 /*yield*/, element.isVisible()];
|
|
124
119
|
case 2:
|
|
125
|
-
|
|
126
|
-
_b.label = 3;
|
|
127
|
-
case 3:
|
|
128
|
-
if (_a) {
|
|
120
|
+
if (!(_a.sent())) {
|
|
129
121
|
return [2 /*return*/];
|
|
130
122
|
}
|
|
131
123
|
return [4 /*yield*/, element.getText()];
|
|
132
|
-
case
|
|
124
|
+
case 3: return [2 /*return*/, _a.sent()];
|
|
133
125
|
}
|
|
134
126
|
});
|
|
135
127
|
});
|
|
@@ -146,19 +138,14 @@ var O3rComponentFixture = /** @class */ (function () {
|
|
|
146
138
|
O3rComponentFixture.prototype.isVisible = function (selector, options) {
|
|
147
139
|
if (options === void 0) { options = {}; }
|
|
148
140
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
149
|
-
var element
|
|
150
|
-
return tslib_1.__generator(this, function (
|
|
151
|
-
switch (
|
|
141
|
+
var element;
|
|
142
|
+
return tslib_1.__generator(this, function (_a) {
|
|
143
|
+
switch (_a.label) {
|
|
152
144
|
case 0: return [4 /*yield*/, this.queryWithOptions(selector, options.elementConstructor, options)];
|
|
153
145
|
case 1:
|
|
154
|
-
element =
|
|
155
|
-
_a = !!element;
|
|
156
|
-
if (!_a) return [3 /*break*/, 3];
|
|
146
|
+
element = _a.sent();
|
|
157
147
|
return [4 /*yield*/, element.isVisible()];
|
|
158
|
-
case 2:
|
|
159
|
-
_a = (_b.sent());
|
|
160
|
-
_b.label = 3;
|
|
161
|
-
case 3: return [2 /*return*/, _a];
|
|
148
|
+
case 2: return [2 /*return*/, _a.sent()];
|
|
162
149
|
}
|
|
163
150
|
});
|
|
164
151
|
});
|
|
@@ -175,25 +162,20 @@ var O3rComponentFixture = /** @class */ (function () {
|
|
|
175
162
|
O3rComponentFixture.prototype.click = function (selector, options) {
|
|
176
163
|
if (options === void 0) { options = {}; }
|
|
177
164
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
178
|
-
var element
|
|
179
|
-
return tslib_1.__generator(this, function (
|
|
180
|
-
switch (
|
|
165
|
+
var element;
|
|
166
|
+
return tslib_1.__generator(this, function (_a) {
|
|
167
|
+
switch (_a.label) {
|
|
181
168
|
case 0: return [4 /*yield*/, this.queryWithOptions(selector, options.elementConstructor, options)];
|
|
182
169
|
case 1:
|
|
183
|
-
element =
|
|
184
|
-
_a = !!element;
|
|
185
|
-
if (!_a) return [3 /*break*/, 3];
|
|
170
|
+
element = _a.sent();
|
|
186
171
|
return [4 /*yield*/, element.isVisible()];
|
|
187
172
|
case 2:
|
|
188
|
-
|
|
189
|
-
_b.label = 3;
|
|
190
|
-
case 3:
|
|
191
|
-
if (!_a) return [3 /*break*/, 5];
|
|
173
|
+
if (!_a.sent()) return [3 /*break*/, 4];
|
|
192
174
|
return [4 /*yield*/, element.click()];
|
|
193
|
-
case
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
case
|
|
175
|
+
case 3:
|
|
176
|
+
_a.sent();
|
|
177
|
+
_a.label = 4;
|
|
178
|
+
case 4: return [2 /*return*/];
|
|
197
179
|
}
|
|
198
180
|
});
|
|
199
181
|
});
|
|
@@ -202,17 +184,10 @@ var O3rComponentFixture = /** @class */ (function () {
|
|
|
202
184
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
203
185
|
var elements, element, selectedElement;
|
|
204
186
|
return tslib_1.__generator(this, function (_a) {
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
return [2 /*return*/, Promise.resolve(new (returnType || element_1.O3rElement)(selectedElement))];
|
|
210
|
-
}
|
|
211
|
-
catch (err) {
|
|
212
|
-
console.warn("Failed to query ".concat(selector), err);
|
|
213
|
-
return [2 /*return*/, Promise.resolve(undefined)];
|
|
214
|
-
}
|
|
215
|
-
return [2 /*return*/];
|
|
187
|
+
elements = this.rootElement.sourceElement.element.locator(selector);
|
|
188
|
+
element = elements.first();
|
|
189
|
+
selectedElement = { element: element, page: this.rootElement.sourceElement.page };
|
|
190
|
+
return [2 /*return*/, Promise.resolve(new (returnType || element_1.O3rElement)(selectedElement))];
|
|
216
191
|
});
|
|
217
192
|
});
|
|
218
193
|
};
|
|
@@ -220,16 +195,10 @@ var O3rComponentFixture = /** @class */ (function () {
|
|
|
220
195
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
221
196
|
var elements, element, selectedElement;
|
|
222
197
|
return tslib_1.__generator(this, function (_a) {
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
return [2 /*return*/, Promise.resolve(new (returnType || element_1.O3rElement)(selectedElement))];
|
|
228
|
-
}
|
|
229
|
-
catch (_b) {
|
|
230
|
-
return [2 /*return*/, Promise.resolve(undefined)];
|
|
231
|
-
}
|
|
232
|
-
return [2 /*return*/];
|
|
198
|
+
elements = this.rootElement.sourceElement.element.locator(selector);
|
|
199
|
+
element = elements.nth(index);
|
|
200
|
+
selectedElement = { element: element, page: this.rootElement.sourceElement.page };
|
|
201
|
+
return [2 /*return*/, Promise.resolve(new (returnType || element_1.O3rElement)(selectedElement))];
|
|
233
202
|
});
|
|
234
203
|
});
|
|
235
204
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component-fixture.js","sourceRoot":"","sources":["../../../src/core/playwright/component-fixture.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable new-cap */\nimport { FixtureUsageError } from '../../errors/index';\nimport type { ComponentFixtureProfile } from '../component-fixture';\nimport { withTimeout } from '../helpers';\nimport { O3rElement, O3rElementConstructor, PlaywrightSourceElement } from './element';\nimport { O3rGroup, O3rGroupConstructor } from './group';\n\nexport type { ComponentFixtureProfile, Constructable, FixtureWithCustom } from '../component-fixture';\n\n/**\n * Implementation of the fixture dedicated to Playwright, hence using the webdriver to interact with the dom.\n */\nexport class O3rComponentFixture<V extends O3rElement = O3rElement> implements ComponentFixtureProfile<V> {\n\n /**\n * DOM element linked to the fixture.\n */\n protected rootElement: V;\n\n /**\n * Root element of this fixture.\n * All further queries will be applied to the element tree if any, otherwise they will be applied to the whole DOM.\n * @param rootElement\n */\n constructor(rootElement: V) {\n this.rootElement = rootElement;\n }\n\n /**\n * Throws an exception if the element is undefined.\n * Otherwise returns the element.\n * @param element ElementProfile to test\n * @param timeout specific timeout that will throw when reach\n */\n protected async throwOnUndefinedElement<T extends O3rElement>(element?: T, timeout?: number): Promise<T> {\n if (!element) {\n throw new Error('Element not found in ' + this.constructor.name);\n }\n const count = await withTimeout(element.sourceElement.element.count(), timeout);\n if (!count) {\n throw new Error('Element not found in ' + this.constructor.name);\n }\n return element;\n }\n\n /**\n * Throws an exception if the element is undefined.\n * Otherwise returns the element.\n * @param element ElementProfile to test\n * @param timeout specific timeout that will throw when reach\n */\n protected async throwOnUndefined<T extends O3rElement>(element: Promise<T | undefined>, timeout?: number): Promise<T> {\n return withTimeout(element, timeout)\n .then((el) => el?.sourceElement.element.count())\n .then((count) => (count || 0) > 0)\n .then((isPresent) => {\n if (!isPresent) {\n throw new Error('Element not found in ' + this.constructor.name);\n }\n })\n .then(() => element as Promise<T>);\n }\n\n /**\n * Get the element associated to the selector if present\n * @param selector Selector to access the element\n * @param elementConstructor Constructor that will be used to create the Element, defaults to O3rElement\n * @param options Options supported\n * @param options.index index Select the element associated to the index\n * @param options.shouldThrowIfNotPresent If set to true the function will throw if the element is not present\n * @param options.timeout Duration to wait for the element to be present before it throws\n */\n protected async queryWithOptions(\n selector: string,\n elementConstructor?: O3rElementConstructor<O3rElement>,\n options: {\n index?: number;\n shouldThrowIfNotPresent?: boolean;\n timeout?: number;\n } = {}\n ): Promise<O3rElement | undefined> {\n let element: O3rElement | undefined;\n if (options.index !== undefined) {\n element = await this.queryNth(selector, options.index, elementConstructor as any);\n } else {\n element = await this.query(selector, elementConstructor as any);\n }\n if (options.shouldThrowIfNotPresent) {\n return this.throwOnUndefinedElement<O3rElement>(element, options.timeout);\n }\n return element;\n }\n\n /**\n * Get text from the element associated to the given selector, or undefined if the element is not found or not visible\n * @param selector Selector to access the element\n * @param options Options supported\n * @param options.elementConstructor Constructor that will be used to create the Element, defaults to O3rElement\n * @param options.index index Select the element associated to the index\n * @param options.shouldThrowIfNotPresent If set to true the function will throw if the element is not present\n * @param options.timeout Duration to wait for the element to be present before it throws\n */\n protected async getText<T extends O3rElement>(selector: string, options: {\n elementConstructor?: O3rElementConstructor<T>;\n index?: number;\n shouldThrowIfNotPresent?: boolean;\n timeout?: number;\n } = {}): Promise<string | undefined> {\n const element = await this.queryWithOptions(selector, options.elementConstructor, options);\n if (!element || !await element.isVisible()) {\n return;\n }\n return await element.getText();\n }\n\n /**\n * Check if the element associated to the given selector is visible\n * @param selector Selector to access the element\n * @param options Options supported\n * @param options.elementConstructor Constructor that will be used to create the Element, defaults to O3rElement\n * @param options.index index Select the element associated to the index\n * @param options.shouldThrowIfNotPresent If set to true the function will throw if the element is not present\n * @param options.timeout Duration to wait for the element to be present before it throws\n */\n protected async isVisible<T extends O3rElement>(selector: string, options: {\n elementConstructor?: O3rElementConstructor<T> | undefined;\n index?: number;\n shouldThrowIfNotPresent?: boolean;\n timeout?: number;\n } = {}): Promise<boolean> {\n const element = await this.queryWithOptions(selector, options.elementConstructor, options);\n return !!element && await element.isVisible();\n }\n\n /**\n * Click on the element associated to the given selector if it exists and is visible\n * @param selector Selector to access the element\n * @param options Options supported\n * @param options.elementConstructor Constructor that will be used to create the Element, defaults to O3rElement\n * @param options.index index Select the element associated to the index\n * @param options.shouldThrowIfNotPresent If set to true the function will throw if the element is not present\n * @param options.timeout Duration to wait for the element to be present before it throws\n */\n protected async click<T extends O3rElement>(selector: string, options: {\n elementConstructor?: O3rElementConstructor<T> | undefined;\n index?: number;\n shouldThrowIfNotPresent?: boolean;\n timeout?: number;\n } = {}): Promise<void> {\n const element = await this.queryWithOptions(selector, options.elementConstructor, options);\n if (!!element && await element.isVisible()) {\n await element.click();\n }\n }\n\n /** @inheritdoc */\n public async query(selector: string, returnType?: undefined): Promise<O3rElement | undefined>;\n public async query<T extends O3rElement>(selector: string, returnType: O3rElementConstructor<T>): Promise<T | undefined>;\n public async query<T extends O3rElement>(selector: string, returnType: O3rElementConstructor<T> | undefined): Promise<T | O3rElement | undefined> {\n try {\n const elements = this.rootElement.sourceElement.element.locator(selector);\n const element = elements.first();\n const selectedElement: PlaywrightSourceElement = {element: element, page: this.rootElement.sourceElement.page};\n return Promise.resolve(new (returnType || O3rElement)(selectedElement));\n } catch (err) {\n console.warn(`Failed to query ${selector}`, err);\n return Promise.resolve(undefined);\n }\n }\n\n /** @inheritdoc */\n public async queryNth(selector: string, index: number, returnType?: undefined): Promise<O3rElement | undefined>;\n public async queryNth<T extends O3rElement>(selector: string, index: number, returnType: O3rElementConstructor<T>): Promise<T | undefined>;\n public async queryNth<T extends O3rElement>(selector: string, index: number, returnType: O3rElementConstructor<T> | undefined): Promise<T | O3rElement | undefined> {\n try {\n const elements = this.rootElement.sourceElement.element.locator(selector);\n const element = elements.nth(index);\n const selectedElement: PlaywrightSourceElement = {element: element, page: this.rootElement.sourceElement.page};\n return Promise.resolve(new (returnType || O3rElement)(selectedElement));\n } catch {\n return Promise.resolve(undefined);\n }\n }\n\n /** @inheritdoc */\n public async queryAll(_selector: string, _returnType?: undefined, groupType?: undefined, timeout?: number): Promise<O3rElement[]>;\n public async queryAll<T extends O3rElement>(selector: string, returnType: O3rElementConstructor<T>, groupType?: undefined, timeout?: number): Promise<T[]>;\n public async queryAll<T extends O3rElement, K extends O3rGroup<T>>(selector: string, returnType: O3rElementConstructor<T>, groupType: O3rGroupConstructor<K, T>, timeout?: number): Promise<K>;\n public async queryAll<T extends O3rElement, K extends O3rGroup<T>>(\n selector: string,\n returnType: O3rElementConstructor<T> | undefined,\n groupType: O3rGroupConstructor<K, T> | undefined,\n timeout = 5000\n ): Promise<(T | O3rElement)[] | K> {\n try {\n const sourceElement = this.rootElement.sourceElement.element;\n const pElements = sourceElement.locator(selector);\n // Mandatory because count is not reliable if we don't wait for the list to be attached\n await pElements.first().waitFor({state: 'attached', timeout});\n const pElementsCount = await pElements.count();\n const elements = [];\n for (let i = 0; i < pElementsCount; i++) {\n const selectedElement: PlaywrightSourceElement = {element: pElements.nth(i), page: this.rootElement.sourceElement.page};\n elements.push(returnType ? new returnType(selectedElement) : new O3rElement(selectedElement));\n }\n if (groupType) {\n const group = new groupType(elements as T[]);\n const isValid = await group.isValidGroup();\n\n if (!isValid) {\n throw new FixtureUsageError('invalid group of items');\n }\n return group;\n }\n\n return elements;\n } catch (err) {\n console.warn(`Failed to query all ${selector}`, err);\n return Promise.resolve([]);\n }\n }\n\n /** @inheritdoc */\n public getElement() {\n return this.rootElement;\n }\n\n /** @inheritdoc */\n public getSubComponents(): Promise<{[componentName: string]: ComponentFixtureProfile[]}> {\n return Promise.resolve({block: [this]});\n }\n\n /** @inheritDoc */\n public async queryNotPresent(selector: string): Promise<boolean> {\n const element = this.rootElement.sourceElement.element.locator(selector).first();\n return element.isHidden();\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"component-fixture.js","sourceRoot":"","sources":["../../../src/core/playwright/component-fixture.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable new-cap */\nimport { FixtureUsageError } from '../../errors/index';\nimport type { ComponentFixtureProfile } from '../component-fixture';\nimport { withTimeout } from '../helpers';\nimport { O3rElement, O3rElementConstructor, PlaywrightSourceElement } from './element';\nimport { O3rGroup, O3rGroupConstructor } from './group';\n\nexport type { ComponentFixtureProfile, Constructable, FixtureWithCustom } from '../component-fixture';\n\n/**\n * Implementation of the fixture dedicated to Playwright, hence using the webdriver to interact with the dom.\n */\nexport class O3rComponentFixture<V extends O3rElement = O3rElement> implements ComponentFixtureProfile<V> {\n\n /**\n * DOM element linked to the fixture.\n */\n protected rootElement: V;\n\n /**\n * Root element of this fixture.\n * All further queries will be applied to the element tree if any, otherwise they will be applied to the whole DOM.\n * @param rootElement\n */\n constructor(rootElement: V) {\n this.rootElement = rootElement;\n }\n\n /**\n * Throws an exception if the element is undefined.\n * Otherwise returns the element.\n * @param element ElementProfile to test\n * @param timeout specific timeout that will throw when reach\n */\n protected async throwOnUndefinedElement<T extends O3rElement>(element?: T, timeout?: number): Promise<T> {\n if (!element) {\n throw new Error('Element not found in ' + this.constructor.name);\n }\n await element.sourceElement.element.first().waitFor({state: 'attached', timeout});\n return element;\n }\n\n /**\n * Throws an exception if the element is undefined.\n * Otherwise returns the element.\n * @param element ElementProfile to test\n * @param timeout specific timeout that will throw when reach\n */\n protected async throwOnUndefined<T extends O3rElement>(element: Promise<T>, timeout?: number): Promise<T> {\n return withTimeout(\n element.then(async (el) => {\n await el.sourceElement.element.first().waitFor({state: 'attached'});\n return el;\n }),\n timeout);\n }\n\n /**\n * Get the element associated to the selector if present\n * @param selector Selector to access the element\n * @param elementConstructor Constructor that will be used to create the Element, defaults to O3rElement\n * @param options Options supported\n * @param options.index index Select the element associated to the index\n * @param options.shouldThrowIfNotPresent If set to true the function will throw if the element is not present\n * @param options.timeout Duration to wait for the element to be present before it throws\n */\n protected async queryWithOptions(\n selector: string,\n elementConstructor?: O3rElementConstructor<O3rElement>,\n options: {\n index?: number;\n shouldThrowIfNotPresent?: boolean;\n timeout?: number;\n } = {}\n ): Promise<O3rElement> {\n let element: O3rElement;\n if (options.index !== undefined) {\n element = await this.queryNth(selector, options.index, elementConstructor as any);\n } else {\n element = await this.query(selector, elementConstructor as any);\n }\n if (options.shouldThrowIfNotPresent) {\n return this.throwOnUndefinedElement<O3rElement>(element, options.timeout);\n }\n return element;\n }\n\n /**\n * Get text from the element associated to the given selector, or undefined if the element is not found or not visible\n * @param selector Selector to access the element\n * @param options Options supported\n * @param options.elementConstructor Constructor that will be used to create the Element, defaults to O3rElement\n * @param options.index index Select the element associated to the index\n * @param options.shouldThrowIfNotPresent If set to true the function will throw if the element is not present\n * @param options.timeout Duration to wait for the element to be present before it throws\n */\n protected async getText<T extends O3rElement>(selector: string, options: {\n elementConstructor?: O3rElementConstructor<T>;\n index?: number;\n shouldThrowIfNotPresent?: boolean;\n timeout?: number;\n } = {}): Promise<string | undefined> {\n const element = await this.queryWithOptions(selector, options.elementConstructor, options);\n if (!await element.isVisible()) {\n return;\n }\n return await element.getText();\n }\n\n /**\n * Check if the element associated to the given selector is visible\n * @param selector Selector to access the element\n * @param options Options supported\n * @param options.elementConstructor Constructor that will be used to create the Element, defaults to O3rElement\n * @param options.index index Select the element associated to the index\n * @param options.shouldThrowIfNotPresent If set to true the function will throw if the element is not present\n * @param options.timeout Duration to wait for the element to be present before it throws\n */\n protected async isVisible<T extends O3rElement>(selector: string, options: {\n elementConstructor?: O3rElementConstructor<T> | undefined;\n index?: number;\n shouldThrowIfNotPresent?: boolean;\n timeout?: number;\n } = {}): Promise<boolean> {\n const element = await this.queryWithOptions(selector, options.elementConstructor, options);\n return await element.isVisible();\n }\n\n /**\n * Click on the element associated to the given selector if it exists and is visible\n * @param selector Selector to access the element\n * @param options Options supported\n * @param options.elementConstructor Constructor that will be used to create the Element, defaults to O3rElement\n * @param options.index index Select the element associated to the index\n * @param options.shouldThrowIfNotPresent If set to true the function will throw if the element is not present\n * @param options.timeout Duration to wait for the element to be present before it throws\n */\n protected async click<T extends O3rElement>(selector: string, options: {\n elementConstructor?: O3rElementConstructor<T> | undefined;\n index?: number;\n shouldThrowIfNotPresent?: boolean;\n timeout?: number;\n } = {}): Promise<void> {\n const element = await this.queryWithOptions(selector, options.elementConstructor, options);\n if (await element.isVisible()) {\n await element.click();\n }\n }\n\n /** @inheritdoc */\n public async query(selector: string, returnType?: undefined): Promise<O3rElement>;\n public async query<T extends O3rElement>(selector: string, returnType: O3rElementConstructor<T>): Promise<T>;\n public async query<T extends O3rElement>(selector: string, returnType: O3rElementConstructor<T> | undefined): Promise<T | O3rElement> {\n const elements = this.rootElement.sourceElement.element.locator(selector);\n const element = elements.first();\n const selectedElement: PlaywrightSourceElement = {element: element, page: this.rootElement.sourceElement.page};\n return Promise.resolve(new (returnType || O3rElement)(selectedElement));\n }\n\n /** @inheritdoc */\n public async queryNth(selector: string, index: number, returnType?: undefined): Promise<O3rElement>;\n public async queryNth<T extends O3rElement>(selector: string, index: number, returnType: O3rElementConstructor<T>): Promise<T>;\n public async queryNth<T extends O3rElement>(selector: string, index: number, returnType: O3rElementConstructor<T> | undefined): Promise<T | O3rElement> {\n const elements = this.rootElement.sourceElement.element.locator(selector);\n const element = elements.nth(index);\n const selectedElement: PlaywrightSourceElement = {element: element, page: this.rootElement.sourceElement.page};\n return Promise.resolve(new (returnType || O3rElement)(selectedElement));\n }\n\n /** @inheritdoc */\n public async queryAll(_selector: string, _returnType?: undefined, groupType?: undefined, timeout?: number): Promise<O3rElement[]>;\n public async queryAll<T extends O3rElement>(selector: string, returnType: O3rElementConstructor<T>, groupType?: undefined, timeout?: number): Promise<T[]>;\n public async queryAll<T extends O3rElement, K extends O3rGroup<T>>(selector: string, returnType: O3rElementConstructor<T>, groupType: O3rGroupConstructor<K, T>, timeout?: number): Promise<K>;\n public async queryAll<T extends O3rElement, K extends O3rGroup<T>>(\n selector: string,\n returnType: O3rElementConstructor<T> | undefined,\n groupType: O3rGroupConstructor<K, T> | undefined,\n timeout = 5000\n ): Promise<(T | O3rElement)[] | K> {\n try {\n const sourceElement = this.rootElement.sourceElement.element;\n const pElements = sourceElement.locator(selector);\n // Mandatory because count is not reliable if we don't wait for the list to be attached\n await pElements.first().waitFor({state: 'attached', timeout});\n const pElementsCount = await pElements.count();\n const elements = [];\n for (let i = 0; i < pElementsCount; i++) {\n const selectedElement: PlaywrightSourceElement = {element: pElements.nth(i), page: this.rootElement.sourceElement.page};\n elements.push(returnType ? new returnType(selectedElement) : new O3rElement(selectedElement));\n }\n if (groupType) {\n const group = new groupType(elements as T[]);\n const isValid = await group.isValidGroup();\n\n if (!isValid) {\n throw new FixtureUsageError('invalid group of items');\n }\n return group;\n }\n\n return elements;\n } catch (err) {\n console.warn(`Failed to query all ${selector}`, err);\n return Promise.resolve([]);\n }\n }\n\n /** @inheritdoc */\n public getElement() {\n return this.rootElement;\n }\n\n /** @inheritdoc */\n public getSubComponents(): Promise<{[componentName: string]: ComponentFixtureProfile[]}> {\n return Promise.resolve({block: [this]});\n }\n\n /** @inheritDoc */\n public async queryNotPresent(selector: string): Promise<boolean> {\n const element = this.rootElement.sourceElement.element.locator(selector).first();\n return element.isHidden();\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../../../src/core/playwright/element.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,OAAO,EAAE,IAAI,EAAC,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAC,cAAc,EAAC,MAAM,YAAY,CAAC;AAE1C,OAAO,EAAC,cAAc,EAAC,MAAM,YAAY,CAAC;AAE1C;;;;GAIG;AAEH,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,IAAI,CAAC;CACZ,CAAC;AAEF;;;GAGG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,sBAE7C;AAED;;GAEG;AACH,qBAAa,UAAW,YAAW,cAAc;IAC/C,+BAA+B;IACxB,aAAa,EAAE,uBAAuB,CAAC;gBAElC,aAAa,EAAE,uBAAuB,GAAG,UAAU;IAM/D,kBAAkB;IACX,OAAO;IAId,kBAAkB;IACL,YAAY;IAIzB,kBAAkB;IACX,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAIlD,kBAAkB;IACX,SAAS;IAIhB,kBAAkB;IACL,QAAQ;IAUrB,kBAAkB;IACL,QAAQ,CAAC,KAAK,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../../../src/core/playwright/element.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,OAAO,EAAE,IAAI,EAAC,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAC,cAAc,EAAC,MAAM,YAAY,CAAC;AAE1C,OAAO,EAAC,cAAc,EAAC,MAAM,YAAY,CAAC;AAE1C;;;;GAIG;AAEH,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,IAAI,CAAC;CACZ,CAAC;AAEF;;;GAGG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,sBAE7C;AAED;;GAEG;AACH,qBAAa,UAAW,YAAW,cAAc;IAC/C,+BAA+B;IACxB,aAAa,EAAE,uBAAuB,CAAC;gBAElC,aAAa,EAAE,uBAAuB,GAAG,UAAU;IAM/D,kBAAkB;IACX,OAAO;IAId,kBAAkB;IACL,YAAY;IAIzB,kBAAkB;IACX,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAIlD,kBAAkB;IACX,SAAS;IAIhB,kBAAkB;IACL,QAAQ;IAUrB,kBAAkB;IACL,QAAQ,CAAC,KAAK,EAAE,MAAM;IAMnC,kBAAkB;IACL,UAAU;IAIvB,kBAAkB;IACX,KAAK;IAIZ,kBAAkB;IACX,SAAS;IAIhB,kBAAkB;IACL,YAAY,CAAC,aAAa,EAAE,MAAM;CAIhD;AAED;;GAEG;AACH,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,cAAc,IAAI,KAAK,aAAa,EAAE,uBAAuB,GAAG,UAAU,KAAK,CAAC,CAAC"}
|
|
@@ -72,17 +72,11 @@ var O3rElement = /** @class */ (function () {
|
|
|
72
72
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
73
73
|
return tslib_1.__generator(this, function (_a) {
|
|
74
74
|
switch (_a.label) {
|
|
75
|
-
case 0:
|
|
76
|
-
// Clears the value in the field
|
|
77
|
-
return [4 /*yield*/, this.clearValue()];
|
|
75
|
+
case 0: return [4 /*yield*/, this.sourceElement.element.fill(input)];
|
|
78
76
|
case 1:
|
|
79
|
-
// Clears the value in the field
|
|
80
|
-
_a.sent();
|
|
81
|
-
return [4 /*yield*/, this.sourceElement.element.fill(input)];
|
|
82
|
-
case 2:
|
|
83
77
|
_a.sent();
|
|
84
78
|
return [4 /*yield*/, this.sourceElement.element.press('Tab')];
|
|
85
|
-
case
|
|
79
|
+
case 2:
|
|
86
80
|
_a.sent();
|
|
87
81
|
return [2 /*return*/];
|
|
88
82
|
}
|
|
@@ -92,30 +86,12 @@ var O3rElement = /** @class */ (function () {
|
|
|
92
86
|
/** @inheritdoc */
|
|
93
87
|
O3rElement.prototype.clearValue = function () {
|
|
94
88
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
95
|
-
var currentValue, i;
|
|
96
89
|
return tslib_1.__generator(this, function (_a) {
|
|
97
90
|
switch (_a.label) {
|
|
98
|
-
case 0: return [4 /*yield*/, this.
|
|
91
|
+
case 0: return [4 /*yield*/, this.sourceElement.element.fill('')];
|
|
99
92
|
case 1:
|
|
100
|
-
currentValue = _a.sent();
|
|
101
|
-
if (!(currentValue !== undefined)) return [3 /*break*/, 6];
|
|
102
|
-
i = 0;
|
|
103
|
-
_a.label = 2;
|
|
104
|
-
case 2:
|
|
105
|
-
if (!(i < currentValue.length)) return [3 /*break*/, 6];
|
|
106
|
-
// ensure backspace deletes the value
|
|
107
|
-
return [4 /*yield*/, this.sourceElement.element.press('ArrowRight')];
|
|
108
|
-
case 3:
|
|
109
|
-
// ensure backspace deletes the value
|
|
110
93
|
_a.sent();
|
|
111
|
-
return [
|
|
112
|
-
case 4:
|
|
113
|
-
_a.sent();
|
|
114
|
-
_a.label = 5;
|
|
115
|
-
case 5:
|
|
116
|
-
i++;
|
|
117
|
-
return [3 /*break*/, 2];
|
|
118
|
-
case 6: return [2 /*return*/];
|
|
94
|
+
return [2 /*return*/];
|
|
119
95
|
}
|
|
120
96
|
});
|
|
121
97
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"element.js","sourceRoot":"","sources":["../../../src/core/playwright/element.ts"],"names":[],"mappings":";;;;AAgBA;;;GAGG;AACH,SAAgB,YAAY,CAAC,SAAiB;IAC5C,OAAO,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACzG,CAAC;AAFD,oCAEC;AAED;;GAEG;AACH;IAIE,oBAAY,aAAmD;QAC7D,IAAI,CAAC,aAAa,GAAG,aAAa,YAAY,UAAU;YACtD,CAAC,CAAC,EAAC,OAAO,EAAE,aAAa,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,aAAa,CAAC,aAAa,CAAC,IAAI,EAAC;YACxF,CAAC,CAAC,aAAa,CAAC;IACpB,CAAC;IAED,kBAAkB;IACX,4BAAO,GAAd;QACE,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;IAChD,CAAC;IAED,kBAAkB;IACL,iCAAY,GAAzB;;;;;;wBACS,KAAA,YAAY,CAAA;wBAAC,qBAAM,IAAI,CAAC,OAAO,EAAE,EAAA;4BAAxC,sBAAO,kBAAa,SAAoB,EAAC,EAAC;;;;KAC3C;IAED,kBAAkB;IACX,iCAAY,GAAnB;QACE,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;IAChD,CAAC;IAED,kBAAkB;IACX,8BAAS,GAAhB;QACE,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAC5C,CAAC;IAED,kBAAkB;IACL,6BAAQ,GAArB;;;;;;;wBAEW,qBAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,EAAE,EAAA;4BAApD,sBAAO,SAA6C,EAAC;;;wBAErD,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;wBACtB,qBAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,EAAA;;wBAAzE,gBAAgB,GAAG,SAAsD;wBAC/E,sBAAO,gBAAgB,KAAK,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,EAAC;;;;;KAEnE;IAED,kBAAkB;IACL,6BAAQ,GAArB,UAAsB,KAAa
|
|
1
|
+
{"version":3,"file":"element.js","sourceRoot":"","sources":["../../../src/core/playwright/element.ts"],"names":[],"mappings":";;;;AAgBA;;;GAGG;AACH,SAAgB,YAAY,CAAC,SAAiB;IAC5C,OAAO,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACzG,CAAC;AAFD,oCAEC;AAED;;GAEG;AACH;IAIE,oBAAY,aAAmD;QAC7D,IAAI,CAAC,aAAa,GAAG,aAAa,YAAY,UAAU;YACtD,CAAC,CAAC,EAAC,OAAO,EAAE,aAAa,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,aAAa,CAAC,aAAa,CAAC,IAAI,EAAC;YACxF,CAAC,CAAC,aAAa,CAAC;IACpB,CAAC;IAED,kBAAkB;IACX,4BAAO,GAAd;QACE,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;IAChD,CAAC;IAED,kBAAkB;IACL,iCAAY,GAAzB;;;;;;wBACS,KAAA,YAAY,CAAA;wBAAC,qBAAM,IAAI,CAAC,OAAO,EAAE,EAAA;4BAAxC,sBAAO,kBAAa,SAAoB,EAAC,EAAC;;;;KAC3C;IAED,kBAAkB;IACX,iCAAY,GAAnB;QACE,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;IAChD,CAAC;IAED,kBAAkB;IACX,8BAAS,GAAhB;QACE,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAC5C,CAAC;IAED,kBAAkB;IACL,6BAAQ,GAArB;;;;;;;wBAEW,qBAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,EAAE,EAAA;4BAApD,sBAAO,SAA6C,EAAC;;;wBAErD,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;wBACtB,qBAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,EAAA;;wBAAzE,gBAAgB,GAAG,SAAsD;wBAC/E,sBAAO,gBAAgB,KAAK,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,EAAC;;;;;KAEnE;IAED,kBAAkB;IACL,6BAAQ,GAArB,UAAsB,KAAa;;;;4BACjC,qBAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAA;;wBAA5C,SAA4C,CAAC;wBAE7C,qBAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAA;;wBAA7C,SAA6C,CAAC;;;;;KAC/C;IAED,kBAAkB;IACL,+BAAU,GAAvB;;;;4BACE,qBAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAA;;wBAAzC,SAAyC,CAAC;;;;;KAC3C;IAED,kBAAkB;IACX,0BAAK,GAAZ;QACE,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAC5C,CAAC;IAED,kBAAkB;IACX,8BAAS,GAAhB;QACE,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;IAChD,CAAC;IAED,kBAAkB;IACL,iCAAY,GAAzB,UAA0B,aAAqB;;;;;4BAC3B,qBAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,EAAA;;wBAAxE,SAAS,GAAG,SAA4D;wBAC9E,sBAAO,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAC;;;;KACnD;IACH,iBAAC;AAAD,CAAC,AApED,IAoEC;AApEY,gCAAU","sourcesContent":["import type {Locator, Page} from '@playwright/test';\nimport {ElementProfile} from '../element';\n\nexport {ElementProfile} from '../element';\n\n/**\n * Playwright type for source element\n * @param element is the DOM element\n * @param page is the tab in the browser where the test is run\n */\n\nexport type PlaywrightSourceElement = {\n element: Locator;\n page: Page;\n};\n\n/**\n * Remove text formatting (endline etc.) and return the content.\n * @param innerText\n */\nexport function getPlainText(innerText: string) {\n return innerText ? innerText.replace(/(?:\\r\\n|\\r|\\n)/g, ' ').replace(/\\s\\s+/g, ' ').trim() : undefined;\n}\n\n/**\n * Implementation dedicated to Playwright.\n */\nexport class O3rElement implements ElementProfile {\n /** Playwright sourceElement */\n public sourceElement: PlaywrightSourceElement;\n\n constructor(sourceElement: PlaywrightSourceElement | O3rElement) {\n this.sourceElement = sourceElement instanceof O3rElement\n ? {element: sourceElement.sourceElement.element, page: sourceElement.sourceElement.page}\n : sourceElement;\n }\n\n /** @inheritdoc */\n public getText() {\n return this.sourceElement.element.innerText();\n }\n\n /** @inheritdoc */\n public async getPlainText() {\n return getPlainText(await this.getText());\n }\n\n /** @inheritdoc */\n public getInnerHTML(): Promise<string | undefined> {\n return this.sourceElement.element.innerHTML();\n }\n\n /** @inheritdoc */\n public mouseOver() {\n return this.sourceElement.element.hover();\n }\n\n /** @inheritdoc */\n public async getValue() {\n try {\n return await this.sourceElement.element.inputValue();\n } catch (error) {\n console.warn('Failed to retrieve input value');\n const valueByAttribute = await this.sourceElement.element.getAttribute('value');\n return valueByAttribute !== null ? valueByAttribute : undefined;\n }\n }\n\n /** @inheritdoc */\n public async setValue(input: string) {\n await this.sourceElement.element.fill(input);\n\n await this.sourceElement.element.press('Tab');\n }\n\n /** @inheritdoc */\n public async clearValue() {\n await this.sourceElement.element.fill('');\n }\n\n /** @inheritdoc */\n public click() {\n return this.sourceElement.element.click();\n }\n\n /** @inheritdoc */\n public isVisible() {\n return this.sourceElement.element.isVisible();\n }\n\n /** @inheritdoc */\n public async getAttribute(attributeName: string) {\n const attribute = await this.sourceElement.element.getAttribute(attributeName);\n return attribute !== null ? attribute : undefined;\n }\n}\n\n/**\n * Constructor of a O3rElement\n */\nexport type O3rElementConstructor<T extends ElementProfile> = new (sourceElement: PlaywrightSourceElement | O3rElement) => T;\n"]}
|
|
@@ -3,8 +3,11 @@ import { LocalizationConfiguration, LocalizationModule } from '@o3r/localization
|
|
|
3
3
|
export declare class TranslatePipeMock implements PipeTransform {
|
|
4
4
|
transform(...args: any[]): string | undefined;
|
|
5
5
|
}
|
|
6
|
+
export declare class O3rTranslatePipeMock implements PipeTransform {
|
|
7
|
+
transform(...args: any[]): string | undefined;
|
|
8
|
+
}
|
|
6
9
|
export declare class LocalizationDependencyMocks {
|
|
7
|
-
static forTest(): ModuleWithProviders<LocalizationDependencyMocks>;
|
|
10
|
+
static forTest(pipeWithPrefix?: boolean): ModuleWithProviders<LocalizationDependencyMocks>;
|
|
8
11
|
}
|
|
9
12
|
/** Mock to provide to the MockTranslation module */
|
|
10
13
|
export interface MockTranslations {
|
|
@@ -20,5 +23,5 @@ export interface MockTranslations {
|
|
|
20
23
|
* @param mockPipe Enable Translation pipe mocking
|
|
21
24
|
* @returns List of modules to import in your TestBed
|
|
22
25
|
*/
|
|
23
|
-
export declare function mockTranslationModules(localizationConfiguration?: Partial<LocalizationConfiguration>, translations?: MockTranslations, translationCompilerProvider?: Provider, mockPipe?: boolean): ModuleWithProviders<LocalizationModule>[];
|
|
26
|
+
export declare function mockTranslationModules(localizationConfiguration?: Partial<LocalizationConfiguration>, translations?: MockTranslations, translationCompilerProvider?: Provider, mockPipe?: boolean, pipeWithPrefix?: boolean): ModuleWithProviders<LocalizationModule>[];
|
|
24
27
|
//# sourceMappingURL=localization-mock.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localization-mock.d.ts","sourceRoot":"","sources":["../../src/localization/localization-mock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAkB,aAAa,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE7F,OAAO,EAAE,yBAAyB,EAAE,kBAAkB,EAA6B,MAAM,mBAAmB,CAAC;AAU7G,qBACa,iBAAkB,YAAW,aAAa;IAC9C,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,GAAG,SAAS;CAGrD;AAED,qBAIa,2BAA2B;WACxB,OAAO,
|
|
1
|
+
{"version":3,"file":"localization-mock.d.ts","sourceRoot":"","sources":["../../src/localization/localization-mock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAkB,aAAa,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE7F,OAAO,EAAE,yBAAyB,EAAE,kBAAkB,EAA6B,MAAM,mBAAmB,CAAC;AAU7G,qBACa,iBAAkB,YAAW,aAAa;IAC9C,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,GAAG,SAAS;CAGrD;AAED,qBACa,oBAAqB,YAAW,aAAa;IACjD,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,GAAG,SAAS;CAGrD;AAED,qBAIa,2BAA2B;WACxB,OAAO,CAAC,cAAc,UAAQ,GAAG,mBAAmB,CAAC,2BAA2B,CAAC;CAMhG;AAED,oDAAoD;AACpD,MAAM,WAAW,gBAAgB;IAC/B,CAAC,IAAI,EAAE,MAAM,GAAG;QACd,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;CACH;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,yBAAyB,GAAE,OAAO,CAAC,yBAAyB,CAAoC,EAChG,YAAY,GAAE,gBAAqB,EACnC,2BAA2B,CAAC,EAAE,QAAQ,EACtC,QAAQ,UAAQ,EAChB,cAAc,UAAQ,GACrB,mBAAmB,CAAC,kBAAkB,CAAC,EAAE,CAc3C"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.mockTranslationModules = exports.LocalizationDependencyMocks = exports.TranslatePipeMock = void 0;
|
|
3
|
+
exports.mockTranslationModules = exports.LocalizationDependencyMocks = exports.O3rTranslatePipeMock = exports.TranslatePipeMock = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
var core_1 = require("@angular/core");
|
|
6
6
|
var core_2 = require("@ngx-translate/core");
|
|
@@ -28,21 +28,38 @@ var TranslatePipeMock = /** @class */ (function () {
|
|
|
28
28
|
return TranslatePipeMock;
|
|
29
29
|
}());
|
|
30
30
|
exports.TranslatePipeMock = TranslatePipeMock;
|
|
31
|
+
var O3rTranslatePipeMock = /** @class */ (function () {
|
|
32
|
+
function O3rTranslatePipeMock() {
|
|
33
|
+
}
|
|
34
|
+
O3rTranslatePipeMock.prototype.transform = function () {
|
|
35
|
+
var args = [];
|
|
36
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
37
|
+
args[_i] = arguments[_i];
|
|
38
|
+
}
|
|
39
|
+
return args && args.map(function (arg) { return JSON.parse(arg); }).join(', ');
|
|
40
|
+
};
|
|
41
|
+
O3rTranslatePipeMock = tslib_1.__decorate([
|
|
42
|
+
(0, core_1.Pipe)({ name: 'o3rTranslate' })
|
|
43
|
+
], O3rTranslatePipeMock);
|
|
44
|
+
return O3rTranslatePipeMock;
|
|
45
|
+
}());
|
|
46
|
+
exports.O3rTranslatePipeMock = O3rTranslatePipeMock;
|
|
31
47
|
var LocalizationDependencyMocks = /** @class */ (function () {
|
|
32
48
|
function LocalizationDependencyMocks() {
|
|
33
49
|
}
|
|
34
50
|
LocalizationDependencyMocks_1 = LocalizationDependencyMocks;
|
|
35
|
-
LocalizationDependencyMocks.forTest = function () {
|
|
51
|
+
LocalizationDependencyMocks.forTest = function (pipeWithPrefix) {
|
|
52
|
+
if (pipeWithPrefix === void 0) { pipeWithPrefix = false; }
|
|
36
53
|
return {
|
|
37
54
|
ngModule: LocalizationDependencyMocks_1,
|
|
38
|
-
providers: [{ provide: localization_1.LocalizationTranslatePipe, useClass: TranslatePipeMock }]
|
|
55
|
+
providers: [{ provide: localization_1.LocalizationTranslatePipe, useClass: pipeWithPrefix ? O3rTranslatePipeMock : TranslatePipeMock }]
|
|
39
56
|
};
|
|
40
57
|
};
|
|
41
58
|
var LocalizationDependencyMocks_1;
|
|
42
59
|
LocalizationDependencyMocks = LocalizationDependencyMocks_1 = tslib_1.__decorate([
|
|
43
60
|
(0, core_1.NgModule)({
|
|
44
|
-
declarations: [TranslatePipeMock],
|
|
45
|
-
exports: [TranslatePipeMock]
|
|
61
|
+
declarations: [TranslatePipeMock, O3rTranslatePipeMock],
|
|
62
|
+
exports: [TranslatePipeMock, O3rTranslatePipeMock]
|
|
46
63
|
})
|
|
47
64
|
], LocalizationDependencyMocks);
|
|
48
65
|
return LocalizationDependencyMocks;
|
|
@@ -56,10 +73,11 @@ exports.LocalizationDependencyMocks = LocalizationDependencyMocks;
|
|
|
56
73
|
* @param mockPipe Enable Translation pipe mocking
|
|
57
74
|
* @returns List of modules to import in your TestBed
|
|
58
75
|
*/
|
|
59
|
-
function mockTranslationModules(localizationConfiguration, translations, translationCompilerProvider, mockPipe) {
|
|
76
|
+
function mockTranslationModules(localizationConfiguration, translations, translationCompilerProvider, mockPipe, pipeWithPrefix) {
|
|
60
77
|
if (localizationConfiguration === void 0) { localizationConfiguration = defaultLocalizationConfiguration; }
|
|
61
78
|
if (translations === void 0) { translations = {}; }
|
|
62
79
|
if (mockPipe === void 0) { mockPipe = false; }
|
|
80
|
+
if (pipeWithPrefix === void 0) { pipeWithPrefix = false; }
|
|
63
81
|
return tslib_1.__spreadArray([
|
|
64
82
|
localization_1.LocalizationModule.forRoot(function () { return localizationConfiguration; }),
|
|
65
83
|
core_2.TranslateModule.forRoot({
|
|
@@ -71,7 +89,7 @@ function mockTranslationModules(localizationConfiguration, translations, transla
|
|
|
71
89
|
},
|
|
72
90
|
compiler: translationCompilerProvider
|
|
73
91
|
})
|
|
74
|
-
], (mockPipe ? [LocalizationDependencyMocks.forTest()] : []), true);
|
|
92
|
+
], (mockPipe ? [LocalizationDependencyMocks.forTest(pipeWithPrefix)] : []), true);
|
|
75
93
|
}
|
|
76
94
|
exports.mockTranslationModules = mockTranslationModules;
|
|
77
95
|
//# sourceMappingURL=localization-mock.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localization-mock.js","sourceRoot":"","sources":["../../src/localization/localization-mock.ts"],"names":[],"mappings":";;;;AAAA,sCAA6F;AAC7F,4CAAuE;AACvE,kDAA6G;AAC7G,6BAA0B;AAE1B,IAAM,gCAAgC,GAAuC;IAC3E,gBAAgB,EAAE,CAAC,IAAI,CAAC;IACxB,QAAQ,EAAE,IAAI;IACd,WAAW,EAAE,EAAE;IACf,gBAAgB,EAAE,IAAI;CACvB,CAAC;AAGF;IAAA;IAIA,CAAC;IAHQ,qCAAS,GAAhB;QAAiB,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,yBAAc;;QAC7B,OAAO,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAf,CAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IAHU,iBAAiB;QAD7B,IAAA,WAAI,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;OACf,iBAAiB,CAI7B;IAAD,wBAAC;CAAA,AAJD,IAIC;AAJY,8CAAiB;
|
|
1
|
+
{"version":3,"file":"localization-mock.js","sourceRoot":"","sources":["../../src/localization/localization-mock.ts"],"names":[],"mappings":";;;;AAAA,sCAA6F;AAC7F,4CAAuE;AACvE,kDAA6G;AAC7G,6BAA0B;AAE1B,IAAM,gCAAgC,GAAuC;IAC3E,gBAAgB,EAAE,CAAC,IAAI,CAAC;IACxB,QAAQ,EAAE,IAAI;IACd,WAAW,EAAE,EAAE;IACf,gBAAgB,EAAE,IAAI;CACvB,CAAC;AAGF;IAAA;IAIA,CAAC;IAHQ,qCAAS,GAAhB;QAAiB,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,yBAAc;;QAC7B,OAAO,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAf,CAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IAHU,iBAAiB;QAD7B,IAAA,WAAI,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;OACf,iBAAiB,CAI7B;IAAD,wBAAC;CAAA,AAJD,IAIC;AAJY,8CAAiB;AAO9B;IAAA;IAIA,CAAC;IAHQ,wCAAS,GAAhB;QAAiB,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,yBAAc;;QAC7B,OAAO,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAf,CAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IAHU,oBAAoB;QADhC,IAAA,WAAI,EAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;OAClB,oBAAoB,CAIhC;IAAD,2BAAC;CAAA,AAJD,IAIC;AAJY,oDAAoB;AAUjC;IAAA;IAOA,CAAC;oCAPY,2BAA2B;IACxB,mCAAO,GAArB,UAAsB,cAAsB;QAAtB,+BAAA,EAAA,sBAAsB;QAC1C,OAAO;YACL,QAAQ,EAAE,6BAA2B;YACrC,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,wCAAyB,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;SACzH,CAAC;IACJ,CAAC;;IANU,2BAA2B;QAJvC,IAAA,eAAQ,EAAC;YACR,YAAY,EAAE,CAAC,iBAAiB,EAAE,oBAAoB,CAAC;YACvD,OAAO,EAAE,CAAC,iBAAiB,EAAE,oBAAoB,CAAC;SACnD,CAAC;OACW,2BAA2B,CAOvC;IAAD,kCAAC;CAAA,AAPD,IAOC;AAPY,kEAA2B;AAgBxC;;;;;;;GAOG;AACH,SAAgB,sBAAsB,CACpC,yBAAgG,EAChG,YAAmC,EACnC,2BAAsC,EACtC,QAAgB,EAChB,cAAsB;IAJtB,0CAAA,EAAA,4DAAgG;IAChG,6BAAA,EAAA,iBAAmC;IAEnC,yBAAA,EAAA,gBAAgB;IAChB,+BAAA,EAAA,sBAAsB;IAEtB;QACE,iCAAkB,CAAC,OAAO,CAAC,cAAM,OAAA,yBAAyB,EAAzB,CAAyB,CAAC;QAC3D,sBAAe,CAAC,OAAO,CAAC;YACtB,MAAM,EAAE;gBACN,OAAO,EAAE,sBAAe;gBACxB,QAAQ,EAAE;oBACR,cAAc,EAAE,UAAC,IAAY,IAAK,OAAA,IAAA,SAAE,EAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAtB,CAAsB;iBACzD;aACF;YACD,QAAQ,EAAE,2BAA2B;SACtC,CAAC;OACC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAC1E;AACJ,CAAC;AApBD,wDAoBC","sourcesContent":["import { ModuleWithProviders, NgModule, Pipe, PipeTransform, Provider } from '@angular/core';\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\nimport { LocalizationConfiguration, LocalizationModule, LocalizationTranslatePipe } from '@o3r/localization';\nimport { of } from 'rxjs';\n\nconst defaultLocalizationConfiguration: Partial<LocalizationConfiguration> = {\n supportedLocales: ['en'],\n language: 'en',\n endPointUrl: '',\n fallbackLanguage: 'en'\n};\n\n@Pipe({ name: 'translate' })\nexport class TranslatePipeMock implements PipeTransform {\n public transform(...args: any[]): string | undefined {\n return args && args.map((arg) => JSON.parse(arg)).join(', ');\n }\n}\n\n@Pipe({ name: 'o3rTranslate' })\nexport class O3rTranslatePipeMock implements PipeTransform {\n public transform(...args: any[]): string | undefined {\n return args && args.map((arg) => JSON.parse(arg)).join(', ');\n }\n}\n\n@NgModule({\n declarations: [TranslatePipeMock, O3rTranslatePipeMock],\n exports: [TranslatePipeMock, O3rTranslatePipeMock]\n})\nexport class LocalizationDependencyMocks {\n public static forTest(pipeWithPrefix = false): ModuleWithProviders<LocalizationDependencyMocks> {\n return {\n ngModule: LocalizationDependencyMocks,\n providers: [{ provide: LocalizationTranslatePipe, useClass: pipeWithPrefix ? O3rTranslatePipeMock : TranslatePipeMock }]\n };\n }\n}\n\n/** Mock to provide to the MockTranslation module */\nexport interface MockTranslations {\n [lang: string]: {\n [key: string]: any;\n };\n}\n\n/**\n * Function to get the list of modules required to test component using Localization module\n * @param localizationConfiguration Localization configuration\n * @param translations Translations to use\n * @param translationCompilerProvider\n * @param mockPipe Enable Translation pipe mocking\n * @returns List of modules to import in your TestBed\n */\nexport function mockTranslationModules(\n localizationConfiguration: Partial<LocalizationConfiguration> = defaultLocalizationConfiguration,\n translations: MockTranslations = {},\n translationCompilerProvider?: Provider,\n mockPipe = false,\n pipeWithPrefix = false\n): ModuleWithProviders<LocalizationModule>[] {\n return [\n LocalizationModule.forRoot(() => localizationConfiguration),\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useValue: {\n getTranslation: (lang: string) => of(translations[lang])\n }\n },\n compiler: translationCompilerProvider\n }),\n ...(mockPipe ? [LocalizationDependencyMocks.forTest(pipeWithPrefix)] : [])\n ];\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@o3r/testing",
|
|
3
|
-
"version": "10.0.0-prerelease.
|
|
3
|
+
"version": "10.0.0-prerelease.90",
|
|
4
|
+
"publishConfig": {
|
|
5
|
+
"access": "public"
|
|
6
|
+
},
|
|
4
7
|
"description": "The module provides testing (e2e, unit test) utilities to help you build your own E2E pipeline integrating visual testing.",
|
|
5
8
|
"keywords": [
|
|
6
9
|
"testing",
|
|
@@ -94,19 +97,20 @@
|
|
|
94
97
|
}
|
|
95
98
|
},
|
|
96
99
|
"peerDependencies": {
|
|
97
|
-
"@amadeus-it-group/kassette": "^1.
|
|
98
|
-
"@angular-devkit/schematics": "~17.
|
|
99
|
-
"@angular/
|
|
100
|
-
"@angular/
|
|
101
|
-
"@angular/
|
|
102
|
-
"@angular/
|
|
100
|
+
"@amadeus-it-group/kassette": "^1.7.0",
|
|
101
|
+
"@angular-devkit/schematics": "~17.2.0",
|
|
102
|
+
"@angular/animations": "~17.2.0",
|
|
103
|
+
"@angular/common": "~17.2.0",
|
|
104
|
+
"@angular/core": "~17.2.0",
|
|
105
|
+
"@angular/forms": "~17.2.0",
|
|
106
|
+
"@angular/platform-browser": "~17.2.0",
|
|
103
107
|
"@ngrx/store": "~17.1.0",
|
|
104
108
|
"@ngx-translate/core": "~15.0.0",
|
|
105
|
-
"@o3r/core": "^10.0.0-prerelease.
|
|
106
|
-
"@o3r/localization": "^10.0.0-prerelease.
|
|
107
|
-
"@o3r/schematics": "^10.0.0-prerelease.
|
|
109
|
+
"@o3r/core": "^10.0.0-prerelease.90",
|
|
110
|
+
"@o3r/localization": "^10.0.0-prerelease.90",
|
|
111
|
+
"@o3r/schematics": "^10.0.0-prerelease.90",
|
|
108
112
|
"@playwright/test": "~1.41.0",
|
|
109
|
-
"@schematics/angular": "~17.
|
|
113
|
+
"@schematics/angular": "~17.2.0",
|
|
110
114
|
"pixelmatch": "^5.2.1",
|
|
111
115
|
"pngjs": "^7.0.0",
|
|
112
116
|
"protractor": "^7.0.0",
|
|
@@ -153,60 +157,61 @@
|
|
|
153
157
|
}
|
|
154
158
|
},
|
|
155
159
|
"dependencies": {
|
|
156
|
-
"esbuild": "~0.
|
|
160
|
+
"esbuild": "~0.20.0",
|
|
157
161
|
"module-from-string": "^3.2.0",
|
|
158
162
|
"tslib": "^2.5.3"
|
|
159
163
|
},
|
|
160
164
|
"devDependencies": {
|
|
161
|
-
"@amadeus-it-group/kassette": "^1.
|
|
162
|
-
"@angular-devkit/build-angular": "~17.0
|
|
163
|
-
"@angular-devkit/core": "~17.0
|
|
164
|
-
"@angular-devkit/schematics": "~17.0
|
|
165
|
+
"@amadeus-it-group/kassette": "^1.7.0",
|
|
166
|
+
"@angular-devkit/build-angular": "~17.2.0",
|
|
167
|
+
"@angular-devkit/core": "~17.2.0",
|
|
168
|
+
"@angular-devkit/schematics": "~17.2.0",
|
|
165
169
|
"@angular-eslint/eslint-plugin": "~17.2.0",
|
|
166
|
-
"@angular/cli": "~17.0
|
|
167
|
-
"@angular/common": "~17.0
|
|
168
|
-
"@angular/compiler": "~17.0
|
|
169
|
-
"@angular/compiler-cli": "~17.0
|
|
170
|
-
"@angular/core": "~17.0
|
|
171
|
-
"@angular/forms": "~17.0
|
|
172
|
-
"@angular/platform-browser": "~17.0
|
|
173
|
-
"@angular/platform-browser-dynamic": "~17.0
|
|
170
|
+
"@angular/cli": "~17.2.0",
|
|
171
|
+
"@angular/common": "~17.2.0",
|
|
172
|
+
"@angular/compiler": "~17.2.0",
|
|
173
|
+
"@angular/compiler-cli": "~17.2.0",
|
|
174
|
+
"@angular/core": "~17.2.0",
|
|
175
|
+
"@angular/forms": "~17.2.0",
|
|
176
|
+
"@angular/platform-browser": "~17.2.0",
|
|
177
|
+
"@angular/platform-browser-dynamic": "~17.2.0",
|
|
174
178
|
"@babel/core": "~7.23.0",
|
|
175
179
|
"@babel/preset-typescript": "~7.23.0",
|
|
176
180
|
"@compodoc/compodoc": "^1.1.19",
|
|
177
181
|
"@ngrx/store": "~17.1.0",
|
|
178
182
|
"@ngx-translate/core": "~15.0.0",
|
|
179
|
-
"@nx/eslint-plugin": "~
|
|
180
|
-
"@nx/jest": "~
|
|
181
|
-
"@o3r/build-helpers": "^10.0.0-prerelease.
|
|
182
|
-
"@o3r/core": "^10.0.0-prerelease.
|
|
183
|
-
"@o3r/eslint-plugin": "^10.0.0-prerelease.
|
|
184
|
-
"@o3r/localization": "^10.0.0-prerelease.
|
|
185
|
-
"@o3r/schematics": "^10.0.0-prerelease.
|
|
186
|
-
"@o3r/test-helpers": "^10.0.0-prerelease.
|
|
183
|
+
"@nx/eslint-plugin": "~18.0.2",
|
|
184
|
+
"@nx/jest": "~18.0.2",
|
|
185
|
+
"@o3r/build-helpers": "^10.0.0-prerelease.90",
|
|
186
|
+
"@o3r/core": "^10.0.0-prerelease.90",
|
|
187
|
+
"@o3r/eslint-plugin": "^10.0.0-prerelease.90",
|
|
188
|
+
"@o3r/localization": "^10.0.0-prerelease.90",
|
|
189
|
+
"@o3r/schematics": "^10.0.0-prerelease.90",
|
|
190
|
+
"@o3r/test-helpers": "^10.0.0-prerelease.90",
|
|
187
191
|
"@playwright/test": "~1.41.0",
|
|
188
|
-
"@schematics/angular": "~17.0
|
|
192
|
+
"@schematics/angular": "~17.2.0",
|
|
193
|
+
"@stylistic/eslint-plugin-ts": "^1.5.4",
|
|
189
194
|
"@types/jest": "~29.5.2",
|
|
190
195
|
"@types/node": "^20.0.0",
|
|
191
196
|
"@types/pixelmatch": "^5.2.3",
|
|
192
197
|
"@types/pngjs": "^6.0.0",
|
|
193
|
-
"@typescript-eslint/eslint-plugin": "^
|
|
194
|
-
"@typescript-eslint/parser": "^
|
|
198
|
+
"@typescript-eslint/eslint-plugin": "^7.0.1",
|
|
199
|
+
"@typescript-eslint/parser": "^7.0.1",
|
|
195
200
|
"concurrently": "^8.0.0",
|
|
196
201
|
"cpy-cli": "^5.0.0",
|
|
197
202
|
"eslint": "^8.42.0",
|
|
198
203
|
"eslint-import-resolver-node": "^0.3.4",
|
|
199
|
-
"eslint-plugin-jest": "~27.
|
|
200
|
-
"eslint-plugin-jsdoc": "~48.
|
|
204
|
+
"eslint-plugin-jest": "~27.8.0",
|
|
205
|
+
"eslint-plugin-jsdoc": "~48.1.0",
|
|
201
206
|
"eslint-plugin-prefer-arrow": "~1.2.3",
|
|
202
|
-
"eslint-plugin-unicorn": "^
|
|
207
|
+
"eslint-plugin-unicorn": "^51.0.0",
|
|
203
208
|
"isomorphic-fetch": "~3.0.0",
|
|
204
209
|
"jest": "~29.7.0",
|
|
205
210
|
"jest-environment-jsdom": "~29.7.0",
|
|
206
211
|
"jest-junit": "~16.0.0",
|
|
207
212
|
"jest-preset-angular": "~14.0.0",
|
|
208
213
|
"jsonc-eslint-parser": "~2.4.0",
|
|
209
|
-
"nx": "~
|
|
214
|
+
"nx": "~18.0.2",
|
|
210
215
|
"pid-from-port": "^1.1.3",
|
|
211
216
|
"pixelmatch": "^5.2.1",
|
|
212
217
|
"pngjs": "^7.0.0",
|
|
@@ -215,7 +220,8 @@
|
|
|
215
220
|
"semver": "^7.5.2",
|
|
216
221
|
"temporal-polyfill": "^0.2.0",
|
|
217
222
|
"ts-jest": "~29.1.1",
|
|
218
|
-
"
|
|
223
|
+
"ts-node": "~10.9.1",
|
|
224
|
+
"type-fest": "^4.10.2",
|
|
219
225
|
"typescript": "~5.2.2",
|
|
220
226
|
"zone.js": "~0.14.2"
|
|
221
227
|
},
|
|
@@ -2,8 +2,7 @@ import { Rule } from '@angular-devkit/schematics';
|
|
|
2
2
|
import { NgAddFunctionsToFixtureSchematicsSchema } from './schema';
|
|
3
3
|
/**
|
|
4
4
|
* Generate fixture
|
|
5
|
-
*
|
|
6
5
|
* @param options options to generate a fixture
|
|
7
6
|
*/
|
|
8
|
-
export declare
|
|
7
|
+
export declare const ngAddFunctionsToFixture: (options: NgAddFunctionsToFixtureSchematicsSchema) => Rule;
|
|
9
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/add-functions-to-fixture/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,IAAI,EAAQ,MAAM,4BAA4B,CAAC;AAKrE,OAAO,EAAE,uCAAuC,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/add-functions-to-fixture/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,IAAI,EAAQ,MAAM,4BAA4B,CAAC;AAKrE,OAAO,EAAE,uCAAuC,EAAE,MAAM,UAAU,CAAC;AA+DnE;;;GAGG;AACH,eAAO,MAAM,uBAAuB,4DAAmE,CAAC"}
|
|
@@ -8,10 +8,9 @@ const helpers_1 = require("./helpers");
|
|
|
8
8
|
const models_1 = require("./models");
|
|
9
9
|
/**
|
|
10
10
|
* Generate fixture
|
|
11
|
-
*
|
|
12
11
|
* @param options options to generate a fixture
|
|
13
12
|
*/
|
|
14
|
-
function
|
|
13
|
+
function ngAddFunctionsToFixtureFn(options) {
|
|
15
14
|
return (0, schematics_1.chain)([
|
|
16
15
|
(tree) => {
|
|
17
16
|
const { path, methods, selector } = options;
|
|
@@ -54,5 +53,9 @@ function ngAddFunctionsToFixture(options) {
|
|
|
54
53
|
options.skipLinter ? (0, schematics_1.noop)() : (0, schematics_2.applyEsLintFix)()
|
|
55
54
|
]);
|
|
56
55
|
}
|
|
57
|
-
|
|
56
|
+
/**
|
|
57
|
+
* Generate fixture
|
|
58
|
+
* @param options options to generate a fixture
|
|
59
|
+
*/
|
|
60
|
+
exports.ngAddFunctionsToFixture = (0, schematics_2.createSchematicWithMetricsIfInstalled)(ngAddFunctionsToFixtureFn);
|
|
58
61
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/add-functions-to-fixture/index.ts"],"names":[],"mappings":";;;AAAA,2DAAqE;AACrE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/add-functions-to-fixture/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,8 +2,12 @@ import { Rule } from '@angular-devkit/schematics';
|
|
|
2
2
|
import type { NgAddFixtureSchematicsSchema } from './schema';
|
|
3
3
|
/**
|
|
4
4
|
* Add fixture to an existing component
|
|
5
|
-
*
|
|
6
5
|
* @param options
|
|
7
6
|
*/
|
|
8
|
-
export declare function
|
|
7
|
+
export declare function ngAddFixtureFn(options: NgAddFixtureSchematicsSchema): Rule;
|
|
8
|
+
/**
|
|
9
|
+
* Add fixture to an existing component
|
|
10
|
+
* @param options
|
|
11
|
+
*/
|
|
12
|
+
export declare const ngAddFixture: (options: NgAddFixtureSchematicsSchema) => Rule;
|
|
9
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/fixture-to-component/index.ts"],"names":[],"mappings":"AAAA,OAAO,EASL,IAAI,EAKL,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/fixture-to-component/index.ts"],"names":[],"mappings":"AAAA,OAAO,EASL,IAAI,EAKL,MAAM,4BAA4B,CAAC;AAapC,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC;AAW7D;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,4BAA4B,GAAG,IAAI,CAkG1E;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,iDAAwD,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ngAddFixture = void 0;
|
|
3
|
+
exports.ngAddFixture = exports.ngAddFixtureFn = void 0;
|
|
4
4
|
const schematics_1 = require("@angular-devkit/schematics");
|
|
5
5
|
const schematics_2 = require("@o3r/schematics");
|
|
6
6
|
const change_1 = require("@schematics/angular/utility/change");
|
|
@@ -16,10 +16,9 @@ const checkFixture = (componentPath, tree, baseFileName) => {
|
|
|
16
16
|
};
|
|
17
17
|
/**
|
|
18
18
|
* Add fixture to an existing component
|
|
19
|
-
*
|
|
20
19
|
* @param options
|
|
21
20
|
*/
|
|
22
|
-
function
|
|
21
|
+
function ngAddFixtureFn(options) {
|
|
23
22
|
return async (tree, context) => {
|
|
24
23
|
try {
|
|
25
24
|
const baseFileName = (0, node_path_1.basename)(options.path, '.component.ts');
|
|
@@ -81,7 +80,7 @@ function ngAddFixture(options) {
|
|
|
81
80
|
(0, schematics_1.externalSchematic)('@o3r/core', 'convert-component', {
|
|
82
81
|
path: options.path
|
|
83
82
|
}),
|
|
84
|
-
|
|
83
|
+
ngAddFixtureFn(options)
|
|
85
84
|
]);
|
|
86
85
|
}
|
|
87
86
|
}
|
|
@@ -89,5 +88,10 @@ function ngAddFixture(options) {
|
|
|
89
88
|
}
|
|
90
89
|
};
|
|
91
90
|
}
|
|
92
|
-
exports.
|
|
91
|
+
exports.ngAddFixtureFn = ngAddFixtureFn;
|
|
92
|
+
/**
|
|
93
|
+
* Add fixture to an existing component
|
|
94
|
+
* @param options
|
|
95
|
+
*/
|
|
96
|
+
exports.ngAddFixture = (0, schematics_2.createSchematicWithMetricsIfInstalled)(ngAddFixtureFn);
|
|
93
97
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/fixture-to-component/index.ts"],"names":[],"mappings":";;;AAAA,2DAcoC;AACpC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/fixture-to-component/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Rule } from '@angular-devkit/schematics';
|
|
2
|
-
import { NgAddSchematicsSchema } from '../../schematics/ng-add/schema';
|
|
2
|
+
import type { NgAddSchematicsSchema } from '../../schematics/ng-add/schema';
|
|
3
3
|
/**
|
|
4
4
|
* Add Otter testing to an Angular Project
|
|
5
5
|
* @param options
|
|
6
6
|
*/
|
|
7
|
-
export declare
|
|
7
|
+
export declare const ngAdd: (options: NgAddSchematicsSchema) => Rule;
|
|
8
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/ng-add/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2E,IAAI,EAAyC,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/ng-add/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2E,IAAI,EAAyC,MAAM,4BAA4B,CAAC;AAkBlK,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAyI5E;;;GAGG;AACH,eAAO,MAAM,KAAK,0CAAiD,CAAC"}
|
|
@@ -22,7 +22,7 @@ function canResolvePlaywright() {
|
|
|
22
22
|
* Add Otter testing to an Angular Project
|
|
23
23
|
* @param options
|
|
24
24
|
*/
|
|
25
|
-
function
|
|
25
|
+
function ngAddFn(options) {
|
|
26
26
|
return async (tree, context) => {
|
|
27
27
|
try {
|
|
28
28
|
const testPackageJsonPath = path.resolve(__dirname, '..', '..', 'package.json');
|
|
@@ -130,5 +130,9 @@ function ngAdd(options) {
|
|
|
130
130
|
}
|
|
131
131
|
};
|
|
132
132
|
}
|
|
133
|
-
|
|
133
|
+
/**
|
|
134
|
+
* Add Otter testing to an Angular Project
|
|
135
|
+
* @param options
|
|
136
|
+
*/
|
|
137
|
+
exports.ngAdd = (0, schematics_2.createSchematicWithMetricsIfInstalled)(ngAddFn);
|
|
134
138
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/ng-add/index.ts"],"names":[],"mappings":";;;AAAA,2DAAkK;AAClK,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/ng-add/index.ts"],"names":[],"mappings":"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"}
|
package/schematics/ng-add/playwright/templates/e2e-playwright/playwright-config.sanity.ts.template
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { defineConfig } from '@playwright/test';
|
|
2
2
|
import * as path from 'node:path';
|
|
3
3
|
|
|
4
4
|
import {default as defaultConfig} from './playwright-config';
|
|
5
5
|
|
|
6
|
-
const config
|
|
6
|
+
const config = defineConfig({
|
|
7
7
|
...defaultConfig,
|
|
8
8
|
testDir: path.join(__dirname, 'sanity'),
|
|
9
9
|
testMatch: /.*\.e2e\.ts$/
|
|
10
|
-
};
|
|
10
|
+
});
|
|
11
11
|
|
|
12
12
|
export default config;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { adjustPath } from '@o3r/testing/tools/path-replacement';
|
|
2
|
-
import
|
|
2
|
+
import { defineConfig } from '@playwright/test';
|
|
3
3
|
import * as path from 'node:path';
|
|
4
4
|
|
|
5
5
|
adjustPath('playwright');
|
|
@@ -8,7 +8,7 @@ const FIVE_MINUTES = 1_000 * 60 * 5;
|
|
|
8
8
|
|
|
9
9
|
const reportsFolder = path.join(__dirname, '..', 'playwright-reports');
|
|
10
10
|
|
|
11
|
-
const config
|
|
11
|
+
const config = defineConfig({
|
|
12
12
|
testDir: path.join(__dirname, '..', 'e2e-playwright'),
|
|
13
13
|
testMatch: /.*\.e2e-playwright-spec.ts$/,
|
|
14
14
|
reporter: [
|
|
@@ -29,6 +29,6 @@ const config: PlaywrightTestConfig = {
|
|
|
29
29
|
{name: 'Webkit', use: {browserName: 'webkit'}},
|
|
30
30
|
{name: 'Firefox', use: {browserName: 'firefox'}}
|
|
31
31
|
]
|
|
32
|
-
};
|
|
32
|
+
});
|
|
33
33
|
|
|
34
34
|
export default config;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
const
|
|
1
|
+
const getJestProjectConfig = require('<%= rootRelativePath %>/jest.config.ut').getJestProjectConfig;
|
|
2
2
|
|
|
3
3
|
/** @type {import('ts-jest/dist/types').JestConfigWithTsJest} */
|
|
4
4
|
module.exports = {
|
|
5
|
-
...
|
|
5
|
+
...getJestProjectConfig(__dirname, <%= isAngularSetup %>),
|
|
6
6
|
displayName: require('./package.json').name,
|
|
7
7
|
testPathIgnorePatterns: [
|
|
8
8
|
'<rootDir>/dist',
|
|
@@ -13,7 +13,7 @@ globalThis.ngJest = {
|
|
|
13
13
|
* @param isAngularSetup {boolean}
|
|
14
14
|
* @returns {import('ts-jest/dist/types').JestConfigWithTsJest}
|
|
15
15
|
*/
|
|
16
|
-
module.exports.
|
|
16
|
+
module.exports.getJestProjectConfig = (rootDir, isAngularSetup) => {
|
|
17
17
|
const relativePath = relative(rootDir, '.');
|
|
18
18
|
const moduleNameMapper = Object.entries(pathsToModuleNameMapper(compilerOptions.paths)).reduce((acc, [moduleName, path]) => {
|
|
19
19
|
acc[moduleName] = `<rootDir>/${relativePath}/${path}`;
|
|
@@ -31,11 +31,6 @@ module.exports.getJestConfig = (rootDir, isAngularSetup) => {
|
|
|
31
31
|
'<rootDir>/.*/templates/.*',
|
|
32
32
|
'\\.it\\.spec\\.ts$'
|
|
33
33
|
],
|
|
34
|
-
reporters: [
|
|
35
|
-
'default',
|
|
36
|
-
['jest-junit', {outputDirectory: '<rootDir>/dist-test', outputName: 'ut-report.xml'}],
|
|
37
|
-
'github-actions'
|
|
38
|
-
],
|
|
39
34
|
fakeTimers: {
|
|
40
35
|
enableGlobally: true
|
|
41
36
|
},
|
|
@@ -70,3 +65,13 @@ module.exports.getJestConfig = (rootDir, isAngularSetup) => {
|
|
|
70
65
|
} : {}
|
|
71
66
|
};
|
|
72
67
|
};
|
|
68
|
+
|
|
69
|
+
module.exports.getJestGlobalConfig = () => {
|
|
70
|
+
return {
|
|
71
|
+
reporters: [
|
|
72
|
+
'default',
|
|
73
|
+
['jest-junit', {outputDirectory: '<rootDir>/dist-test', outputName: 'ut-report.xml'}],
|
|
74
|
+
'github-actions'
|
|
75
|
+
],
|
|
76
|
+
}
|
|
77
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../schematics/ng-update/v9-0/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,IAAI,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../schematics/ng-update/v9-0/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAoBzD;;GAEG;AACH,eAAO,MAAM,MAAM,4BAAkD,CAAC"}
|
|
@@ -2,12 +2,13 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.update = void 0;
|
|
4
4
|
const schematics_1 = require("@angular-devkit/schematics");
|
|
5
|
+
const schematics_2 = require("@o3r/schematics");
|
|
5
6
|
const throw_on_undefined_1 = require("./throw-on-undefined/throw-on-undefined");
|
|
6
7
|
const localization_imports_1 = require("./localization-imports/localization-imports");
|
|
7
8
|
/**
|
|
8
9
|
* Default 9.0.0 update function
|
|
9
10
|
*/
|
|
10
|
-
function
|
|
11
|
+
function updateFn() {
|
|
11
12
|
return (tree, context) => {
|
|
12
13
|
const updateRules = [
|
|
13
14
|
(0, throw_on_undefined_1.updateThrowOnUndefinedCalls)(),
|
|
@@ -16,5 +17,8 @@ function update() {
|
|
|
16
17
|
return (0, schematics_1.chain)(updateRules)(tree, context);
|
|
17
18
|
};
|
|
18
19
|
}
|
|
19
|
-
|
|
20
|
+
/**
|
|
21
|
+
* Default 9.0.0 update function
|
|
22
|
+
*/
|
|
23
|
+
exports.update = (0, schematics_2.createSchematicWithMetricsIfInstalled)(updateFn);
|
|
20
24
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../schematics/ng-update/v9-0/index.ts"],"names":[],"mappings":";;;AAAA,2DAAyD;AACzD,gFAAsF;AACtF,sFAAwF;AAExF;;GAEG;AACH,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../schematics/ng-update/v9-0/index.ts"],"names":[],"mappings":";;;AAAA,2DAAyD;AACzD,gDAAwE;AACxE,gFAAsF;AACtF,sFAAwF;AAExF;;GAEG;AACH,SAAS,QAAQ;IACf,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;QAEvB,MAAM,WAAW,GAAW;YAC1B,IAAA,gDAA2B,GAAE;YAC7B,IAAA,gDAAyB,GAAE;SAC5B,CAAC;QAEF,OAAO,IAAA,kBAAK,EAAC,WAAW,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACU,QAAA,MAAM,GAAG,IAAA,kDAAqC,EAAC,QAAQ,CAAC,CAAC"}
|
|
@@ -4,5 +4,5 @@ import { NgGeneratePlaywrightSanitySchematicsSchema } from './schema';
|
|
|
4
4
|
* Add a Playwright sanity to an Otter project
|
|
5
5
|
* @param options
|
|
6
6
|
*/
|
|
7
|
-
export declare
|
|
7
|
+
export declare const ngGeneratePlaywrightSanity: (options: NgGeneratePlaywrightSanitySchematicsSchema) => Rule;
|
|
8
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../schematics/playwright/sanity/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAgD,IAAI,EAAyC,MAAM,4BAA4B,CAAC;AAEvI,OAAO,EAAE,0CAA0C,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../schematics/playwright/sanity/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAgD,IAAI,EAAyC,MAAM,4BAA4B,CAAC;AAEvI,OAAO,EAAE,0CAA0C,EAAE,MAAM,UAAU,CAAC;AA+CtE;;;GAGG;AACH,eAAO,MAAM,0BAA0B,+DAAsE,CAAC"}
|
|
@@ -8,7 +8,7 @@ const schematics_2 = require("@o3r/schematics");
|
|
|
8
8
|
* Add a Playwright sanity to an Otter project
|
|
9
9
|
* @param options
|
|
10
10
|
*/
|
|
11
|
-
function
|
|
11
|
+
function ngGeneratePlaywrightSanityFn(options) {
|
|
12
12
|
const isApplication = (tree /* , context: SchematicContext*/) => {
|
|
13
13
|
const workspaceProject = options.projectName ? (0, schematics_2.getWorkspaceConfig)(tree)?.projects[options.projectName] : undefined;
|
|
14
14
|
if (!workspaceProject) {
|
|
@@ -40,5 +40,9 @@ function ngGeneratePlaywrightSanity(options) {
|
|
|
40
40
|
generateFiles
|
|
41
41
|
]);
|
|
42
42
|
}
|
|
43
|
-
|
|
43
|
+
/**
|
|
44
|
+
* Add a Playwright sanity to an Otter project
|
|
45
|
+
* @param options
|
|
46
|
+
*/
|
|
47
|
+
exports.ngGeneratePlaywrightSanity = (0, schematics_2.createSchematicWithMetricsIfInstalled)(ngGeneratePlaywrightSanityFn);
|
|
44
48
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../schematics/playwright/sanity/index.ts"],"names":[],"mappings":";;;AAAA,+CAA+C;AAC/C,2DAAuI;AACvI,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../schematics/playwright/sanity/index.ts"],"names":[],"mappings":";;;AAAA,+CAA+C;AAC/C,2DAAuI;AACvI,gDAA6H;AAG7H;;;GAGG;AACH,SAAS,4BAA4B,CAAC,OAAmD;IACvF,MAAM,aAAa,GAAG,CAAC,IAAU,CAAA,gCAAgC,EAAE,EAAE;QACnE,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;QAEnH,IAAI,CAAC,gBAAgB,EAAE;YACrB,MAAM,IAAI,wBAAW,CAAC,mCAAmC,CAAC,CAAC;SAC5D;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,cAAO,CAAC,UAAU,CAAC,cAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAEtE;;;;OAIG;IACH,MAAM,aAAa,GAAS,CAAC,IAAU,EAAE,OAAyB,EAAE,EAAE;QACpE,MAAM,UAAU,GAAG,IAAA,+BAAkB,EAAC,gCAAgC,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAEjH,MAAM,cAAc,GAAG,IAAA,kBAAK,EAAC,IAAA,gBAAG,EAAC,aAAa,CAAC,EAAE;YAC/C,IAAA,qBAAQ,EAAC;gBACP,GAAG,cAAO;gBACV,GAAG,OAAO;gBACV,UAAU;aACX,CAAC;YACF,IAAA,iBAAI,EAAC,UAAU,CAAC;SACjB,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,IAAA,sBAAS,EAAC,cAAc,EAAE,0BAAa,CAAC,KAAK,CAAC,CAAC;QAE5D,OAAO,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC7B,CAAC,CAAC;IAEF,OAAO,IAAA,kBAAK,EAAC;QACX,aAAa;QACb,aAAa;KACd,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACU,QAAA,0BAA0B,GAAG,IAAA,kDAAqC,EAAC,4BAA4B,CAAC,CAAC"}
|
|
@@ -4,5 +4,5 @@ import { NgGeneratePlaywrightScenarioSchematicsSchema } from './schema';
|
|
|
4
4
|
* Add a Playwright scenario to an Otter project
|
|
5
5
|
* @param options
|
|
6
6
|
*/
|
|
7
|
-
export declare
|
|
7
|
+
export declare const ngGeneratePlaywrightScenario: (options: NgGeneratePlaywrightScenarioSchematicsSchema) => Rule;
|
|
8
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../schematics/playwright/scenario/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAgD,IAAI,EAAyC,MAAM,4BAA4B,CAAC;AAEvI,OAAO,EAAE,4CAA4C,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../schematics/playwright/scenario/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAgD,IAAI,EAAyC,MAAM,4BAA4B,CAAC;AAEvI,OAAO,EAAE,4CAA4C,EAAE,MAAM,UAAU,CAAC;AA+CxE;;;GAGG;AACH,eAAO,MAAM,4BAA4B,iEAAwE,CAAC"}
|
|
@@ -8,7 +8,7 @@ const schematics_2 = require("@o3r/schematics");
|
|
|
8
8
|
* Add a Playwright scenario to an Otter project
|
|
9
9
|
* @param options
|
|
10
10
|
*/
|
|
11
|
-
function
|
|
11
|
+
function ngGeneratePlaywrightScenarioFn(options) {
|
|
12
12
|
const isApplication = (tree /* , context: SchematicContext*/) => {
|
|
13
13
|
const workspaceProject = options.projectName ? (0, schematics_2.getWorkspaceConfig)(tree)?.projects[options.projectName] : undefined;
|
|
14
14
|
if (!workspaceProject) {
|
|
@@ -40,5 +40,9 @@ function ngGeneratePlaywrightScenario(options) {
|
|
|
40
40
|
generateFiles
|
|
41
41
|
]);
|
|
42
42
|
}
|
|
43
|
-
|
|
43
|
+
/**
|
|
44
|
+
* Add a Playwright scenario to an Otter project
|
|
45
|
+
* @param options
|
|
46
|
+
*/
|
|
47
|
+
exports.ngGeneratePlaywrightScenario = (0, schematics_2.createSchematicWithMetricsIfInstalled)(ngGeneratePlaywrightScenarioFn);
|
|
44
48
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../schematics/playwright/scenario/index.ts"],"names":[],"mappings":";;;AAAA,+CAA+C;AAC/C,2DAAuI;AACvI,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../schematics/playwright/scenario/index.ts"],"names":[],"mappings":";;;AAAA,+CAA+C;AAC/C,2DAAuI;AACvI,gDAA6H;AAG7H;;;GAGG;AACH,SAAS,8BAA8B,CAAC,OAAqD;IAC3F,MAAM,aAAa,GAAG,CAAC,IAAU,CAAA,gCAAgC,EAAE,EAAE;QACnE,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;QAEnH,IAAI,CAAC,gBAAgB,EAAE;YACrB,MAAM,IAAI,wBAAW,CAAC,qCAAqC,CAAC,CAAC;SAC9D;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,cAAO,CAAC,UAAU,CAAC,cAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAExE;;;;OAIG;IACH,MAAM,aAAa,GAAS,CAAC,IAAU,EAAE,OAAyB,EAAE,EAAE;QACpE,MAAM,YAAY,GAAG,IAAA,+BAAkB,EAAC,kCAAkC,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAErH,MAAM,cAAc,GAAG,IAAA,kBAAK,EAAC,IAAA,gBAAG,EAAC,aAAa,CAAC,EAAE;YAC/C,IAAA,qBAAQ,EAAC;gBACP,GAAG,cAAO;gBACV,GAAG,OAAO;gBACV,YAAY;aACb,CAAC;YACF,IAAA,iBAAI,EAAC,YAAY,CAAC;SACnB,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,IAAA,sBAAS,EAAC,cAAc,EAAE,0BAAa,CAAC,KAAK,CAAC,CAAC;QAE5D,OAAO,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC7B,CAAC,CAAC;IAEF,OAAO,IAAA,kBAAK,EAAC;QACX,aAAa;QACb,aAAa;KACd,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACU,QAAA,4BAA4B,GAAG,IAAA,kDAAqC,EAAC,8BAA8B,CAAC,CAAC"}
|