@taiga-ui/testing 3.58.0 → 3.59.0-canary.10da730
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/cypress/commands/wait-all-img-inside.command.d.ts +0 -1
- package/esm2020/core/accordion-item.harness.mjs +32 -0
- package/esm2020/core/accordion.harness.mjs +8 -0
- package/esm2020/core/action.harness.mjs +13 -0
- package/esm2020/core/avatar.harness.mjs +8 -0
- package/esm2020/core/badge.harness.mjs +14 -0
- package/esm2020/core/button.harness.mjs +16 -0
- package/esm2020/core/calendar.harness.mjs +52 -0
- package/esm2020/core/card.harness.mjs +20 -0
- package/esm2020/core/dialog.harness.mjs +11 -0
- package/esm2020/core/hosted-dropdown.harness.mjs +12 -0
- package/esm2020/core/island.harness.mjs +38 -0
- package/esm2020/core/loader.harness.mjs +20 -0
- package/esm2020/core/primitive-calender.harness.mjs +29 -0
- package/esm2020/core/primitive-spin-button.harness.mjs +12 -0
- package/esm2020/core/primitive-textfield.harness.mjs +11 -0
- package/esm2020/core/primitive-year-month-pagination.harness.mjs +32 -0
- package/{esm2015/core/primitive-year-picker.harness.js → esm2020/core/primitive-year-picker.harness.mjs} +9 -16
- package/esm2020/core/select.harness.mjs +16 -0
- package/esm2020/core/svg.harness.mjs +17 -0
- package/esm2020/core/tag.harness.mjs +26 -0
- package/esm2020/core/textfield.harness.mjs +8 -0
- package/esm2020/core/toggle.harness.mjs +16 -0
- package/esm2020/cypress/commands/wait-all-img-inside.command.mjs +62 -0
- package/esm2020/cypress/snapshot/command.mjs +25 -0
- package/esm2020/cypress/snapshot/plugin.mjs +23 -0
- package/esm2020/utils/active-element.mjs +12 -0
- package/esm2020/utils/configure-test-suite.mjs +32 -0
- package/esm2020/utils/input/filler.unit-common.mjs +48 -0
- package/esm2020/utils/input/form-control-state.unit-common.mjs +36 -0
- package/{esm2015/utils/input/placeholder.unit-common.js → esm2020/utils/input/placeholder.unit-common.mjs} +1 -1
- package/{esm2015/utils/input/tooltip.unit-common.js → esm2020/utils/input/tooltip.unit-common.mjs} +1 -1
- package/esm2020/utils/native-input.page-object.mjs +53 -0
- package/esm2020/utils/replace-nbsp.mjs +5 -0
- package/fesm2015/{taiga-ui-testing-core.js → taiga-ui-testing-core.mjs} +1 -1
- package/fesm2015/taiga-ui-testing-core.mjs.map +1 -0
- package/fesm2015/{taiga-ui-testing-cypress.js → taiga-ui-testing-cypress.mjs} +2 -2
- package/fesm2015/taiga-ui-testing-cypress.mjs.map +1 -0
- package/fesm2015/{taiga-ui-testing-exceptions.js → taiga-ui-testing-exceptions.mjs} +1 -1
- package/fesm2015/taiga-ui-testing-exceptions.mjs.map +1 -0
- package/fesm2015/{taiga-ui-testing-mocks.js → taiga-ui-testing-mocks.mjs} +1 -1
- package/fesm2015/taiga-ui-testing-mocks.mjs.map +1 -0
- package/fesm2015/{taiga-ui-testing-setup-jest.js → taiga-ui-testing-setup-jest.mjs} +1 -1
- package/fesm2015/taiga-ui-testing-setup-jest.mjs.map +1 -0
- package/fesm2015/{taiga-ui-testing-utils.js → taiga-ui-testing-utils.mjs} +6 -6
- package/fesm2015/taiga-ui-testing-utils.mjs.map +1 -0
- package/fesm2015/{taiga-ui-testing.js → taiga-ui-testing.mjs} +1 -1
- package/fesm2015/taiga-ui-testing.mjs.map +1 -0
- package/fesm2020/taiga-ui-testing-core.mjs +405 -0
- package/fesm2020/taiga-ui-testing-core.mjs.map +1 -0
- package/fesm2020/taiga-ui-testing-cypress.mjs +144 -0
- package/fesm2020/taiga-ui-testing-cypress.mjs.map +1 -0
- package/fesm2020/taiga-ui-testing-exceptions.mjs +18 -0
- package/fesm2020/taiga-ui-testing-exceptions.mjs.map +1 -0
- package/fesm2020/taiga-ui-testing-mocks.mjs +40 -0
- package/fesm2020/taiga-ui-testing-mocks.mjs.map +1 -0
- package/fesm2020/taiga-ui-testing-setup-jest.mjs +122 -0
- package/fesm2020/taiga-ui-testing-setup-jest.mjs.map +1 -0
- package/fesm2020/taiga-ui-testing-utils.mjs +511 -0
- package/fesm2020/taiga-ui-testing-utils.mjs.map +1 -0
- package/fesm2020/taiga-ui-testing.mjs +16 -0
- package/fesm2020/taiga-ui-testing.mjs.map +1 -0
- package/package.json +78 -17
- package/utils/configure-test-suite.d.ts +1 -1
- package/utils/input/filler.unit-common.d.ts +2 -2
- package/utils/input/form-control-state.unit-common.d.ts +2 -2
- package/utils/input/placeholder.unit-common.d.ts +2 -2
- package/utils/input/tooltip.unit-common.d.ts +2 -2
- package/bundles/taiga-ui-testing-core.umd.js +0 -1407
- package/bundles/taiga-ui-testing-core.umd.js.map +0 -1
- package/bundles/taiga-ui-testing-cypress.umd.js +0 -484
- package/bundles/taiga-ui-testing-cypress.umd.js.map +0 -1
- package/bundles/taiga-ui-testing-exceptions.umd.js +0 -351
- package/bundles/taiga-ui-testing-exceptions.umd.js.map +0 -1
- package/bundles/taiga-ui-testing-mocks.umd.js +0 -371
- package/bundles/taiga-ui-testing-mocks.umd.js.map +0 -1
- package/bundles/taiga-ui-testing-setup-jest.umd.js +0 -135
- package/bundles/taiga-ui-testing-setup-jest.umd.js.map +0 -1
- package/bundles/taiga-ui-testing-utils.umd.js +0 -934
- package/bundles/taiga-ui-testing-utils.umd.js.map +0 -1
- package/bundles/taiga-ui-testing.umd.js +0 -46
- package/bundles/taiga-ui-testing.umd.js.map +0 -1
- package/core/package.json +0 -10
- package/core/taiga-ui-testing-core.d.ts +0 -5
- package/cypress/package.json +0 -10
- package/cypress/taiga-ui-testing-cypress.d.ts +0 -5
- package/esm2015/core/accordion-item.harness.js +0 -49
- package/esm2015/core/accordion.harness.js +0 -11
- package/esm2015/core/action.harness.js +0 -16
- package/esm2015/core/avatar.harness.js +0 -11
- package/esm2015/core/badge.harness.js +0 -21
- package/esm2015/core/button.harness.js +0 -21
- package/esm2015/core/calendar.harness.js +0 -84
- package/esm2015/core/card.harness.js +0 -25
- package/esm2015/core/dialog.harness.js +0 -14
- package/esm2015/core/hosted-dropdown.harness.js +0 -17
- package/esm2015/core/island.harness.js +0 -53
- package/esm2015/core/loader.harness.js +0 -25
- package/esm2015/core/primitive-calender.harness.js +0 -40
- package/esm2015/core/primitive-spin-button.harness.js +0 -17
- package/esm2015/core/primitive-textfield.harness.js +0 -16
- package/esm2015/core/primitive-year-month-pagination.harness.js +0 -49
- package/esm2015/core/select.harness.js +0 -21
- package/esm2015/core/svg.harness.js +0 -27
- package/esm2015/core/tag.harness.js +0 -39
- package/esm2015/core/textfield.harness.js +0 -11
- package/esm2015/core/toggle.harness.js +0 -21
- package/esm2015/cypress/commands/wait-all-img-inside.command.js +0 -62
- package/esm2015/cypress/snapshot/command.js +0 -25
- package/esm2015/cypress/snapshot/plugin.js +0 -26
- package/esm2015/utils/active-element.js +0 -14
- package/esm2015/utils/configure-test-suite.js +0 -33
- package/esm2015/utils/input/filler.unit-common.js +0 -50
- package/esm2015/utils/input/form-control-state.unit-common.js +0 -37
- package/esm2015/utils/native-input.page-object.js +0 -58
- package/esm2015/utils/replace-nbsp.js +0 -6
- package/exceptions/package.json +0 -10
- package/exceptions/taiga-ui-testing-exceptions.d.ts +0 -5
- package/fesm2015/taiga-ui-testing-core.js.map +0 -1
- package/fesm2015/taiga-ui-testing-cypress.js.map +0 -1
- package/fesm2015/taiga-ui-testing-exceptions.js.map +0 -1
- package/fesm2015/taiga-ui-testing-mocks.js.map +0 -1
- package/fesm2015/taiga-ui-testing-setup-jest.js.map +0 -1
- package/fesm2015/taiga-ui-testing-utils.js.map +0 -1
- package/fesm2015/taiga-ui-testing.js.map +0 -1
- package/mocks/package.json +0 -10
- package/mocks/taiga-ui-testing-mocks.d.ts +0 -5
- package/setup-jest/package.json +0 -10
- package/setup-jest/taiga-ui-testing-setup-jest.d.ts +0 -5
- package/taiga-ui-testing.d.ts +0 -5
- package/utils/package.json +0 -10
- package/utils/taiga-ui-testing-utils.d.ts +0 -5
- /package/{esm2015/core/index.js → esm2020/core/index.mjs} +0 -0
- /package/{esm2015/core/marker-icon.harness.js → esm2020/core/marker-icon.harness.mjs} +0 -0
- /package/{esm2015/core/taiga-ui-testing-core.js → esm2020/core/taiga-ui-testing-core.mjs} +0 -0
- /package/{esm2015/cypress/assertions/be-in-viewport.js → esm2020/cypress/assertions/be-in-viewport.mjs} +0 -0
- /package/{esm2015/cypress/assertions/index.js → esm2020/cypress/assertions/index.mjs} +0 -0
- /package/{esm2015/cypress/index.js → esm2020/cypress/index.mjs} +0 -0
- /package/{esm2015/cypress/taiga-ui-testing-cypress.js → esm2020/cypress/taiga-ui-testing-cypress.mjs} +0 -0
- /package/{esm2015/exceptions/element-is-not-input.exception.js → esm2020/exceptions/element-is-not-input.exception.mjs} +0 -0
- /package/{esm2015/exceptions/field-not-found.exception.js → esm2020/exceptions/field-not-found.exception.mjs} +0 -0
- /package/{esm2015/exceptions/index.js → esm2020/exceptions/index.mjs} +0 -0
- /package/{esm2015/exceptions/taiga-ui-testing-exceptions.js → esm2020/exceptions/taiga-ui-testing-exceptions.mjs} +0 -0
- /package/{esm2015/index.js → esm2020/index.mjs} +0 -0
- /package/{esm2015/mocks/event.js → esm2020/mocks/event.mjs} +0 -0
- /package/{esm2015/mocks/index.js → esm2020/mocks/index.mjs} +0 -0
- /package/{esm2015/mocks/sanitizer.js → esm2020/mocks/sanitizer.mjs} +0 -0
- /package/{esm2015/mocks/switch-ng-dev-mode.js → esm2020/mocks/switch-ng-dev-mode.mjs} +0 -0
- /package/{esm2015/mocks/taiga-ui-testing-mocks.js → esm2020/mocks/taiga-ui-testing-mocks.mjs} +0 -0
- /package/{esm2015/setup-jest/index.js → esm2020/setup-jest/index.mjs} +0 -0
- /package/{esm2015/setup-jest/taiga-ui-testing-setup-jest.js → esm2020/setup-jest/taiga-ui-testing-setup-jest.mjs} +0 -0
- /package/{esm2015/taiga-ui-testing.js → esm2020/taiga-ui-testing.mjs} +0 -0
- /package/{esm2015/utils/date.js → esm2020/utils/date.mjs} +0 -0
- /package/{esm2015/utils/helpers.js → esm2020/utils/helpers.mjs} +0 -0
- /package/{esm2015/utils/index.js → esm2020/utils/index.mjs} +0 -0
- /package/{esm2015/utils/input/cleaner.unit-common.js → esm2020/utils/input/cleaner.unit-common.mjs} +0 -0
- /package/{esm2015/utils/keyboard-event.js → esm2020/utils/keyboard-event.mjs} +0 -0
- /package/{esm2015/utils/page-object.js → esm2020/utils/page-object.mjs} +0 -0
- /package/{esm2015/utils/taiga-ui-testing-utils.js → esm2020/utils/taiga-ui-testing-utils.mjs} +0 -0
- /package/{esm2015/utils/viewport.js → esm2020/utils/viewport.mjs} +0 -0
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"taiga-ui-testing-exceptions.mjs","sources":["../../../projects/testing/exceptions/element-is-not-input.exception.ts","../../../projects/testing/exceptions/field-not-found.exception.ts","../../../projects/testing/exceptions/taiga-ui-testing-exceptions.ts"],"sourcesContent":["export class TuiElementIsNotInputException extends Error {\n constructor(automationId: string) {\n super(`Element ${automationId} is not <input />`);\n }\n}\n","export class TuiFieldNotFoundException extends Error {\n constructor(automationId: string) {\n super(`Field ${automationId} not found`);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAM,MAAO,6BAA8B,SAAQ,KAAK,CAAA;AACpD,IAAA,WAAA,CAAY,YAAoB,EAAA;AAC5B,QAAA,KAAK,CAAC,CAAA,QAAA,EAAW,YAAY,CAAA,iBAAA,CAAmB,CAAC,CAAC;KACrD;AACJ;;ACJK,MAAO,yBAA0B,SAAQ,KAAK,CAAA;AAChD,IAAA,WAAA,CAAY,YAAoB,EAAA;AAC5B,QAAA,KAAK,CAAC,CAAA,MAAA,EAAS,YAAY,CAAA,UAAA,CAAY,CAAC,CAAC;KAC5C;AACJ;;ACJD;;AAEG;;;;"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"taiga-ui-testing-mocks.mjs","sources":["../../../projects/testing/mocks/event.ts","../../../projects/testing/mocks/sanitizer.ts","../../../projects/testing/mocks/switch-ng-dev-mode.ts","../../../projects/testing/mocks/taiga-ui-testing-mocks.ts"],"sourcesContent":["export class TuiMockEvent<T> extends Event {\n constructor(type: string, options: CustomEventInit<T> & Record<string, any> = {}) {\n super(type, options);\n\n const event = new Event(type);\n\n for (const key in options) {\n if (options.hasOwnProperty(key)) {\n Object.defineProperty(event, key, {value: options[key]});\n }\n }\n\n // @ts-ignore\n return event;\n }\n}\n","import {SecurityContext} from '@angular/core';\nimport {TUI_SANITIZER} from '@taiga-ui/core';\n\nexport const TUI_SANITIZER_MOCK = {\n provide: TUI_SANITIZER,\n useValue: {\n sanitize(_context: SecurityContext, src: string) {\n // Skip error\n // WARNING: sanitizing HTML stripped some content, see\n // https://g.co/ng/security#xss\n return src;\n },\n },\n};\n","declare const global: Record<any, any> & Window;\n\nexport function tuiSwitchNgDevMode(enable: boolean): void {\n if (global) {\n global.ngDevMode = enable;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAAM,MAAO,YAAgB,SAAQ,KAAK,CAAA;AACtC,IAAA,WAAA,CAAY,IAAY,EAAE,OAAA,GAAoD,EAAE,EAAA;AAC5E,QAAA,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAErB,QAAA,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;AAE9B,QAAA,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE;AACvB,YAAA,IAAI,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;AAC7B,gBAAA,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,EAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAC,CAAC,CAAC;AAC5D,aAAA;AACJ,SAAA;;AAGD,QAAA,OAAO,KAAK,CAAC;KAChB;AACJ;;ACZY,MAAA,kBAAkB,GAAG;AAC9B,IAAA,OAAO,EAAE,aAAa;AACtB,IAAA,QAAQ,EAAE;QACN,QAAQ,CAAC,QAAyB,EAAE,GAAW,EAAA;;;;AAI3C,YAAA,OAAO,GAAG,CAAC;SACd;AACJ,KAAA;;;ACVC,SAAU,kBAAkB,CAAC,MAAe,EAAA;AAC9C,IAAA,IAAI,MAAM,EAAE;AACR,QAAA,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC;AAC7B,KAAA;AACL;;ACNA;;AAEG;;;;"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"taiga-ui-testing-setup-jest.mjs","sources":["../../../projects/testing/setup-jest/index.ts","../../../projects/testing/setup-jest/taiga-ui-testing-setup-jest.ts"],"sourcesContent":["/// <reference types=\"jest\" />\n\nconst {TextEncoder: TextEncoderMock, TextDecoder: TextDecoderMock} = require(`util`);\n\nglobal.TextEncoder = TextEncoderMock;\nglobal.TextDecoder = TextDecoderMock;\n\n// @ts-ignore\nglobal.document.execCommand = () => {};\n\n// you can also pass the mock implementation\n// to jest.fn as an argument\n(global.window as any).IntersectionObserver = jest.fn(() => ({\n observe: jest.fn(),\n unobserve: jest.fn(),\n disconnect: jest.fn(),\n}));\n\n// Simulate window resize events\nconst resizeEvent = document.createEvent(`Event`);\n\nresizeEvent.initEvent(`resize`, true, true);\n\nglobal.window.resizeTo = width => {\n (global.window as any).innerWidth = width || global.window.innerWidth;\n (global.window as any).innerHeight = width || global.window.innerHeight;\n global.window.dispatchEvent(resizeEvent);\n};\n\nglobal.URL.createObjectURL = jest.fn(blob => `${blob}`);\nglobal.URL.revokeObjectURL = jest.fn();\n\nObject.defineProperty(global.window, `CSS`, {value: null});\n\nObject.defineProperty(global.window, `getComputedStyle`, {\n value: () => ({\n display: `none`,\n appearance: [`-webkit-appearance`],\n }),\n});\n\nObject.defineProperty(global.document, `doctype`, {\n value: `<!DOCTYPE html>`,\n});\n\nObject.defineProperty(global.document.body.style, `transform`, {\n value: () => ({\n enumerable: true,\n configurable: true,\n }),\n});\n\nObject.defineProperty(global.window, `matchMedia`, {\n writable: true,\n value: jest.fn().mockImplementation(query => ({\n matches: false,\n media: query,\n onchange: null,\n addListener: jest.fn(),\n removeListener: jest.fn(),\n addEventListener: jest.fn(),\n removeEventListener: jest.fn(),\n dispatchEvent: jest.fn(),\n })),\n});\n\nObject.defineProperty(global.document, `elementFromPoint`, {\n writable: true,\n value: jest.fn().mockImplementation(() => null),\n});\n\nObject.defineProperty(global.document, `createRange`, {\n writable: true,\n value: () => {\n const range = new Range();\n\n range.getBoundingClientRect = () => ({\n x: 0,\n y: 0,\n bottom: 0,\n height: 0,\n left: 0,\n right: 0,\n top: 0,\n width: 0,\n toJSON: () => {},\n });\n\n range.getClientRects = () => ({\n item: () => null,\n length: 0,\n [Symbol.iterator]: jest.fn(),\n });\n\n return range;\n },\n});\n\nObject.defineProperty(window, `scrollTo`, jest.fn());\n\nObject.defineProperty(global.window, `getComputedStyle`, {\n value: () => ({\n getPropertyValue: (_prop: string) => ``,\n }),\n});\n\nglobal.DataTransfer = class {\n private readonly data = new Map();\n\n setData(format: string, data: string): void {\n this.data.set(format, data);\n }\n\n getData(format: string): string {\n return this.data.get(format);\n }\n} as unknown as typeof DataTransfer;\n\nclass TransferMockEvent {\n dataTransfer: DataTransfer;\n relatedTarget: EventTarget;\n\n constructor(\n readonly type: string,\n readonly options: {\n clipboardData: DataTransfer;\n relatedTarget: EventTarget;\n },\n ) {\n this.dataTransfer = options.clipboardData;\n this.relatedTarget = options.relatedTarget;\n }\n}\n\nglobal.DragEvent = TransferMockEvent as unknown as typeof DragEvent;\nglobal.ClipboardEvent = TransferMockEvent as unknown as typeof ClipboardEvent;\n\n/**\n * in our jest setupFilesAfterEnv file,\n * however when running with ng test those\n * imports are already done by angular\n * resulting in duplicate imports\n * and conflicts resulting in the above error\n */\nif (!(`Zone` in global)) {\n require(`zone.js`);\n require(`zone.js/testing`);\n}\n\n// @note: build empty entry point\nexport {};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
@@ -89,11 +89,11 @@ function tuiWithPredicate(original) {
|
|
89
89
|
function tuiHarnessWith(hostSelector) {
|
90
90
|
var _a;
|
91
91
|
return _a = class extends ComponentHarness {
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
92
|
+
// @ts-ignore
|
93
|
+
static with(_options = {}) {
|
94
|
+
throw new Error(`Hummus`);
|
95
|
+
}
|
96
|
+
},
|
97
97
|
_a.hostSelector = hostSelector,
|
98
98
|
_a;
|
99
99
|
}
|
@@ -518,4 +518,4 @@ function tuiTestingViewport(width, height) {
|
|
518
518
|
*/
|
519
519
|
|
520
520
|
export { TuiComponentHarness, TuiContentContainerComponentHarness, TuiNativeInputPO, TuiPageObject, configureTestSuite, tuiActiveText, tuiCreateKeyboardEvent, tuiDispatchOnActive, tuiHarnessWith, tuiIsActive, tuiMockCurrentDate, tuiReplaceNbsp, tuiRestoreRealDate, tuiTestCleaner, tuiTestFiller, tuiTestFormControlState, tuiTestPlaceholder, tuiTestTooltip, tuiTestingViewport, tuiWithPredicate };
|
521
|
-
//# sourceMappingURL=taiga-ui-testing-utils.
|
521
|
+
//# sourceMappingURL=taiga-ui-testing-utils.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"taiga-ui-testing-utils.mjs","sources":["../../../projects/testing/utils/keyboard-event.ts","../../../projects/testing/utils/active-element.ts","../../../projects/testing/utils/configure-test-suite.ts","../../../projects/testing/utils/date.ts","../../../projects/testing/utils/helpers.ts","../../../projects/testing/utils/input/cleaner.unit-common.ts","../../../projects/testing/utils/input/filler.unit-common.ts","../../../projects/testing/utils/input/form-control-state.unit-common.ts","../../../projects/testing/utils/input/placeholder.unit-common.ts","../../../projects/testing/utils/input/tooltip.unit-common.ts","../../../projects/testing/utils/page-object.ts","../../../projects/testing/utils/replace-nbsp.ts","../../../projects/testing/utils/native-input.page-object.ts","../../../projects/testing/utils/viewport.ts","../../../projects/testing/utils/taiga-ui-testing-utils.ts"],"sourcesContent":["export function tuiCreateKeyboardEvent(\n key: string,\n eventType: string = `keydown`,\n): KeyboardEvent {\n const event = new KeyboardEvent(eventType, {bubbles: true});\n\n delete (event as any).target;\n Object.defineProperty(event, `type`, {value: eventType});\n\n delete (event as any).key;\n Object.defineProperty(event, `key`, {value: key});\n\n return event;\n}\n","import {ComponentFixture} from '@angular/core/testing';\n\nimport {tuiCreateKeyboardEvent} from './keyboard-event';\n\nexport function tuiDispatchOnActive<T>(key: string, fixture?: ComponentFixture<T>): void {\n document.activeElement?.dispatchEvent(tuiCreateKeyboardEvent(key, `keydown`));\n\n fixture?.detectChanges();\n}\n\nexport function tuiActiveText(): string {\n return document.activeElement?.textContent?.trim() ?? ``;\n}\n\nexport function tuiIsActive(element: Element): boolean {\n return document.activeElement === element;\n}\n","import {ComponentFixture, getTestBed, TestBed} from '@angular/core/testing';\n\n/** deprecated, will be removed in 4.0 */\nexport const configureTestSuite = (configureModule?: () => void): void => {\n const testBedApi = getTestBed();\n const originReset = TestBed.resetTestingModule;\n\n beforeAll(() => {\n TestBed.resetTestingModule();\n TestBed.resetTestingModule = () => TestBed;\n });\n\n // Custom hook\n if (configureModule) {\n beforeAll(async () => {\n configureModule();\n await TestBed.compileComponents();\n });\n }\n\n afterEach(() => {\n // @ts-ignore\n testBedApi._activeFixtures.forEach((fixture: ComponentFixture<unknown>) =>\n fixture.destroy(),\n );\n // reset ViewEngine TestBed\n // @ts-ignore\n testBedApi._instantiated = false;\n // reset Ivy TestBed\n // @ts-ignore\n testBedApi._testModuleRef = null;\n });\n\n afterAll(() => {\n TestBed.resetTestingModule = originReset;\n TestBed.resetTestingModule();\n });\n};\n","import {tuiIsNumber} from '@taiga-ui/cdk';\n\ndeclare const global: {Date: typeof Date};\n\nconst OriginalDate = global.Date;\n\nexport function tuiMockCurrentDate(dateOrNumber: Date | number): void {\n const date: Date = tuiIsNumber(dateOrNumber)\n ? new OriginalDate(dateOrNumber)\n : dateOrNumber;\n\n class MockDate extends OriginalDate {\n constructor() {\n super();\n\n return date;\n }\n }\n\n global.Date = MockDate as typeof Date;\n}\n\nexport function tuiRestoreRealDate(): void {\n global.Date = OriginalDate;\n}\n","import {\n BaseHarnessFilters,\n ComponentHarness,\n ComponentHarnessConstructor,\n ContentContainerComponentHarness,\n HarnessPredicate,\n} from '@angular/cdk/testing';\n\n/**\n * Decorator to add default static 'with' method.\n * Use in conjunction with {@link tuiHarnessWith} mixin.\n */\nexport function tuiWithPredicate<\n T extends ComponentHarnessConstructor<ComponentHarness> & {\n with: (options?: BaseHarnessFilters) => HarnessPredicate<ComponentHarness>;\n },\n>(original: T): T {\n original.with = (options: BaseHarnessFilters = {}) =>\n new HarnessPredicate(original, options);\n\n return original;\n}\n\n/**\n * Mixin to extend {@link ComponentHarness} and add typed\n * static 'with' method. Use {@link tuiWithPredicate} decorator\n * to monkey-patch default static 'with' method.\n */\nexport function tuiHarnessWith<T>(\n hostSelector: string,\n): ComponentHarnessConstructor<ComponentHarness> & {\n with: (options?: BaseHarnessFilters) => HarnessPredicate<ComponentHarness>;\n} {\n return class extends ComponentHarness {\n static hostSelector = hostSelector;\n\n // @ts-ignore\n static with(_options: BaseHarnessFilters = {}): HarnessPredicate<T> {\n throw new Error(`Hummus`);\n }\n } as unknown as ComponentHarnessConstructor<ComponentHarness> & {\n with: (options?: BaseHarnessFilters) => HarnessPredicate<ComponentHarness>;\n };\n}\n\nexport class TuiComponentHarness extends ComponentHarness {\n static with<T extends ComponentHarness>(\n this: ComponentHarnessConstructor<T>,\n options: BaseHarnessFilters,\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options);\n }\n}\n\nexport class TuiContentContainerComponentHarness extends ContentContainerComponentHarness {\n static with<T extends ComponentHarness>(\n this: ComponentHarnessConstructor<T>,\n options: BaseHarnessFilters,\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options);\n }\n}\n","/// <reference types=\"jest\" />\n\nimport {DebugElement} from '@angular/core';\nimport {ComponentFixture} from '@angular/core/testing';\nimport {FormControl} from '@angular/forms';\n\nimport {TuiNativeInputPO} from '../native-input.page-object';\nimport {TuiPageObject} from '../page-object';\n\ninterface TestParams {\n fixture: ComponentFixture<unknown>;\n inputPO: TuiNativeInputPO;\n pageObject: TuiPageObject<unknown>;\n prefix: string;\n testComponent: TestComponent;\n}\n\ninterface TestComponent {\n cleaner: boolean;\n control?: FormControl;\n disabled?: boolean;\n readOnly: boolean;\n value?: unknown;\n}\n\nexport function tuiTestCleaner(\n context: TestParams,\n setValue: any = `value`,\n clearValue: any = null,\n): void {\n let pageObject: TuiPageObject<unknown>;\n let fixture: ComponentFixture<unknown>;\n let testComponent: TestComponent;\n let inputPO: TuiNativeInputPO;\n\n describe(`Cross for field cleaning`, () => {\n beforeEach(() => {\n pageObject = context.pageObject;\n fixture = context.fixture;\n testComponent = context.testComponent;\n inputPO = context.inputPO;\n\n fixture.autoDetectChanges();\n });\n\n describe(`Cross included`, () => {\n beforeEach(() => {\n testComponent.cleaner = true;\n });\n\n it(`If no value is specified, the cross is not shown`, () => {\n updateValue(clearValue);\n\n fixture.detectChanges();\n\n expect(getCleaner()).toBeNull();\n });\n\n it(`If the field is readonly, the cross is not shown`, () => {\n updateValue(setValue);\n\n testComponent.readOnly = true;\n fixture.detectChanges();\n\n expect(getCleaner()).toBeNull();\n });\n\n it(`If the field is disabled, the cross is not shown`, () => {\n updateValue(setValue);\n\n if (testComponent.control) {\n testComponent.control.disable();\n }\n\n testComponent.disabled = true;\n fixture.detectChanges();\n\n expect(getCleaner()).toBeNull();\n });\n\n it(`If a value is specified, a cross is shown`, () => {\n updateValue(setValue);\n\n fixture.detectChanges();\n\n expect(getCleaner()).not.toBeNull();\n });\n\n it(`When you click on the cross, the field value is cleared`, () => {\n updateValue(setValue);\n\n fixture.detectChanges();\n\n getCleaner()!.nativeElement.click();\n fixture.detectChanges();\n\n expect(inputPO.value).toBe(``);\n\n if (testComponent.control !== undefined) {\n expect(testComponent.control.value).toEqual(clearValue);\n }\n\n if (testComponent.value !== undefined) {\n expect(testComponent.value).toEqual(clearValue);\n }\n });\n });\n\n describe(`Cross disabled`, () => {\n it(`The value is set, the cross is not shown`, () => {\n updateValue(setValue);\n\n testComponent.cleaner = false;\n fixture.detectChanges();\n\n expect(getCleaner()).toBeNull();\n });\n });\n });\n\n function updateValue(value: unknown): void {\n if (testComponent.control) {\n testComponent.control.setValue(value);\n } else {\n testComponent.value = value;\n }\n }\n\n function getCleaner(): DebugElement | null {\n return pageObject.getByAutomationId(`${context.prefix}cleaner`);\n }\n}\n","import {DebugElement} from '@angular/core';\nimport {ComponentFixture} from '@angular/core/testing';\nimport {UntypedFormControl} from '@angular/forms';\n\nimport {TuiNativeInputPO} from '../native-input.page-object';\nimport {TuiPageObject} from '../page-object';\n\ninterface TestParams {\n fixture: ComponentFixture<unknown>;\n inputPO: TuiNativeInputPO;\n pageObject: TuiPageObject<unknown>;\n prefix: string;\n testComponent: TestComponent;\n}\n\ninterface TestComponent {\n control: UntypedFormControl;\n}\n\nexport function tuiTestFiller(\n context: TestParams,\n setValue: unknown = `value`,\n clearValue: unknown = null,\n): void {\n let pageObject: TuiPageObject<unknown>;\n let fixture: ComponentFixture<unknown>;\n let testComponent: TestComponent;\n let inputPO: TuiNativeInputPO;\n\n describe(`Filler (mask)`, () => {\n beforeEach(() => {\n pageObject = context.pageObject;\n fixture = context.fixture;\n testComponent = context.testComponent;\n inputPO = context.inputPO;\n\n fixture.detectChanges();\n });\n\n describe(`if there is no value in the field`, () => {\n beforeEach(() => {\n testComponent.control.setValue(clearValue);\n fixture.detectChanges();\n });\n\n it(`not visible`, () => {\n expect(getFiller()).toBeNull();\n });\n\n it(`when focusing appears`, async () => {\n inputPO.focus();\n fixture.detectChanges();\n await fixture.whenStable();\n expect(getFiller()).not.toBeNull();\n });\n });\n\n describe(`if the field has a value`, () => {\n beforeEach(() => {\n testComponent.control.setValue(setValue);\n fixture.detectChanges();\n });\n\n it(`not visible`, () => {\n expect(getFiller()).toBeNull();\n });\n\n it(`also not visible when focusing`, () => {\n inputPO.nativeElement?.focus();\n fixture.detectChanges();\n\n expect(getFiller()).toBeNull();\n });\n });\n });\n\n function getFiller(): DebugElement | null {\n return pageObject.getByAutomationId(`${context.prefix}filler`);\n }\n}\n","import {ComponentFixture} from '@angular/core/testing';\nimport {UntypedFormControl} from '@angular/forms';\n\nimport {TuiNativeInputPO} from '../native-input.page-object';\n\ninterface TestParams {\n fixture: ComponentFixture<unknown>;\n inputPO: TuiNativeInputPO;\n testComponent: TestComponent;\n}\n\ninterface TestComponent {\n control: UntypedFormControl;\n}\n\nexport function tuiTestFormControlState(context: TestParams): void {\n let fixture: ComponentFixture<unknown>;\n let testComponent: TestComponent;\n let inputPO: TuiNativeInputPO;\n\n describe(`FormControl state`, () => {\n beforeEach(() => {\n fixture = context.fixture;\n testComponent = context.testComponent;\n inputPO = context.inputPO;\n\n fixture.detectChanges();\n });\n\n it(`After initializing control dirty === false`, () => {\n expect(testComponent.control.dirty).toBe(false);\n });\n\n it(`After control initialization touched === false`, () => {\n expect(testComponent.control.touched).toBe(false);\n });\n\n it(`After setting value from outside dirty === false`, () => {\n testComponent.control.setValue(`123`);\n fixture.detectChanges();\n\n expect(testComponent.control.dirty).toBe(false);\n });\n\n it(`After entering the value dirty === true`, () => {\n inputPO.sendText(`123`);\n\n expect(testComponent.control.dirty).toBe(true);\n });\n\n it(`After setting and de-focusing touched === true`, async () => {\n inputPO.focus();\n inputPO.blur();\n\n await fixture.whenStable();\n\n fixture.detectChanges();\n expect(testComponent.control.touched).toBe(true);\n });\n });\n}\n","import {DebugElement} from '@angular/core';\nimport {ComponentFixture} from '@angular/core/testing';\nimport {UntypedFormControl} from '@angular/forms';\n\nimport {TuiPageObject} from '../page-object';\n\ninterface TestParams {\n fixture: ComponentFixture<unknown>;\n pageObject: TuiPageObject<unknown>;\n prefix: string;\n testComponent: TestComponent;\n}\n\ninterface TestComponent {\n control?: UntypedFormControl;\n labelOutside: boolean;\n size: 'l' | 'm' | 's';\n value?: unknown;\n}\n\nexport function tuiTestPlaceholder(\n context: TestParams,\n setValue: unknown = `value`,\n clearValue: unknown = ``,\n): void {\n let pageObject: TuiPageObject<unknown>;\n let fixture: ComponentFixture<unknown>;\n let testComponent: TestComponent;\n\n describe(`Placeholder`, () => {\n beforeEach(() => {\n pageObject = context.pageObject;\n fixture = context.fixture;\n testComponent = context.testComponent;\n\n fixture.autoDetectChanges();\n });\n\n describe(`in size S`, () => {\n beforeEach(() => {\n testComponent.size = `s`;\n fixture.detectChanges();\n });\n\n it(`if no value, then shown`, () => {\n updateValue(clearValue);\n fixture.detectChanges();\n\n expect(getPlaceholder()).not.toBeNull();\n });\n\n it(`if specified, not shown`, () => {\n updateValue(setValue);\n fixture.detectChanges();\n\n expect(getPlaceholder()).toBeNull();\n });\n });\n\n describe(`in size M`, () => {\n beforeEach(() => {\n testComponent.size = `m`;\n fixture.detectChanges();\n });\n\n it(`if no value, then shown`, () => {\n updateValue(clearValue);\n fixture.detectChanges();\n\n expect(getPlaceholder()).not.toBeNull();\n });\n\n it(`if a value is given, then`, () => {\n updateValue(setValue);\n testComponent.labelOutside = false;\n fixture.detectChanges();\n\n expect(getPlaceholder()).not.toBeNull();\n });\n\n it(`if value is given but label is outside, then not shown`, () => {\n updateValue(setValue);\n testComponent.labelOutside = true;\n fixture.detectChanges();\n\n expect(getPlaceholder()).toBeNull();\n });\n });\n\n describe(`in size L`, () => {\n beforeEach(() => {\n testComponent.size = `l`;\n fixture.detectChanges();\n });\n\n it(`if no value, then shown`, () => {\n updateValue(clearValue);\n fixture.detectChanges();\n\n expect(getPlaceholder()).not.toBeNull();\n });\n\n it(`if a value is given, then`, () => {\n updateValue(setValue);\n testComponent.labelOutside = false;\n fixture.detectChanges();\n\n expect(getPlaceholder()).not.toBeNull();\n });\n\n it(`if value is given but label is outside, then not shown`, () => {\n updateValue(setValue);\n testComponent.labelOutside = true;\n fixture.detectChanges();\n\n expect(getPlaceholder()).toBeNull();\n });\n });\n });\n\n function updateValue(value: unknown): void {\n if (testComponent.control) {\n testComponent.control.setValue(value);\n } else {\n testComponent.value = value;\n }\n }\n\n function getPlaceholder(): DebugElement | null {\n return pageObject.getByAutomationId(`${context.prefix}placeholder`);\n }\n}\n","import {DebugElement} from '@angular/core';\nimport {ComponentFixture} from '@angular/core/testing';\nimport {UntypedFormControl} from '@angular/forms';\n\nimport {TuiPageObject} from '../page-object';\n\ninterface TestParams {\n fixture: ComponentFixture<unknown>;\n pageObject: TuiPageObject<unknown>;\n prefix: string;\n testComponent: TestComponent;\n}\n\ninterface TestComponent {\n control?: UntypedFormControl;\n disabled?: boolean;\n hintContent: string | null;\n readOnly: boolean;\n size: unknown;\n}\n\nexport function tuiTestTooltip(context: TestParams): void {\n let pageObject: TuiPageObject<unknown>;\n let fixture: ComponentFixture<unknown>;\n let testComponent: TestComponent;\n\n describe(`Tooltip in a field`, () => {\n beforeEach(() => {\n pageObject = context.pageObject;\n fixture = context.fixture;\n testComponent = context.testComponent;\n\n fixture.autoDetectChanges();\n });\n\n describe(`There is tooltip content`, () => {\n it(`if field is disabled, there is no tooltip`, () => {\n testComponent.disabled = true;\n\n if (testComponent.control) {\n testComponent.control.disable();\n }\n\n fixture.detectChanges();\n\n expect(getTooltip()).toBeNull();\n });\n\n it(`if field is not disabled, there is tooltip`, () => {\n fixture.detectChanges();\n\n expect(getTooltip()).not.toBeNull();\n });\n\n it(`if field is readonly, there is tooltip`, () => {\n testComponent.readOnly = true;\n fixture.detectChanges();\n\n expect(getTooltip()).not.toBeNull();\n });\n });\n\n describe(`There is no tooltip content`, () => {\n beforeEach(() => {\n testComponent.hintContent = null;\n fixture.detectChanges();\n });\n\n it(`tooltip without content is hidden`, () => {\n fixture.detectChanges();\n\n expect(getTooltip()).toBeNull();\n });\n });\n });\n\n function getTooltip(): DebugElement | null {\n return pageObject.getByAutomationId(`${context.prefix}tooltip`);\n }\n}\n","import {DebugElement, Predicate} from '@angular/core';\nimport {ComponentFixture} from '@angular/core/testing';\n\nexport class TuiPageObject<T> {\n constructor(protected fixture: ComponentFixture<T>) {}\n\n static getIds({nativeElement}: DebugElement): string[] {\n const attributeValue: string | null = nativeElement.getAttribute(`automation-id`);\n\n return attributeValue === null ? [] : attributeValue.split(` `);\n }\n\n static containsId(debugElement: DebugElement, automationId: string): boolean {\n return TuiPageObject.getIds(debugElement).includes(automationId);\n }\n\n private static byAutomationId(automationId: string): Predicate<DebugElement> {\n return debugElement => TuiPageObject.containsId(debugElement, automationId);\n }\n\n getByAutomationId(\n automationId: string,\n debugElement: DebugElement = this.fixture.debugElement,\n ): DebugElement | null {\n return debugElement.query(TuiPageObject.byAutomationId(automationId));\n }\n\n // Syncing result order with DOM order: https://github.com/angular/angular/issues/13066\n getAllByAutomationId(\n automationId: string,\n debugElement: DebugElement = this.fixture.debugElement,\n ): DebugElement[] {\n const debugEls = debugElement.queryAll(\n TuiPageObject.byAutomationId(automationId),\n );\n const domEls = Array.from(\n debugElement.nativeElement.querySelectorAll(\n `[automation-id='${automationId}']`,\n ),\n );\n\n return debugEls.sort(\n (a, b) => domEls.indexOf(a.nativeElement) - domEls.indexOf(b.nativeElement),\n );\n }\n}\n","import {CHAR_NO_BREAK_SPACE} from '@taiga-ui/cdk';\n\nexport function tuiReplaceNbsp(content?: string): string {\n return content?.replace(new RegExp(CHAR_NO_BREAK_SPACE, `g`), ` `) ?? ``;\n}\n","import {DebugElement} from '@angular/core';\nimport {ComponentFixture} from '@angular/core/testing';\n\nimport {tuiCreateKeyboardEvent} from './keyboard-event';\nimport {TuiPageObject} from './page-object';\nimport {tuiReplaceNbsp} from './replace-nbsp';\n\nexport class TuiNativeInputPO {\n private readonly pageObject: TuiPageObject<unknown>;\n\n constructor(\n private readonly fixture: ComponentFixture<unknown>,\n private readonly automationId: string,\n private readonly hostDebugElement?: DebugElement,\n ) {\n this.pageObject = new TuiPageObject(fixture);\n }\n\n get nativeElement(): HTMLInputElement | HTMLTextAreaElement | null {\n return (\n this.pageObject.getByAutomationId(this.automationId, this.hostDebugElement)\n ?.nativeElement ?? null\n );\n }\n\n get value(): string {\n return tuiReplaceNbsp(this.nativeElement?.value ?? ``);\n }\n\n get focused(): boolean {\n return document.activeElement === this.nativeElement;\n }\n\n sendText(value: string): void {\n this.focus(); // need focus before initial value for emulate user interaction\n\n const nativeElement = this.nativeElement;\n\n if (nativeElement) {\n nativeElement.value = value;\n nativeElement.dispatchEvent(new Event(`input`, {bubbles: true}));\n }\n\n this.fixture.detectChanges();\n }\n\n // @bad TODO: Fix this with actually moving focus rather than just blurring\n sendTextAndBlur(value: string): void {\n this.focus();\n this.sendText(value);\n this.blur();\n }\n\n sendKeydown(key: string): void {\n this.nativeElement?.dispatchEvent(tuiCreateKeyboardEvent(key, `keydown`));\n this.fixture.detectChanges();\n }\n\n focus(): void {\n this.nativeElement?.focus();\n this.fixture.detectChanges();\n }\n\n blur(): void {\n this.nativeElement?.blur();\n this.fixture.detectChanges();\n }\n\n click(): void {\n this.nativeElement?.click();\n this.fixture.detectChanges();\n }\n}\n","export function tuiTestingViewport(width: number, height: number): void {\n Object.defineProperty(global, `innerWidth`, {\n writable: true,\n configurable: true,\n value: width,\n });\n\n Object.defineProperty(global.document.documentElement, `clientWidth`, {\n writable: true,\n configurable: true,\n value: width - 15,\n });\n\n Object.defineProperty(global, `innerHeight`, {\n writable: true,\n configurable: true,\n value: height,\n });\n\n Object.defineProperty(global.document.documentElement, `clientHeight`, {\n writable: true,\n configurable: true,\n value: height,\n });\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"taiga-ui-testing.mjs","sources":["../../../projects/testing/index.ts","../../../projects/testing/taiga-ui-testing.ts"],"sourcesContent":["/**\n * Public API Surface of testing\n *\n * @note:\n * don't export the cypress plugin as it isn't unit testing related\n */\nexport * from '@taiga-ui/testing/core';\nexport * from '@taiga-ui/testing/exceptions';\nexport * from '@taiga-ui/testing/mocks';\nexport * from '@taiga-ui/testing/utils';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAAA;;;;;AAKG;;ACLH;;AAEG"}
|
@@ -0,0 +1,405 @@
|
|
1
|
+
import { TuiContentContainerComponentHarness, TuiComponentHarness, tuiHarnessWith, tuiWithPredicate } from '@taiga-ui/testing/utils';
|
2
|
+
import { TestKey, ComponentHarness, HarnessPredicate } from '@angular/cdk/testing';
|
3
|
+
import { __decorate } from 'tslib';
|
4
|
+
|
5
|
+
class TuiAccordionHarness extends TuiContentContainerComponentHarness {
|
6
|
+
async hasRoundedCorners() {
|
7
|
+
return (await this.locatorFor(`.t-group`)()).hasClass(`tui-group_rounded`);
|
8
|
+
}
|
9
|
+
}
|
10
|
+
TuiAccordionHarness.hostSelector = `tui-accordion`;
|
11
|
+
|
12
|
+
class TuiSvgHarness extends TuiComponentHarness {
|
13
|
+
async click() {
|
14
|
+
return (await this.host()).click();
|
15
|
+
}
|
16
|
+
async text() {
|
17
|
+
return (await this.host()).text();
|
18
|
+
}
|
19
|
+
async isInnerHTML() {
|
20
|
+
return !!(await this.locatorForOptional(`div`)());
|
21
|
+
}
|
22
|
+
async getUse() {
|
23
|
+
return ((await this.locatorForOptional(`use`)())?.getAttribute(`xlink:href`) ?? null);
|
24
|
+
}
|
25
|
+
}
|
26
|
+
TuiSvgHarness.hostSelector = `tui-svg`;
|
27
|
+
|
28
|
+
class TuiAccordionItemHarness extends TuiContentContainerComponentHarness {
|
29
|
+
constructor() {
|
30
|
+
super(...arguments);
|
31
|
+
this.header = this.locatorFor(`.t-header`);
|
32
|
+
}
|
33
|
+
async getTitle() {
|
34
|
+
return (await this.locatorFor(`.t-title`)()).text();
|
35
|
+
}
|
36
|
+
async getContent() {
|
37
|
+
return (await this.locatorForOptional(`.t-content`)())?.text() ?? null;
|
38
|
+
}
|
39
|
+
async clickHeader() {
|
40
|
+
return (await this.locatorFor(`.t-header`)()).click();
|
41
|
+
}
|
42
|
+
async getBorders() {
|
43
|
+
return (await this.host()).getAttribute(`data-borders`);
|
44
|
+
}
|
45
|
+
async hasArrow() {
|
46
|
+
return (!!(await this.locatorForOptional(TuiSvgHarness.with({ selector: `.t-icon` }))()) ?? false);
|
47
|
+
}
|
48
|
+
async focus() {
|
49
|
+
return (await this.header()).focus();
|
50
|
+
}
|
51
|
+
async sendEscKey() {
|
52
|
+
return (await this.header()).sendKeys(TestKey.ESCAPE);
|
53
|
+
}
|
54
|
+
}
|
55
|
+
TuiAccordionItemHarness.hostSelector = `tui-accordion-item`;
|
56
|
+
|
57
|
+
class TuiMarkerIconHarness extends TuiComponentHarness {
|
58
|
+
}
|
59
|
+
TuiMarkerIconHarness.hostSelector = `tui-marker-icon`;
|
60
|
+
|
61
|
+
class TuiActionHarness extends TuiComponentHarness {
|
62
|
+
constructor() {
|
63
|
+
super(...arguments);
|
64
|
+
this.getIconHarness = this.locatorForOptional(TuiMarkerIconHarness);
|
65
|
+
}
|
66
|
+
async icon() {
|
67
|
+
return this.getIconHarness();
|
68
|
+
}
|
69
|
+
}
|
70
|
+
TuiActionHarness.hostSelector = `button[tuiAction], a[tuiAction]`;
|
71
|
+
|
72
|
+
class TuiAvatarHarness extends TuiComponentHarness {
|
73
|
+
async text() {
|
74
|
+
return (await this.host()).text();
|
75
|
+
}
|
76
|
+
}
|
77
|
+
TuiAvatarHarness.hostSelector = `tui-avatar`;
|
78
|
+
|
79
|
+
class TuiBadgeHarness extends TuiComponentHarness {
|
80
|
+
async text() {
|
81
|
+
return (await this.host()).text();
|
82
|
+
}
|
83
|
+
async padding() {
|
84
|
+
return (await this.host()).getAttribute(`data-padding`);
|
85
|
+
}
|
86
|
+
async hasClass(cls) {
|
87
|
+
return (await this.host()).hasClass(cls);
|
88
|
+
}
|
89
|
+
}
|
90
|
+
TuiBadgeHarness.hostSelector = `tui-badge`;
|
91
|
+
|
92
|
+
let TuiLoaderHarness = class TuiLoaderHarness extends tuiHarnessWith(`tui-loader`) {
|
93
|
+
constructor() {
|
94
|
+
super(...arguments);
|
95
|
+
this.loader = this.locatorForOptional(`fieldset.t-content + .t-loader`);
|
96
|
+
}
|
97
|
+
async isLoading() {
|
98
|
+
return !!(await this.loader());
|
99
|
+
}
|
100
|
+
async getText() {
|
101
|
+
const loader = await this.loader();
|
102
|
+
return loader?.text() ?? ``;
|
103
|
+
}
|
104
|
+
};
|
105
|
+
TuiLoaderHarness = __decorate([
|
106
|
+
tuiWithPredicate
|
107
|
+
], TuiLoaderHarness);
|
108
|
+
|
109
|
+
class TuiButtonHarness extends TuiComponentHarness {
|
110
|
+
constructor() {
|
111
|
+
super(...arguments);
|
112
|
+
this.loader = this.locatorForOptional(TuiLoaderHarness);
|
113
|
+
}
|
114
|
+
async isLoading() {
|
115
|
+
return !!(await this.loader());
|
116
|
+
}
|
117
|
+
async hasClass(input) {
|
118
|
+
return (await this.host()).hasClass(input);
|
119
|
+
}
|
120
|
+
}
|
121
|
+
TuiButtonHarness.hostSelector = `button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]`;
|
122
|
+
|
123
|
+
class TuiDayCellHarness extends ComponentHarness {
|
124
|
+
static with(options) {
|
125
|
+
return new HarnessPredicate(TuiDayCellHarness, options).addOption(`day`, options.day, async (harness, text) => HarnessPredicate.stringMatches(harness.getText(), `${text}`));
|
126
|
+
}
|
127
|
+
async getText() {
|
128
|
+
return (await this.locatorFor(`.t-item`)()).text();
|
129
|
+
}
|
130
|
+
async click() {
|
131
|
+
return (await this.host()).click();
|
132
|
+
}
|
133
|
+
async hover() {
|
134
|
+
return (await this.host()).hover();
|
135
|
+
}
|
136
|
+
}
|
137
|
+
TuiDayCellHarness.hostSelector = `.t-cell:not(.t-cell_unavailable)`;
|
138
|
+
class TuiPrimitiveCalendarHarness extends TuiComponentHarness {
|
139
|
+
async clickDay(day) {
|
140
|
+
const dayCell = await this.locatorFor(TuiDayCellHarness.with({ day, ancestor: `#date-rows` }))();
|
141
|
+
return dayCell.click();
|
142
|
+
}
|
143
|
+
async hoverDay(day) {
|
144
|
+
const dayCell = await this.locatorFor(TuiDayCellHarness.with({ day, ancestor: `#date-rows` }))();
|
145
|
+
return dayCell.hover();
|
146
|
+
}
|
147
|
+
}
|
148
|
+
TuiPrimitiveCalendarHarness.hostSelector = `tui-primitive-calendar`;
|
149
|
+
|
150
|
+
class TuiPrimitiveSpinButtonHarness extends TuiComponentHarness {
|
151
|
+
async isLeftDisabled() {
|
152
|
+
return (await this.locatorForAll(TuiButtonHarness)())[0].hasClass(`t-hidden`);
|
153
|
+
}
|
154
|
+
async isRightDisabled() {
|
155
|
+
return (await this.locatorForAll(TuiButtonHarness)())[1].hasClass(`t-hidden`);
|
156
|
+
}
|
157
|
+
}
|
158
|
+
TuiPrimitiveSpinButtonHarness.hostSelector = `tui-primitive-spin-button`;
|
159
|
+
|
160
|
+
class TuiPrimitiveYearMonthPaginationHarness extends TuiComponentHarness {
|
161
|
+
constructor() {
|
162
|
+
super(...arguments);
|
163
|
+
this.buttonLeft = this.locatorForOptional(`button[tuiIconButton]:first-child`);
|
164
|
+
this.content = this.locatorForOptional(`.t-calendar-title`);
|
165
|
+
this.buttonRight = this.locatorForOptional(`button[tuiIconButton]:last-child`);
|
166
|
+
this.button = this.locatorForOptional(`#year-btn`);
|
167
|
+
this.primitiveSpinButton = this.locatorFor(TuiPrimitiveSpinButtonHarness);
|
168
|
+
}
|
169
|
+
async clickLeft() {
|
170
|
+
return (await this.buttonLeft())?.click();
|
171
|
+
}
|
172
|
+
async getContentText() {
|
173
|
+
return (await this.content())?.text() ?? ``;
|
174
|
+
}
|
175
|
+
async clickRight() {
|
176
|
+
return (await this.buttonRight())?.click();
|
177
|
+
}
|
178
|
+
async clickYear() {
|
179
|
+
return (await this.button())?.click();
|
180
|
+
}
|
181
|
+
async isLeftDisabled() {
|
182
|
+
return (await this.primitiveSpinButton()).isLeftDisabled();
|
183
|
+
}
|
184
|
+
async isRightDisabled() {
|
185
|
+
return (await this.primitiveSpinButton()).isRightDisabled();
|
186
|
+
}
|
187
|
+
}
|
188
|
+
TuiPrimitiveYearMonthPaginationHarness.hostSelector = `tui-primitive-year-month-pagination`;
|
189
|
+
|
190
|
+
class TuiYearCellHarness extends ComponentHarness {
|
191
|
+
static with(options) {
|
192
|
+
return new HarnessPredicate(TuiYearCellHarness, options).addOption(`year`, options.year, async (harness, text) => HarnessPredicate.stringMatches(harness.getText(), text));
|
193
|
+
}
|
194
|
+
async getText() {
|
195
|
+
return (await this.locatorFor(`.t-item`)()).text();
|
196
|
+
}
|
197
|
+
async click() {
|
198
|
+
return (await this.host()).click();
|
199
|
+
}
|
200
|
+
}
|
201
|
+
TuiYearCellHarness.hostSelector = `.t-cell`;
|
202
|
+
class TuiPrimitiveYearPickerHarness extends TuiComponentHarness {
|
203
|
+
async clickYear(year) {
|
204
|
+
const yearCell = await this.locatorFor(TuiYearCellHarness.with({ year }))();
|
205
|
+
return yearCell.click();
|
206
|
+
}
|
207
|
+
}
|
208
|
+
TuiPrimitiveYearPickerHarness.hostSelector = `tui-primitive-year-picker`;
|
209
|
+
|
210
|
+
class TuiCalendarHarness extends TuiComponentHarness {
|
211
|
+
constructor() {
|
212
|
+
super(...arguments);
|
213
|
+
this.getPrimitiveYearPickerHarness = this.locatorForOptional(TuiPrimitiveYearPickerHarness);
|
214
|
+
this.getPrimitiveYearMonthPaginationHarness = this.locatorForOptional(TuiPrimitiveYearMonthPaginationHarness);
|
215
|
+
this.getPrimitiveCalendarHarness = this.locatorForOptional(TuiPrimitiveCalendarHarness);
|
216
|
+
}
|
217
|
+
async yearPickerShown() {
|
218
|
+
return !!(await this.getPrimitiveYearPickerHarness());
|
219
|
+
}
|
220
|
+
async yearMonthPaginationShown() {
|
221
|
+
return !!(await this.getPrimitiveYearMonthPaginationHarness());
|
222
|
+
}
|
223
|
+
async primitiveCalendarShown() {
|
224
|
+
return !!(await this.getPrimitiveCalendarHarness());
|
225
|
+
}
|
226
|
+
async isPaginationLeftDisabled() {
|
227
|
+
return ((await this.getPrimitiveYearMonthPaginationHarness())?.isLeftDisabled() ??
|
228
|
+
false);
|
229
|
+
}
|
230
|
+
async isPaginationRightDisabled() {
|
231
|
+
return ((await this.getPrimitiveYearMonthPaginationHarness())?.isRightDisabled() ??
|
232
|
+
false);
|
233
|
+
}
|
234
|
+
async clickMonthLeft() {
|
235
|
+
return (await this.getPrimitiveYearMonthPaginationHarness())?.clickLeft();
|
236
|
+
}
|
237
|
+
async getContentText() {
|
238
|
+
return ((await this.getPrimitiveYearMonthPaginationHarness())?.getContentText() ?? ``);
|
239
|
+
}
|
240
|
+
async clickMonthRight() {
|
241
|
+
return (await this.getPrimitiveYearMonthPaginationHarness())?.clickRight();
|
242
|
+
}
|
243
|
+
async clickPaginationYear() {
|
244
|
+
return (await this.getPrimitiveYearMonthPaginationHarness())?.clickYear();
|
245
|
+
}
|
246
|
+
async clickPickerYear(year) {
|
247
|
+
return (await this.getPrimitiveYearPickerHarness())?.clickYear(year);
|
248
|
+
}
|
249
|
+
async clickDay(day) {
|
250
|
+
return (await this.getPrimitiveCalendarHarness())?.clickDay(day);
|
251
|
+
}
|
252
|
+
async hoverDay(day) {
|
253
|
+
return (await this.getPrimitiveCalendarHarness())?.hoverDay(day);
|
254
|
+
}
|
255
|
+
}
|
256
|
+
TuiCalendarHarness.hostSelector = `tui-calendar`;
|
257
|
+
|
258
|
+
class TuiThumbnailCardHarness extends TuiComponentHarness {
|
259
|
+
async hasPaymentSystemLogo() {
|
260
|
+
const tuiSvg = await this.locatorForOptional(TuiSvgHarness.with({ selector: `.t-payment-system-logo` }))();
|
261
|
+
return !!tuiSvg;
|
262
|
+
}
|
263
|
+
async hasBrandLogo() {
|
264
|
+
const tuiSvg = await this.locatorForOptional(TuiSvgHarness.with({ selector: `.t-brand-logo` }))();
|
265
|
+
return !!tuiSvg;
|
266
|
+
}
|
267
|
+
}
|
268
|
+
TuiThumbnailCardHarness.hostSelector = `tui-thumbnail-card`;
|
269
|
+
/**
|
270
|
+
* @deprecated use {@link TuiThumbnailCardHarness}
|
271
|
+
*/
|
272
|
+
class TuiCardHarness extends TuiThumbnailCardHarness {
|
273
|
+
}
|
274
|
+
TuiCardHarness.hostSelector = `tui-card`;
|
275
|
+
|
276
|
+
class TuiDialogHarness extends TuiContentContainerComponentHarness {
|
277
|
+
async getCloseButton() {
|
278
|
+
return this.locatorForOptional(TuiButtonHarness.with({
|
279
|
+
selector: `[automation-id=tui-dialog__close]`,
|
280
|
+
}))();
|
281
|
+
}
|
282
|
+
}
|
283
|
+
TuiDialogHarness.hostSelector = `tui-dialog`;
|
284
|
+
|
285
|
+
class TuiHostedDropdownHarness extends TuiContentContainerComponentHarness {
|
286
|
+
async sendSpaceKey() {
|
287
|
+
return (await this.host()).sendKeys(` `);
|
288
|
+
}
|
289
|
+
async sendEscKey() {
|
290
|
+
return (await this.host()).sendKeys(TestKey.ESCAPE);
|
291
|
+
}
|
292
|
+
}
|
293
|
+
TuiHostedDropdownHarness.hostSelector = `tui-hosted-dropdown`;
|
294
|
+
|
295
|
+
class TuiIslandHarness extends TuiComponentHarness {
|
296
|
+
async getSize() {
|
297
|
+
if (await this.isSizeL()) {
|
298
|
+
return `l`;
|
299
|
+
}
|
300
|
+
if (await this.isSizeM()) {
|
301
|
+
return `m`;
|
302
|
+
}
|
303
|
+
return `s`;
|
304
|
+
}
|
305
|
+
async getTextAlign() {
|
306
|
+
if (await this.isTextAlignLeft()) {
|
307
|
+
return `left`;
|
308
|
+
}
|
309
|
+
if (await this.isTextAlignCenter()) {
|
310
|
+
return `center`;
|
311
|
+
}
|
312
|
+
return `right`;
|
313
|
+
}
|
314
|
+
async isHoverable() {
|
315
|
+
return (await this.host()).hasClass(`tui-island_hoverable`);
|
316
|
+
}
|
317
|
+
async isTextAlignLeft() {
|
318
|
+
return (await this.host()).hasClass(`tui-island_text-align_left`);
|
319
|
+
}
|
320
|
+
async isTextAlignCenter() {
|
321
|
+
return (await this.host()).hasClass(`tui-island_text-align_center`);
|
322
|
+
}
|
323
|
+
async isSizeM() {
|
324
|
+
return (await this.host()).hasClass(`tui-island_size_m`);
|
325
|
+
}
|
326
|
+
async isSizeL() {
|
327
|
+
return (await this.host()).hasClass(`tui-island_size_l`);
|
328
|
+
}
|
329
|
+
}
|
330
|
+
TuiIslandHarness.hostSelector = `tui-island`;
|
331
|
+
|
332
|
+
class TuiPrimitiveTextfieldHarness extends TuiComponentHarness {
|
333
|
+
async valueDecorationText() {
|
334
|
+
return (await this.locatorFor(`tui-value-decoration`)()).text();
|
335
|
+
}
|
336
|
+
async inputPlaceholder() {
|
337
|
+
return (await this.locatorFor(`input`)()).getProperty(`placeholder`);
|
338
|
+
}
|
339
|
+
}
|
340
|
+
TuiPrimitiveTextfieldHarness.hostSelector = `tui-primitive-textfield`;
|
341
|
+
|
342
|
+
class TuiSelectHarness extends TuiComponentHarness {
|
343
|
+
constructor() {
|
344
|
+
super(...arguments);
|
345
|
+
this.hostedDropdown = this.locatorFor(TuiHostedDropdownHarness);
|
346
|
+
}
|
347
|
+
async sendSpaceKey() {
|
348
|
+
return (await this.hostedDropdown()).sendSpaceKey();
|
349
|
+
}
|
350
|
+
async sendEscKey() {
|
351
|
+
return (await this.hostedDropdown()).sendEscKey();
|
352
|
+
}
|
353
|
+
}
|
354
|
+
TuiSelectHarness.hostSelector = `tui-select`;
|
355
|
+
|
356
|
+
class TuiTagHarness extends TuiComponentHarness {
|
357
|
+
async getCrossIcon() {
|
358
|
+
return this.locatorForOptional(TuiSvgHarness.with({ selector: `.t-icon` }))();
|
359
|
+
}
|
360
|
+
async getBackgroundColor() {
|
361
|
+
const div = await this.locatorFor(`:first-child`)();
|
362
|
+
return div.getCssValue(`background-color`);
|
363
|
+
}
|
364
|
+
async getInput() {
|
365
|
+
return this.locatorForOptional(`input.t-edit`)();
|
366
|
+
}
|
367
|
+
async sendEnter() {
|
368
|
+
return (await this.host()).sendKeys(TestKey.ENTER);
|
369
|
+
}
|
370
|
+
async sendBackspace() {
|
371
|
+
return (await this.host()).sendKeys(TestKey.BACKSPACE);
|
372
|
+
}
|
373
|
+
async sendDelete() {
|
374
|
+
return (await this.host()).sendKeys(TestKey.DELETE);
|
375
|
+
}
|
376
|
+
}
|
377
|
+
TuiTagHarness.hostSelector = `tui-tag`;
|
378
|
+
|
379
|
+
class TuiTextfieldHarness extends TuiComponentHarness {
|
380
|
+
async sendSpaceKey() {
|
381
|
+
return (await this.host()).sendKeys(` `);
|
382
|
+
}
|
383
|
+
}
|
384
|
+
TuiTextfieldHarness.hostSelector = `input[tuiTextfield], textarea[tuiTextfield]`;
|
385
|
+
|
386
|
+
class TuiToggleHarness extends TuiComponentHarness {
|
387
|
+
constructor() {
|
388
|
+
super(...arguments);
|
389
|
+
this.input = this.locatorFor(`input`);
|
390
|
+
}
|
391
|
+
async toggle() {
|
392
|
+
return (await this.input()).click();
|
393
|
+
}
|
394
|
+
async getIcons() {
|
395
|
+
return this.locatorForAll(TuiSvgHarness)();
|
396
|
+
}
|
397
|
+
}
|
398
|
+
TuiToggleHarness.hostSelector = `tui-toggle`;
|
399
|
+
|
400
|
+
/**
|
401
|
+
* Generated bundle index. Do not edit.
|
402
|
+
*/
|
403
|
+
|
404
|
+
export { TuiAccordionHarness, TuiAccordionItemHarness, TuiActionHarness, TuiAvatarHarness, TuiBadgeHarness, TuiButtonHarness, TuiCalendarHarness, TuiCardHarness, TuiDialogHarness, TuiHostedDropdownHarness, TuiIslandHarness, TuiLoaderHarness, TuiMarkerIconHarness, TuiPrimitiveCalendarHarness, TuiPrimitiveSpinButtonHarness, TuiPrimitiveTextfieldHarness, TuiSelectHarness, TuiSvgHarness, TuiTagHarness, TuiTextfieldHarness, TuiThumbnailCardHarness, TuiToggleHarness };
|
405
|
+
//# sourceMappingURL=taiga-ui-testing-core.mjs.map
|