@o3r/testing 11.1.0-prerelease.8 → 11.1.0-rc.0
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/helpers.d.ts.map +1 -1
- package/core/playwright/element.js +2 -2
- package/core/playwright/element.js.map +1 -1
- package/core/protractor/utils.js +1 -2
- package/core/protractor/utils.js.map +1 -1
- package/kassette/update-dates-in-mocks.js +1 -2
- package/kassette/update-dates-in-mocks.js.map +1 -1
- package/localization/localization-mock.js +2 -2
- package/localization/localization-mock.js.map +1 -1
- package/mocks/mock-component-generator.js +1 -2
- package/mocks/mock-component-generator.js.map +1 -1
- package/package.json +42 -42
- package/schematics/fixture-to-component/index.js +2 -2
- package/schematics/fixture-to-component/index.js.map +1 -1
- package/schematics/ng-add/fixture/index.js +1 -2
- package/schematics/ng-add/fixture/index.js.map +1 -1
- package/schematics/ng-add/playwright/index.js +1 -2
- package/schematics/ng-add/playwright/index.js.map +1 -1
- package/schematics/ng-update/v9-0/localization-imports/localization-imports.js +1 -2
- package/schematics/ng-update/v9-0/localization-imports/localization-imports.js.map +1 -1
- package/schematics/ng-update/v9-0/throw-on-undefined/throw-on-undefined.js +1 -2
- package/schematics/ng-update/v9-0/throw-on-undefined/throw-on-undefined.js.map +1 -1
- package/store/testable-select.js +5 -6
- package/store/testable-select.js.map +1 -1
- package/store/typings.js +1 -2
- package/store/typings.js.map +1 -1
- package/tools/path-replacement/path-replacement.js +1 -2
- package/tools/path-replacement/path-replacement.js.map +1 -1
- 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 +3 -4
- 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/visual-test/utils.js +3 -4
- package/visual-test/utils.js.map +1 -1
- package/visual-test/visual-test.js +6 -6
- package/visual-test/visual-test.js.map +1 -1
package/core/helpers.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/core/helpers.ts"],"names":[],"mappings":"AACA;;;GAGG;AACH,eAAO,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/core/helpers.ts"],"names":[],"mappings":"AACA;;;GAGG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,KAAG,IAAI,IAAI,OAAO,CAAC,CAAC,CAA8D,CAAC;AAEpI;;GAEG;AACH,qBAAa,YAAa,SAAQ,KAAK;gBACzB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS;CAGzC;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAU,CAAC,WAAW,OAAO,CAAC,CAAC,CAAC,YAAY,MAAM,KAAG,OAAO,CAAC,CAAC,CAKrF,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.O3rElement =
|
|
3
|
+
exports.O3rElement = void 0;
|
|
4
|
+
exports.getPlainText = getPlainText;
|
|
4
5
|
var tslib_1 = require("tslib");
|
|
5
6
|
/**
|
|
6
7
|
* Remove text formatting (endline etc.) and return the content.
|
|
@@ -9,7 +10,6 @@ var tslib_1 = require("tslib");
|
|
|
9
10
|
function getPlainText(innerText) {
|
|
10
11
|
return innerText ? innerText.replace(/(?:\r\n|\r|\n)/g, ' ').replace(/\s\s+/g, ' ').trim() : undefined;
|
|
11
12
|
}
|
|
12
|
-
exports.getPlainText = getPlainText;
|
|
13
13
|
/**
|
|
14
14
|
* Implementation dedicated to Playwright.
|
|
15
15
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"element.js","sourceRoot":"","sources":["../../../src/core/playwright/element.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"element.js","sourceRoot":"","sources":["../../../src/core/playwright/element.ts"],"names":[],"mappings":";;;AAoBA,oCAEC;;AAND;;;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;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"]}
|
package/core/protractor/utils.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.convertPromise =
|
|
3
|
+
exports.convertPromise = convertPromise;
|
|
4
4
|
/**
|
|
5
5
|
* Converts a webdriver promise to ES6 promise so the rest of the framework handles ES6 promises only
|
|
6
6
|
* @param promise
|
|
@@ -8,5 +8,4 @@ exports.convertPromise = void 0;
|
|
|
8
8
|
function convertPromise(promise) {
|
|
9
9
|
return new Promise(function (resolve, reject) { return promise.then(resolve, reject); });
|
|
10
10
|
}
|
|
11
|
-
exports.convertPromise = convertPromise;
|
|
12
11
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/core/protractor/utils.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/core/protractor/utils.ts"],"names":[],"mappings":";;AAMA,wCAEC;AAND;;;GAGG;AACH,SAAgB,cAAc,CAAI,OAA4B;IAC5D,OAAO,IAAI,OAAO,CAAI,UAAC,OAAO,EAAE,MAAM,IAAK,OAAA,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,EAA7B,CAA6B,CAAC,CAAC;AAC5E,CAAC","sourcesContent":["import {promise as pPromise} from 'protractor';\n\n/**\n * Converts a webdriver promise to ES6 promise so the rest of the framework handles ES6 promises only\n * @param promise\n */\nexport function convertPromise<T>(promise: pPromise.Promise<T>) {\n return new Promise<T>((resolve, reject) => promise.then(resolve, reject));\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.updateDatesInMocks =
|
|
3
|
+
exports.updateDatesInMocks = updateDatesInMocks;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
var temporal_polyfill_1 = require("temporal-polyfill");
|
|
6
6
|
/**
|
|
@@ -95,5 +95,4 @@ function updateDatesInMocks(mock_1) {
|
|
|
95
95
|
});
|
|
96
96
|
});
|
|
97
97
|
}
|
|
98
|
-
exports.updateDatesInMocks = updateDatesInMocks;
|
|
99
98
|
//# sourceMappingURL=update-dates-in-mocks.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-dates-in-mocks.js","sourceRoot":"","sources":["../../src/kassette/update-dates-in-mocks.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"update-dates-in-mocks.js","sourceRoot":"","sources":["../../src/kassette/update-dates-in-mocks.ts"],"names":[],"mappings":"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","sourcesContent":["import type {IMock} from '@amadeus-it-group/kassette';\nimport {Temporal} from 'temporal-polyfill';\n\n/**\n * Options to be passed to `updateDatesInMocks`\n */\nexport interface UpdateDatesInMocksOptions {\n /**\n * 'any': dates in inputs will be ignored when computing checksum, the dates on the output will be updated to keep the same day offset\n * 'day-offset': dates in inputs will be converted to day offsets, the dates on the output will be updated to keep the same day offset\n * 'same-day-of-week': dates in inputs will be converted to day of week, the dates on the output will be updated to keep the same day of week but increment the week\n */\n mode: 'any' | 'day-offset' | 'same-day-of-week';\n /**\n * RegExp used to extract dates from request and response\n */\n extractor: RegExp;\n /**\n * Functions to be used to convert from Temporal objects to strings, and strings to temporal objects\n */\n converter: {\n /**\n * Converter from Temporal to string\n * @param input\n */\n fromDate: (input: Temporal.ZonedDateTime | Temporal.PlainDate) => string;\n /**\n * Converter from string to Temporal\n * @param input\n */\n toDate: (input: string) => Temporal.ZonedDateTime | Temporal.PlainDate;\n };\n}\n\n/**\n * Update mock checksum and response body to keep using the same mocks every day with updated dates\n * @param mock the mock instance provided by the hook method of Kassette\n * @param inputOptions default options will extract ISO strings and use 'day-offset' mode\n */\nexport async function updateDatesInMocks(mock: IMock, inputOptions: Partial<UpdateDatesInMocksOptions> = {}) {\n const plainDateLength = 'YYYY-MM-DDThh:mm:ss'.length;\n const options: UpdateDatesInMocksOptions = {\n mode: 'day-offset',\n extractor: /\\b(\\d{4}-\\d{2}-\\d{2})[^\"]*/g,\n converter: {\n fromDate: (date) => date.toString().substring(0, plainDateLength),\n toDate: (input) => {\n input = input.replace(/\\.\\d+/, '').replace(/Z/, '+00:00');\n return input.length > plainDateLength ?\n Temporal.ZonedDateTime.from(`${input.replace(/(\\.\\d+)/, '')}[${input.replace(/^.*(\\+\\d{2}:\\d{2}).*$/, '$1') || '+00:00'}]`) :\n Temporal.PlainDate.from(input);\n }\n },\n ...inputOptions\n };\n const todayTime = Temporal.Now.plainDateISO();\n\n // Update request\n const replaceDatesInInput = (input: string): string => {\n switch (options.mode) {\n case 'any': {\n return input.replace(options.extractor, '<any>');\n }\n case 'day-offset': {\n return input.replace(options.extractor, (match) => `<t+${Temporal.PlainDate.from(todayTime).until(options.converter.toDate(match)).toString()}>`);\n }\n case 'same-day-of-week': {\n return input.replace(options.extractor, (match) => `<day ${options.converter.toDate(match).dayOfWeek} next week>`);\n }\n }\n return input;\n };\n const checksum = await mock.checksum({\n headers: false,\n body: {filter: (body) => replaceDatesInInput(body.toString())},\n query: {filter: (params) => Object.fromEntries(Object.entries(params).map(([key, value]) => [key, replaceDatesInInput(value)]))},\n customData: {updateDatesMode: options.mode}\n });\n mock.setLocalPath([mock.localPath, checksum]);\n\n // Update response\n if (/get|post/.test(mock.request.method) && (await mock.hasLocalMock())) {\n const localPayload = (await mock.readLocalPayload())?.payload;\n if (localPayload && localPayload.data.creationDateTime) {\n const referenceTime = Temporal.PlainDate.from(localPayload.data.creationDateTime.toISOString().substring(0, 10));\n const timeOffset = Temporal.PlainDate.from(referenceTime).until(todayTime, {smallestUnit: 'days', largestUnit: 'days'});\n if (timeOffset.days !== 0) {\n mock.setMode('manual');\n const replaceDatesInOutput = (output: string): string => {\n switch (options.mode) {\n case 'any':\n case 'day-offset': {\n return output.replace(options.extractor, (match) => options.converter.fromDate(options.converter.toDate(match).add(timeOffset)));\n }\n case 'same-day-of-week': {\n return output.replace(options.extractor, (match) => options.converter.fromDate(options.converter.toDate(match).add(`P${Math.ceil(timeOffset.days / 7)}W`)));\n }\n }\n return output;\n };\n const wrappedPayload = mock.createPayload({\n data: localPayload.data,\n body: replaceDatesInOutput(localPayload.body?.toString() || '')\n });\n mock.fillResponseFromPayload(wrappedPayload);\n await mock.sendResponse();\n }\n }\n }\n}\n"]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.LocalizationDependencyMocks = exports.O3rTranslatePipeMock = exports.TranslatePipeMock = void 0;
|
|
4
|
+
exports.mockTranslationModules = mockTranslationModules;
|
|
4
5
|
var tslib_1 = require("tslib");
|
|
5
6
|
var core_1 = require("@angular/core");
|
|
6
7
|
var core_2 = require("@ngx-translate/core");
|
|
@@ -92,5 +93,4 @@ function mockTranslationModules(localizationConfiguration, translations, transla
|
|
|
92
93
|
})
|
|
93
94
|
], (mockPipe ? [LocalizationDependencyMocks.forTest(pipeWithPrefix)] : []), true);
|
|
94
95
|
}
|
|
95
|
-
exports.mockTranslationModules = mockTranslationModules;
|
|
96
96
|
//# sourceMappingURL=localization-mock.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localization-mock.js","sourceRoot":"","sources":["../../src/localization/localization-mock.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"localization-mock.js","sourceRoot":"","sources":["../../src/localization/localization-mock.ts"],"names":[],"mappings":";;;AAuDA,wDAoBC;;AA3ED,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;;;;;;;;GAQG;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","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 Provider for translations compiler\n * @param mockPipe Enable translation pipe mocking\n * @param pipeWithPrefix Enable pipe with prefix\n * @returns List of modules to import in the 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"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.generateMockComponent =
|
|
3
|
+
exports.generateMockComponent = generateMockComponent;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
var core_1 = require("@angular/core");
|
|
6
6
|
var forms_1 = require("@angular/forms");
|
|
@@ -158,5 +158,4 @@ function generateMockComponent(componentPath, config) {
|
|
|
158
158
|
]
|
|
159
159
|
} : {}))(mock);
|
|
160
160
|
}
|
|
161
|
-
exports.generateMockComponent = generateMockComponent;
|
|
162
161
|
//# sourceMappingURL=mock-component-generator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mock-component-generator.js","sourceRoot":"","sources":["../../src/mocks/mock-component-generator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mock-component-generator.js","sourceRoot":"","sources":["../../src/mocks/mock-component-generator.ts"],"names":[],"mappings":"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","sourcesContent":["import { Component, EventEmitter, forwardRef, Type } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport * as ts from 'typescript';\n\n/**\n * Determine if the node in an input field\n * @param node Typescript AST Node\n * @param source Typescript source file\n */\nfunction isInputNode(node: ts.Node, source: ts.SourceFile): node is ts.Decorator {\n return ts.isDecorator(node) && /^@Input/.test(node.getText(source));\n}\n\n/**\n * Determine if the node in an output field\n * @param node Typescript AST Node\n * @param source Typescript source file\n */\nfunction isOutputNode(node: ts.Node, source: ts.SourceFile): node is ts.Decorator {\n return ts.isDecorator(node) && /^@Output/.test(node.getText(source));\n}\n\n/**\n * Get the name of the input / output\n * @param currentNode Typescript AST Node\n * @param decorator Current Input/Output decorator node\n * @param source Typescript source file\n */\nfunction getIOName(currentNode: ts.Node, decorator: ts.Decorator, source: ts.SourceFile): string | undefined {\n const nameInDecorator = decorator.getText(source).match(/@(Input|Ouput) *\\( *(['\"](.*)['\"])? *\\) */i);\n if (nameInDecorator && nameInDecorator[3]) {\n return nameInDecorator[3];\n } else {\n let name: string | undefined;\n currentNode.forEachChild((node) => {\n if (ts.isIdentifier(node)) {\n name = node.getText(source);\n }\n });\n return name;\n }\n}\n\n/**\n * Get the list of Input and Output of a component\n * @param parentNode Typescript AST Node\n * @param source Typescript source file\n */\nfunction parseIO(parentNode: ts.Node, source: ts.SourceFile): { outputs: string[]; inputs: string[] } {\n const outputs: string[] = [];\n const inputs: string[] = [];\n\n parentNode.forEachChild((node) => {\n if (isInputNode(node, source)) {\n const name = getIOName(parentNode, node, source);\n if (name) {\n inputs.push(name);\n }\n } else if (isOutputNode(node, source)) {\n const name = getIOName(parentNode, node, source);\n if (name) {\n outputs.push(name);\n }\n } else {\n const childrenResult = parseIO(node, source);\n inputs.push(...childrenResult.inputs);\n outputs.push(...childrenResult.outputs);\n }\n });\n\n return {\n outputs,\n inputs\n };\n}\n\n/**\n * Get the selector of an angular class\n * @param parentNode Typescript AST Node\n * @param source Typescript source file\n * @param isInDecorator true if the recursive execution is in a decorator\n * @param isInComponentConfig true if the recursive execution is in a component decorator configuration\n */\nfunction getSelector(parentNode: ts.Node, source: ts.SourceFile, isInDecorator = false, isInComponentConfig = false) {\n let foundDecorator = false;\n let foundSelector = false;\n let ret: string | undefined;\n parentNode.forEachChild((node) => {\n if (isInDecorator && isInComponentConfig && ts.isIdentifier(node) && node.getText(source) === 'selector') {\n foundSelector = true;\n } else if (foundSelector && ts.isStringLiteral(node)) {\n ret = node.getText(source).replace(/['\"]/ig, '');\n } else if (isInDecorator && ts.isIdentifier(node) && node.getText(source) === 'Component') {\n foundDecorator = true;\n } else if (isInDecorator && foundDecorator && ts.isObjectLiteralExpression(node)) {\n ret = ret || getSelector(node, source, isInDecorator, true);\n } else {\n ret = ret || getSelector(node, source, isInDecorator || ts.isDecorator(node), isInComponentConfig);\n }\n });\n return ret;\n}\n\n/**\n * Generate a mock class base on a component file\n * @param componentPath Path to the component file to mock\n * @param config Object containing the following configurations:\n * template: should be provided if the template contain `<ng-content></ng-content>`\n * isControlValueAccessor: should be provided if the component extends ControlValueAccessor\n * @param config.template\n * @param config.isControlValueAccessor\n * @example\n * ```typescript\n * // hero.component.ts\n * \\@Component({selector: 'hero'})\n * class HeroComponent {\n * \\@Input() name: string;\n * \\@Output() doSomething: EventEmitter<void>\n * }\n *\n * // mock generation\n * class MockComponent extends generateMockComponent('hero.component.ts') {}\n * ```\n */\n// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-constraint\nexport function generateMockComponent<T extends unknown = Record<string, unknown>>(componentPath: string, config?: { template?: string; isControlValueAccessor?: boolean }): Type<T> {\n const program = ts.createProgram([componentPath], {});\n const source = program.getSourceFile(componentPath);\n if (!source) {\n throw new Error('No Source found');\n }\n\n const { outputs, inputs } = parseIO(source, source);\n const mock = class {\n public writeValue: any;\n public registerOnChange: any;\n public registerOnTouched: any;\n\n constructor() {\n Object.keys(outputs)\n .forEach((outputName) => (this as any)[outputName] = new EventEmitter<any>());\n if (config && config.isControlValueAccessor) {\n this.writeValue = () => { };\n this.registerOnChange = () => { };\n this.registerOnTouched = () => { };\n }\n }\n };\n\n return Component({\n template: config && config.template || '',\n selector: getSelector(source, source) || '',\n inputs,\n outputs,\n ...(config && config.isControlValueAccessor) ? {\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => mock),\n multi: true\n }\n ]\n } : {}\n })(mock) as Type<T>;\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@o3r/testing",
|
|
3
|
-
"version": "11.1.0-
|
|
3
|
+
"version": "11.1.0-rc.0",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -95,26 +95,26 @@
|
|
|
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.1.0",
|
|
99
|
+
"@angular/animations": "~18.1.0",
|
|
100
|
+
"@angular/cli": "~18.1.0",
|
|
101
|
+
"@angular/common": "~18.1.0",
|
|
102
|
+
"@angular/core": "~18.1.0",
|
|
103
|
+
"@angular/forms": "~18.1.0",
|
|
104
|
+
"@angular/platform-browser": "~18.1.0",
|
|
105
105
|
"@ngrx/store": "~18.0.0",
|
|
106
106
|
"@ngx-translate/core": "~15.0.0",
|
|
107
|
-
"@o3r/core": "^11.1.0-
|
|
108
|
-
"@o3r/localization": "^11.1.0-
|
|
109
|
-
"@o3r/schematics": "^11.1.0-
|
|
107
|
+
"@o3r/core": "^11.1.0-rc.0",
|
|
108
|
+
"@o3r/localization": "^11.1.0-rc.0",
|
|
109
|
+
"@o3r/schematics": "^11.1.0-rc.0",
|
|
110
110
|
"@playwright/test": "~1.45.0",
|
|
111
|
-
"@schematics/angular": "~18.
|
|
111
|
+
"@schematics/angular": "~18.1.0",
|
|
112
112
|
"pixelmatch": "^5.2.1",
|
|
113
113
|
"pngjs": "^7.0.0",
|
|
114
114
|
"protractor": "^7.0.0",
|
|
115
115
|
"rxjs": "^7.8.1",
|
|
116
116
|
"temporal-polyfill": "^0.2.0",
|
|
117
|
-
"typescript": "~5.4
|
|
117
|
+
"typescript": "~5.5.4"
|
|
118
118
|
},
|
|
119
119
|
"peerDependenciesMeta": {
|
|
120
120
|
"@amadeus-it-group/kassette": {
|
|
@@ -158,40 +158,40 @@
|
|
|
158
158
|
}
|
|
159
159
|
},
|
|
160
160
|
"dependencies": {
|
|
161
|
-
"esbuild": "~0.
|
|
161
|
+
"esbuild": "~0.23.0",
|
|
162
162
|
"module-from-string": "^3.2.0",
|
|
163
163
|
"tslib": "^2.6.2"
|
|
164
164
|
},
|
|
165
165
|
"devDependencies": {
|
|
166
166
|
"@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.
|
|
179
|
-
"@babel/core": "~7.
|
|
167
|
+
"@angular-devkit/build-angular": "~18.1.0",
|
|
168
|
+
"@angular-devkit/core": "~18.1.0",
|
|
169
|
+
"@angular-devkit/schematics": "~18.1.0",
|
|
170
|
+
"@angular-eslint/eslint-plugin": "~18.1.0",
|
|
171
|
+
"@angular/cli": "~18.1.0",
|
|
172
|
+
"@angular/common": "~18.1.0",
|
|
173
|
+
"@angular/compiler": "~18.1.0",
|
|
174
|
+
"@angular/compiler-cli": "~18.1.0",
|
|
175
|
+
"@angular/core": "~18.1.0",
|
|
176
|
+
"@angular/forms": "~18.1.0",
|
|
177
|
+
"@angular/platform-browser": "~18.1.0",
|
|
178
|
+
"@angular/platform-browser-dynamic": "~18.1.0",
|
|
179
|
+
"@babel/core": "~7.25.0",
|
|
180
180
|
"@babel/preset-typescript": "~7.24.0",
|
|
181
181
|
"@compodoc/compodoc": "^1.1.19",
|
|
182
182
|
"@ngrx/store": "~18.0.0",
|
|
183
183
|
"@ngx-translate/core": "~15.0.0",
|
|
184
|
-
"@nx/eslint-plugin": "~19.
|
|
185
|
-
"@nx/jest": "~19.
|
|
186
|
-
"@o3r/build-helpers": "^11.1.0-
|
|
187
|
-
"@o3r/core": "^11.1.0-
|
|
188
|
-
"@o3r/eslint-plugin": "^11.1.0-
|
|
189
|
-
"@o3r/localization": "^11.1.0-
|
|
190
|
-
"@o3r/schematics": "^11.1.0-
|
|
191
|
-
"@o3r/test-helpers": "^11.1.0-
|
|
184
|
+
"@nx/eslint-plugin": "~19.5.0",
|
|
185
|
+
"@nx/jest": "~19.5.0",
|
|
186
|
+
"@o3r/build-helpers": "^11.1.0-rc.0",
|
|
187
|
+
"@o3r/core": "^11.1.0-rc.0",
|
|
188
|
+
"@o3r/eslint-plugin": "^11.1.0-rc.0",
|
|
189
|
+
"@o3r/localization": "^11.1.0-rc.0",
|
|
190
|
+
"@o3r/schematics": "^11.1.0-rc.0",
|
|
191
|
+
"@o3r/test-helpers": "^11.1.0-rc.0",
|
|
192
192
|
"@playwright/test": "~1.45.0",
|
|
193
|
-
"@schematics/angular": "~18.
|
|
194
|
-
"@stylistic/eslint-plugin-ts": "
|
|
193
|
+
"@schematics/angular": "~18.1.0",
|
|
194
|
+
"@stylistic/eslint-plugin-ts": "~2.4.0",
|
|
195
195
|
"@types/jest": "~29.5.2",
|
|
196
196
|
"@types/node": "^20.0.0",
|
|
197
197
|
"@types/pixelmatch": "^5.2.3",
|
|
@@ -204,16 +204,16 @@
|
|
|
204
204
|
"eslint": "^8.57.0",
|
|
205
205
|
"eslint-import-resolver-node": "^0.3.9",
|
|
206
206
|
"eslint-plugin-jest": "~28.6.0",
|
|
207
|
-
"eslint-plugin-jsdoc": "~48.
|
|
207
|
+
"eslint-plugin-jsdoc": "~48.10.0",
|
|
208
208
|
"eslint-plugin-prefer-arrow": "~1.2.3",
|
|
209
209
|
"eslint-plugin-unicorn": "^54.0.0",
|
|
210
210
|
"isomorphic-fetch": "~3.0.0",
|
|
211
211
|
"jest": "~29.7.0",
|
|
212
212
|
"jest-environment-jsdom": "~29.7.0",
|
|
213
213
|
"jest-junit": "~16.0.0",
|
|
214
|
-
"jest-preset-angular": "~14.
|
|
214
|
+
"jest-preset-angular": "~14.2.0",
|
|
215
215
|
"jsonc-eslint-parser": "~2.4.0",
|
|
216
|
-
"nx": "~19.
|
|
216
|
+
"nx": "~19.5.0",
|
|
217
217
|
"pid-from-port": "^1.1.3",
|
|
218
218
|
"pixelmatch": "^5.2.1",
|
|
219
219
|
"pngjs": "^7.0.0",
|
|
@@ -221,10 +221,10 @@
|
|
|
221
221
|
"rxjs": "^7.8.1",
|
|
222
222
|
"semver": "^7.5.2",
|
|
223
223
|
"temporal-polyfill": "^0.2.0",
|
|
224
|
-
"ts-jest": "~29.
|
|
224
|
+
"ts-jest": "~29.2.0",
|
|
225
225
|
"ts-node": "~10.9.2",
|
|
226
226
|
"type-fest": "^4.10.2",
|
|
227
|
-
"typescript": "~5.4
|
|
227
|
+
"typescript": "~5.5.4",
|
|
228
228
|
"zone.js": "~0.14.2"
|
|
229
229
|
},
|
|
230
230
|
"schematics": "./collection.json",
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ngAddFixture =
|
|
3
|
+
exports.ngAddFixture = void 0;
|
|
4
|
+
exports.ngAddFixtureFn = ngAddFixtureFn;
|
|
4
5
|
const schematics_1 = require("@angular-devkit/schematics");
|
|
5
6
|
const schematics_2 = require("@o3r/schematics");
|
|
6
7
|
const change_1 = require("@schematics/angular/utility/change");
|
|
@@ -88,7 +89,6 @@ function ngAddFixtureFn(options) {
|
|
|
88
89
|
}
|
|
89
90
|
};
|
|
90
91
|
}
|
|
91
|
-
exports.ngAddFixtureFn = ngAddFixtureFn;
|
|
92
92
|
/**
|
|
93
93
|
* Add fixture to an existing component
|
|
94
94
|
* @param options
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/fixture-to-component/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/fixture-to-component/index.ts"],"names":[],"mappings":";;;AA0CA,wCAkGC;AA5ID,2DAcoC;AACpC,gDAQyB;AACzB,+DAAyF;AACzF,yCAAqD;AACrD,iCAAiC;AAGjC,MAAM,YAAY,GAAG,CAAC,aAAqB,EAAE,IAAU,EAAE,YAAoB,EAAE,EAAE;IAC/E,MAAM,KAAK,GAAG;QACZ,iBAAK,CAAC,IAAI,CAAC,IAAA,mBAAO,EAAC,aAAa,CAAC,EAAE,GAAG,YAAY,aAAa,CAAC;KACjE,CAAC;IACF,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,wBAAW,CAAC,+FAA+F,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5I,CAAC;AACH,CAAC,CAAC;AAEF;;;GAGG;AACH,SAAgB,cAAc,CAAC,OAAqC;IAClE,OAAO,KAAK,EAAE,IAAU,EAAE,OAAyB,EAAE,EAAE;QACrD,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,IAAA,oBAAQ,EAAC,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;YAC7D,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,iDAAoC,EAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YAE1E,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;YAE/C,MAAM,UAAU,GAAG;gBACjB,GAAG,OAAO;gBACV,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;gBACxC,IAAI,EAAE,YAAY;aACnB,CAAC;YAEF,MAAM,sBAAsB,GAAS,IAAA,sBAAS,EAAC,IAAA,kBAAK,EAAC,IAAA,gBAAG,EAAC,aAAa,CAAC,EAAE;gBACvE,IAAA,qBAAQ,EAAC,UAAU,CAAC;gBACpB,IAAA,gCAAmB,GAAE;gBACrB,IAAA,iBAAI,EAAC,IAAA,mBAAO,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;aAC5B,CAAC,EAAE,0BAAa,CAAC,SAAS,CAAC,CAAC;YAE7B,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,iBAAK,CAAC,IAAI,CAAC,IAAA,mBAAO,EAAC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,YAAY,UAAU,CAAC,CAAC;YAC1G,MAAM,cAAc,GAAS,IAAA,kBAAK,EAAC;gBACjC,IAAA,2BAAc,EAAC,YAAY,EAAE;oBAC3B;wBACE,IAAI,EAAE,mBAAmB;wBACzB,WAAW,EAAE,CAAC,YAAY,CAAC;qBAC5B;oBACD;wBACE,IAAI,EAAE,KAAK,YAAY,UAAU;wBACjC,WAAW,EAAE,CAAC,GAAG,UAAU,CAAC,gBAAgB,WAAW,CAAC;qBACzD;iBACF,CAAC;gBACF,GAAG,EAAE;oBACH,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;wBAC/B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,0CAA0C,YAAY,kBAAkB,CAAC,CAAC;wBAC9F,OAAO;oBACT,CAAC;oBAED,MAAM,cAAc,GAAG,EAAE,CAAC,gBAAgB,CACxC,YAAY,EACZ,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAC3B,EAAE,CAAC,YAAY,CAAC,MAAM,EACtB,IAAI,CACL,CAAC;oBAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;oBAEhD,MAAM,UAAU,GAAG,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAC7E,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAClC,CAAC;oBAEF,MAAM,OAAO,GAAG;wBACd,IAAI,qBAAY,CACd,YAAY,EACZ,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EACzB,2BAA2B,UAAU,CAAC,gBAAgB,YAAY,CACnE;qBACF,CAAC;oBAEF,IAAA,8BAAqB,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;oBACzC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;oBAE5B,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;yBAC3C,UAAU,CACT,gDAAgD,EAChD,gCAAgC,UAAU,CAAC,gBAAgB,kDAAkD,CAC9G;yBACA,UAAU,CACT,6CAA6C,EAC7C,8CAA8C,CAC/C,CAAC;oBAEJ,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;oBAEzC,OAAO,IAAI,CAAC;gBACd,CAAC;aACF,CAAC,CAAC;YAEH,OAAO,IAAA,kBAAK,EAAC;gBACX,sBAAsB;gBACtB,cAAc;gBACd,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,IAAA,iBAAI,GAAE,CAAC,CAAC,CAAC,IAAA,2BAAc,GAAE;aAC/C,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,6BAAgB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;gBACzD,MAAM,sBAAsB,GAAG,MAAM,IAAA,8CAAiC,GAAE,CAAC;gBACzE,IAAI,sBAAsB,EAAE,CAAC;oBAC3B,OAAO,IAAA,kBAAK,EAAC;wBACX,IAAA,8BAAiB,EAAC,WAAW,EAAE,mBAAmB,EAAE;4BAClD,IAAI,EAAE,OAAO,CAAC,IAAI;yBACnB,CAAC;wBACF,cAAc,CAAC,OAAO,CAAC;qBACxB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACU,QAAA,YAAY,GAAG,IAAA,kDAAqC,EAAC,cAAc,CAAC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.updateFixtureConfig =
|
|
3
|
+
exports.updateFixtureConfig = updateFixtureConfig;
|
|
4
4
|
/* eslint-disable @typescript-eslint/naming-convention */
|
|
5
5
|
const schematics_1 = require("@angular-devkit/schematics");
|
|
6
6
|
const ts = require("typescript");
|
|
@@ -85,5 +85,4 @@ function updateFixtureConfig(options) {
|
|
|
85
85
|
};
|
|
86
86
|
return (0, schematics_1.chain)([updateTestTsconfig, updateBaseTsConfigWithO3rFixtures]);
|
|
87
87
|
}
|
|
88
|
-
exports.updateFixtureConfig = updateFixtureConfig;
|
|
89
88
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../schematics/ng-add/fixture/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../schematics/ng-add/fixture/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.updatePlaywright =
|
|
3
|
+
exports.updatePlaywright = updatePlaywright;
|
|
4
4
|
const core_1 = require("@angular-devkit/core");
|
|
5
5
|
const schematics_1 = require("@angular-devkit/schematics");
|
|
6
6
|
const schematics_2 = require("@o3r/schematics");
|
|
@@ -75,5 +75,4 @@ test-results
|
|
|
75
75
|
return tree;
|
|
76
76
|
};
|
|
77
77
|
}
|
|
78
|
-
exports.updatePlaywright = updatePlaywright;
|
|
79
78
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../schematics/ng-add/playwright/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../schematics/ng-add/playwright/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.updateLocalizationImports =
|
|
3
|
+
exports.updateLocalizationImports = updateLocalizationImports;
|
|
4
4
|
const localization_imports_map_1 = require("./localization-imports-map");
|
|
5
5
|
const schematics_1 = require("@o3r/schematics");
|
|
6
6
|
/**
|
|
@@ -13,5 +13,4 @@ function updateLocalizationImports() {
|
|
|
13
13
|
return (0, schematics_1.updateImports)(localization_imports_map_1.mapImportLocalizationMocks, undefined, true);
|
|
14
14
|
};
|
|
15
15
|
}
|
|
16
|
-
exports.updateLocalizationImports = updateLocalizationImports;
|
|
17
16
|
//# sourceMappingURL=localization-imports.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localization-imports.js","sourceRoot":"","sources":["../../../../../schematics/ng-update/v9-0/localization-imports/localization-imports.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"localization-imports.js","sourceRoot":"","sources":["../../../../../schematics/ng-update/v9-0/localization-imports/localization-imports.ts"],"names":[],"mappings":";;AAOA,8DAMC;AAZD,yEAAwE;AACxE,gDAAgD;AAEhD;;GAEG;AACH,SAAgB,yBAAyB;IACvC,OAAO,CAAC,KAAW,EAAE,QAA0B,EAAE,EAAE;QACjD,iIAAiI;QACjI,gEAAgE;QAChE,OAAO,IAAA,0BAAa,EAAC,qDAA0B,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IACpE,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.updateThrowOnUndefinedCalls =
|
|
3
|
+
exports.updateThrowOnUndefinedCalls = updateThrowOnUndefinedCalls;
|
|
4
4
|
const schematics_1 = require("@angular-devkit/schematics");
|
|
5
5
|
const schematics_2 = require("@o3r/schematics");
|
|
6
6
|
/**
|
|
@@ -22,5 +22,4 @@ function updateThrowOnUndefinedCalls() {
|
|
|
22
22
|
};
|
|
23
23
|
return (0, schematics_1.chain)([update, notice]);
|
|
24
24
|
}
|
|
25
|
-
exports.updateThrowOnUndefinedCalls = updateThrowOnUndefinedCalls;
|
|
26
25
|
//# sourceMappingURL=throw-on-undefined.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"throw-on-undefined.js","sourceRoot":"","sources":["../../../../../schematics/ng-update/v9-0/throw-on-undefined/throw-on-undefined.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"throw-on-undefined.js","sourceRoot":"","sources":["../../../../../schematics/ng-update/v9-0/throw-on-undefined/throw-on-undefined.ts"],"names":[],"mappings":";;AAMA,kEAiBC;AAvBD,2DAAyD;AACzD,gDAA8E;AAE9E;;GAEG;AACH,SAAgB,2BAA2B;IACzC,MAAM,MAAM,GAAS,CAAC,IAAI,EAAE,EAAE;QAC5B,MAAM,YAAY,GAAG,IAAA,wDAA2C,EAAC,IAAI,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;QAC1F,YAAY;aACT,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;YACvB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC3C,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,wCAAwC,EAAE,oCAAoC,CAAC,CAAC,CAAC;QAC/H,CAAC,CAAC,CAAC;QACL,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,MAAM,GAAS,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;QAC9B,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,iGAAiG,CAAC,CAAC;QACnH,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,uFAAuF,CAAC,CAAC;IAC3G,CAAC,CAAC;IAEF,OAAO,IAAA,kBAAK,EAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AACjC,CAAC"}
|
package/store/testable-select.js
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.clearSelectorSpies = clearSelectorSpies;
|
|
4
|
+
exports.initializeSelectorSpies = initializeSelectorSpies;
|
|
5
|
+
exports.spyOnSelector = spyOnSelector;
|
|
6
|
+
exports.clearSelectorSpy = clearSelectorSpy;
|
|
7
|
+
exports.select = select;
|
|
4
8
|
var tslib_1 = require("tslib");
|
|
5
9
|
/* eslint-disable @typescript-eslint/ban-types */
|
|
6
10
|
tslib_1.__exportStar(require("@ngrx/store"), exports);
|
|
@@ -45,14 +49,12 @@ function useSpy(spy) {
|
|
|
45
49
|
function clearSelectorSpies() {
|
|
46
50
|
registeredSpies = [];
|
|
47
51
|
}
|
|
48
|
-
exports.clearSelectorSpies = clearSelectorSpies;
|
|
49
52
|
/**
|
|
50
53
|
* Initialize the selector spies structure
|
|
51
54
|
*/
|
|
52
55
|
function initializeSelectorSpies() {
|
|
53
56
|
clearSelectorSpies();
|
|
54
57
|
}
|
|
55
|
-
exports.initializeSelectorSpies = initializeSelectorSpies;
|
|
56
58
|
/**
|
|
57
59
|
* Spy on a selector function
|
|
58
60
|
* @param selector Selector function to be spied on
|
|
@@ -67,7 +69,6 @@ function spyOnSelector(selector, fakeResult) {
|
|
|
67
69
|
registeredSpies.push({ selector: selector, fakeResult: fakeResult });
|
|
68
70
|
}
|
|
69
71
|
}
|
|
70
|
-
exports.spyOnSelector = spyOnSelector;
|
|
71
72
|
/**
|
|
72
73
|
* Removes the spy on a given selector function
|
|
73
74
|
* @param selector Selector function that is being spied on
|
|
@@ -78,7 +79,6 @@ function clearSelectorSpy(selector) {
|
|
|
78
79
|
registeredSpies.splice(spyIndex, 1);
|
|
79
80
|
}
|
|
80
81
|
}
|
|
81
|
-
exports.clearSelectorSpy = clearSelectorSpy;
|
|
82
82
|
/**
|
|
83
83
|
* Highjacked ngrx/store select. It checks if the selector function is being spied on
|
|
84
84
|
* and returns it's fake result. Otherwise, it runs the original ngrx/store select
|
|
@@ -89,5 +89,4 @@ function select(selectFn, props) {
|
|
|
89
89
|
var spy = getSpy(selectFn);
|
|
90
90
|
return spy ? useSpy(spy) : (0, store_1.select)(selectFn, props);
|
|
91
91
|
}
|
|
92
|
-
exports.select = select;
|
|
93
92
|
//# sourceMappingURL=testable-select.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testable-select.js","sourceRoot":"","sources":["../../src/store/testable-select.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"testable-select.js","sourceRoot":"","sources":["../../src/store/testable-select.ts"],"names":[],"mappings":";;AA+CA,gDAEC;AAKD,0DAEC;AAOD,sCAOC;AAMD,4CAKC;AAQD,wBAGC;;AA5FD,iDAAiD;AACjD,sDAA4B;AAE5B,qCAAmD;AACnD,6BAAsC;AACtC,qCAA6F;AAG7F,sDAAsD;AACtD,IAAI,eAAe,GAAuB,EAAE,CAAC;AAE7C;;;;GAIG;AAEH;;;GAGG;AACH,IAAM,WAAW,GAAG,UAAmB,QAAkC,IAAK,OAAA,eAAe,CAAC,SAAS,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAzB,CAAyB,CAAC,EAA7D,CAA6D,CAAC;AAC5I;;;GAGG;AACH,IAAM,MAAM,GAAG,UAAC,QAAuC;IACrD,IAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IACpC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,CAAC,CAAC;AACF;;;GAGG;AACH,SAAS,MAAM,CAAI,GAAmB;IACpC,OAAO,IAAA,2BAAiB,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,cAAM,OAAA,IAAA,SAAE,EAAC,GAAG,CAAC,UAAU,CAAC,EAAlB,CAAkB,CAAC;AAC5E,CAAC;AAED;;;;GAIG;AAEH;;GAEG;AACH,SAAgB,kBAAkB;IAChC,eAAe,GAAG,EAAE,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,SAAgB,uBAAuB;IACrC,kBAAkB,EAAE,CAAC;AACvB,CAAC;AAED;;;;GAIG;AACH,SAAgB,aAAa,CAA+B,QAAgC,EAAE,UAAiC;IAC7H,IAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QAClB,eAAe,CAAC,QAAQ,CAAC,CAAC,UAAU,GAAG,UAAU,CAAC;IACpD,CAAC;SAAM,CAAC;QACN,eAAe,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,QAAuC,EAAE,UAAU,YAAA,EAAE,CAAC,CAAC;IAC1F,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAgB,gBAAgB,CAA+B,QAAgC;IAC7F,IAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QAClB,eAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACtC,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAgB,MAAM,CAAC,QAAuC,EAAE,KAAc;IAC5E,IAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC7B,OAAO,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAA,cAAU,EAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AACzD,CAAC","sourcesContent":["/* eslint-disable @typescript-eslint/ban-types */\nexport * from '@ngrx/store';\n\nimport { select as baseSelect } from '@ngrx/store';\nimport { Observable, of } from 'rxjs';\nimport { FakeSelectCall, isSelectorSpyCall, SelectorFunction, SelectorSpy } from './typings';\n\n\n/** Global variable that holds the registered spies */\nlet registeredSpies: SelectorSpy<any>[] = [];\n\n/**\n *\n * PRIVATE METHODS\n *\n */\n\n/**\n * Searches for the index of given selector\n * @param selectFn Selector function to be searched\n */\nconst getSpyIndex = <S extends object>(selectFn: SelectorFunction<S, any>) => registeredSpies.findIndex((spy) => spy.selector === selectFn);\n/**\n * Searches for the given selector spy. Returns undefined if none is registered\n * @param selectFn Selector function to be searched\n */\nconst getSpy = (selectFn: SelectorFunction<object, any>) => {\n const index = getSpyIndex(selectFn);\n return index >= 0 ? registeredSpies[index] : undefined;\n};\n/**\n * Uses the spy as the return of a select\n * @param spy The selector spy\n */\nfunction useSpy<R>(spy: SelectorSpy<R>): (source$: Observable<any>) => Observable<R> {\n return isSelectorSpyCall(spy) ? spy.fakeResult : () => of(spy.fakeResult);\n}\n\n/**\n *\n * PUBLIC METHODS\n *\n */\n\n/**\n * Clears all the registered selector spies\n */\nexport function clearSelectorSpies() {\n registeredSpies = [];\n}\n\n/**\n * Initialize the selector spies structure\n */\nexport function initializeSelectorSpies() {\n clearSelectorSpies();\n}\n\n/**\n * Spy on a selector function\n * @param selector Selector function to be spied on\n * @param fakeResult The fake result to be used when a select is triggered\n */\nexport function spyOnSelector<R, S extends object = object>(selector: SelectorFunction<S, R>, fakeResult: R | FakeSelectCall<R>) {\n const spyIndex = getSpyIndex(selector);\n if (spyIndex >= 0) {\n registeredSpies[spyIndex].fakeResult = fakeResult;\n } else {\n registeredSpies.push({ selector: selector as SelectorFunction<object, R>, fakeResult });\n }\n}\n\n/**\n * Removes the spy on a given selector function\n * @param selector Selector function that is being spied on\n */\nexport function clearSelectorSpy<R, S extends object = object>(selector: SelectorFunction<S, R>) {\n const spyIndex = getSpyIndex(selector);\n if (spyIndex >= 0) {\n registeredSpies.splice(spyIndex, 1);\n }\n}\n\n/**\n * Highjacked ngrx/store select. It checks if the selector function is being spied on\n * and returns it's fake result. Otherwise, it runs the original ngrx/store select\n * @param selectFn Selector function to be used\n * @param props optional properties to be used by the selector\n */\nexport function select(selectFn: SelectorFunction<object, any>, props?: object) {\n const spy = getSpy(selectFn);\n return spy ? useSpy(spy) : baseSelect(selectFn, props);\n}\n"]}
|