@thinkwise/testwise 0.2.62 → 0.2.67
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/components/filter/ExcelStyleFilterPopup.ts +50 -10
- package/components/filter/ExcelStyleFilterPopupObjects.ts +29 -3
- package/components/grid/Grid.ts +33 -14
- package/components/grid/GridObjects.ts +0 -15
- package/controls/DateControl.ts +8 -9
- package/controls/DateControlObjects.ts +15 -0
- package/controls/FormComboBox.ts +12 -25
- package/controls/FormComboBoxObjects.ts +27 -0
- package/controls/GridColumnControl.ts +1 -1
- package/controls/GridColumnControlObjects.ts +1 -1
- package/controls/InputFieldControl.ts +11 -14
- package/controls/InputFieldControlObjects.ts +19 -0
- package/controls/LookupDropdown.ts +29 -30
- package/controls/LookupDropdownObjects.ts +19 -0
- package/dist/components/filter/ExcelStyleFilterPopup.d.ts +11 -1
- package/dist/components/filter/ExcelStyleFilterPopup.js +47 -5
- package/dist/components/filter/ExcelStyleFilterPopup.js.map +1 -1
- package/dist/components/filter/ExcelStyleFilterPopupObjects.d.ts +7 -0
- package/dist/components/filter/ExcelStyleFilterPopupObjects.js +14 -1
- package/dist/components/filter/ExcelStyleFilterPopupObjects.js.map +1 -1
- package/dist/components/grid/Grid.d.ts +3 -1
- package/dist/components/grid/Grid.js +18 -25
- package/dist/components/grid/Grid.js.map +1 -1
- package/dist/components/grid/GridObjects.d.ts +0 -4
- package/dist/components/grid/GridObjects.js +0 -6
- package/dist/components/grid/GridObjects.js.map +1 -1
- package/dist/controls/DateControl.d.ts +1 -2
- package/dist/controls/DateControl.js +7 -7
- package/dist/controls/DateControl.js.map +1 -1
- package/dist/controls/DateControlObjects.d.ts +8 -1
- package/dist/controls/DateControlObjects.js +8 -1
- package/dist/controls/DateControlObjects.js.map +1 -1
- package/dist/controls/FormComboBox.js +11 -16
- package/dist/controls/FormComboBox.js.map +1 -1
- package/dist/controls/FormComboBoxObjects.d.ts +12 -1
- package/dist/controls/FormComboBoxObjects.js +15 -1
- package/dist/controls/FormComboBoxObjects.js.map +1 -1
- package/dist/controls/GridColumnControl.js +1 -1
- package/dist/controls/GridColumnControl.js.map +1 -1
- package/dist/controls/GridColumnControlObjects.js +1 -1
- package/dist/controls/GridColumnControlObjects.js.map +1 -1
- package/dist/controls/InputFieldControl.d.ts +1 -3
- package/dist/controls/InputFieldControl.js +10 -11
- package/dist/controls/InputFieldControl.js.map +1 -1
- package/dist/controls/InputFieldControlObjects.d.ts +10 -1
- package/dist/controls/InputFieldControlObjects.js +10 -1
- package/dist/controls/InputFieldControlObjects.js.map +1 -1
- package/dist/controls/LookupDropdown.js +28 -25
- package/dist/controls/LookupDropdown.js.map +1 -1
- package/dist/controls/LookupDropdownObjects.d.ts +10 -0
- package/dist/controls/LookupDropdownObjects.js +11 -0
- package/dist/controls/LookupDropdownObjects.js.map +1 -0
- package/package.json +1 -1
|
@@ -1,9 +1,19 @@
|
|
|
1
1
|
import type { Locator, Page } from '@playwright/test';
|
|
2
2
|
export declare class ExcelStyleFilterPopup {
|
|
3
|
-
private
|
|
3
|
+
private _objects;
|
|
4
4
|
constructor(page: Page);
|
|
5
5
|
waitForOpen(): Promise<void>;
|
|
6
6
|
intervalFilters(): Locator;
|
|
7
7
|
fromDateInput(fieldTestId: string): Locator;
|
|
8
|
+
toDateInput(fieldTestId: string): Locator;
|
|
9
|
+
waitForClose(): Promise<void>;
|
|
10
|
+
setToDate(fieldTestId: string, value: string): Promise<void>;
|
|
8
11
|
setFromDate(fieldTestId: string, value: string): Promise<void>;
|
|
12
|
+
clickSelectAll(fieldTestId: string): Promise<void>;
|
|
13
|
+
clickCheckboxItem(fieldTestId: string, value: string): Promise<void>;
|
|
14
|
+
checkboxItem(fieldTestId: string, value: string): Locator;
|
|
15
|
+
fromTimeInput(fieldTestId: string): Locator;
|
|
16
|
+
toTimeInput(fieldTestId: string): Locator;
|
|
17
|
+
setFromTime(fieldTestId: string, value: string): Promise<void>;
|
|
18
|
+
setToTime(fieldTestId: string, value: string): Promise<void>;
|
|
9
19
|
}
|
|
@@ -1,20 +1,62 @@
|
|
|
1
1
|
import { ExcelStyleFilterPopupObjects } from './ExcelStyleFilterPopupObjects.js';
|
|
2
2
|
export class ExcelStyleFilterPopup {
|
|
3
3
|
constructor(page) {
|
|
4
|
-
this.
|
|
4
|
+
this._objects = new ExcelStyleFilterPopupObjects(page);
|
|
5
5
|
}
|
|
6
6
|
async waitForOpen() {
|
|
7
|
-
await this.
|
|
7
|
+
await (await this._objects.anchor().all()).filter(async (element) => await element.isVisible());
|
|
8
8
|
}
|
|
9
9
|
intervalFilters() {
|
|
10
|
-
return this.
|
|
10
|
+
return this._objects.intervalFilters();
|
|
11
11
|
}
|
|
12
12
|
fromDateInput(fieldTestId) {
|
|
13
|
-
return this.
|
|
13
|
+
return this._objects.fromDateInput(fieldTestId);
|
|
14
|
+
}
|
|
15
|
+
toDateInput(fieldTestId) {
|
|
16
|
+
return this._objects.toDateInput(fieldTestId);
|
|
17
|
+
}
|
|
18
|
+
// wait for close
|
|
19
|
+
async waitForClose() {
|
|
20
|
+
await (await this._objects.anchor().all()).filter(async (element) => !(await element.isVisible()));
|
|
21
|
+
}
|
|
22
|
+
async setToDate(fieldTestId, value) {
|
|
23
|
+
await this.waitForOpen();
|
|
24
|
+
const input = this._objects.toDateInput(fieldTestId);
|
|
25
|
+
await input.fill(value);
|
|
26
|
+
await input.press('Enter');
|
|
14
27
|
}
|
|
15
28
|
async setFromDate(fieldTestId, value) {
|
|
16
29
|
await this.waitForOpen();
|
|
17
|
-
const input = this.
|
|
30
|
+
const input = this._objects.fromDateInput(fieldTestId);
|
|
31
|
+
await input.fill(value);
|
|
32
|
+
await input.press('Enter');
|
|
33
|
+
}
|
|
34
|
+
async clickSelectAll(fieldTestId) {
|
|
35
|
+
await this.waitForOpen();
|
|
36
|
+
await this._objects.checkboxSelectAllButton(fieldTestId).click();
|
|
37
|
+
}
|
|
38
|
+
async clickCheckboxItem(fieldTestId, value) {
|
|
39
|
+
await this.waitForOpen();
|
|
40
|
+
await this._objects.checkboxItemButtons(fieldTestId).filter({ hasText: value }).click();
|
|
41
|
+
}
|
|
42
|
+
checkboxItem(fieldTestId, value) {
|
|
43
|
+
return this._objects.checkboxItemCheckboxes(fieldTestId).filter({ hasText: value });
|
|
44
|
+
}
|
|
45
|
+
fromTimeInput(fieldTestId) {
|
|
46
|
+
return this._objects.fromTimeInput(fieldTestId);
|
|
47
|
+
}
|
|
48
|
+
toTimeInput(fieldTestId) {
|
|
49
|
+
return this._objects.toTimeInput(fieldTestId);
|
|
50
|
+
}
|
|
51
|
+
async setFromTime(fieldTestId, value) {
|
|
52
|
+
await this.waitForOpen();
|
|
53
|
+
const input = this._objects.fromTimeInput(fieldTestId);
|
|
54
|
+
await input.fill(value);
|
|
55
|
+
await input.press('Enter');
|
|
56
|
+
}
|
|
57
|
+
async setToTime(fieldTestId, value) {
|
|
58
|
+
await this.waitForOpen();
|
|
59
|
+
const input = this._objects.toTimeInput(fieldTestId);
|
|
18
60
|
await input.fill(value);
|
|
19
61
|
await input.press('Enter');
|
|
20
62
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExcelStyleFilterPopup.js","sourceRoot":"","sources":["../../../components/filter/ExcelStyleFilterPopup.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AAEjF,MAAM,OAAO,qBAAqB;IAGhC,YAAY,IAAU;QACpB,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"ExcelStyleFilterPopup.js","sourceRoot":"","sources":["../../../components/filter/ExcelStyleFilterPopup.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,4 +6,11 @@ export declare class ExcelStyleFilterPopupObjects extends BaseComponentObjects {
|
|
|
6
6
|
anchor: () => import("@playwright/test").Locator;
|
|
7
7
|
intervalFilters: () => import("@playwright/test").Locator;
|
|
8
8
|
fromDateInput: (fieldTestId: string) => import("@playwright/test").Locator;
|
|
9
|
+
toDateInput: (fieldTestId: string) => import("@playwright/test").Locator;
|
|
10
|
+
checkboxList: (fieldTestId: string) => import("@playwright/test").Locator;
|
|
11
|
+
checkboxSelectAllButton: (fieldTestId: string) => import("@playwright/test").Locator;
|
|
12
|
+
checkboxItemButtons: (fieldTestId: string) => import("@playwright/test").Locator;
|
|
13
|
+
checkboxItemCheckboxes: (fieldTestId: string) => import("@playwright/test").Locator;
|
|
14
|
+
fromTimeInput: (fieldTestId: string) => import("@playwright/test").Locator;
|
|
15
|
+
toTimeInput: (fieldTestId: string) => import("@playwright/test").Locator;
|
|
9
16
|
}
|
|
@@ -2,11 +2,24 @@ import { BaseComponentObjects } from '../BaseComponentObjects.js';
|
|
|
2
2
|
export class ExcelStyleFilterPopupObjects extends BaseComponentObjects {
|
|
3
3
|
constructor(page) {
|
|
4
4
|
super(page, page.locator('body'));
|
|
5
|
-
this.anchor = () => this._page.locator('[data-testid
|
|
5
|
+
this.anchor = () => this._page.locator('[data-testid*="-excel-filter__"]');
|
|
6
6
|
this.intervalFilters = () => this._page.getByTestId('excel-style-filter-popup__interval-filters');
|
|
7
7
|
this.fromDateInput = (fieldTestId) => this._page
|
|
8
8
|
.getByTestId(`date-time-excel-filter__${fieldTestId}__from`)
|
|
9
9
|
.getByTestId(`form-field__${fieldTestId}__date__input`);
|
|
10
|
+
this.toDateInput = (fieldTestId) => this._page
|
|
11
|
+
.getByTestId(`date-time-excel-filter__${fieldTestId}__to`)
|
|
12
|
+
.getByTestId(`form-field__${fieldTestId}__date__input`);
|
|
13
|
+
this.checkboxList = (fieldTestId) => this._page.locator(`[data-testid*="-excel-filter__${fieldTestId}__list"]`);
|
|
14
|
+
this.checkboxSelectAllButton = (fieldTestId) => this._page.locator(`[data-testid*="-excel-filter__${fieldTestId}__list-item-select-all-checkbox"]`);
|
|
15
|
+
this.checkboxItemButtons = (fieldTestId) => this._page.locator(`[data-testid*="-excel-filter__${fieldTestId}__list-item-button__"]`);
|
|
16
|
+
this.checkboxItemCheckboxes = (fieldTestId) => this._page.locator(`[data-testid*="-excel-filter__${fieldTestId}__list-item-checkbox__"]`);
|
|
17
|
+
this.fromTimeInput = (fieldTestId) => this._page
|
|
18
|
+
.getByTestId(`date-time-excel-filter__${fieldTestId}__from`)
|
|
19
|
+
.getByTestId(`form-field__${fieldTestId}__time__input`);
|
|
20
|
+
this.toTimeInput = (fieldTestId) => this._page
|
|
21
|
+
.getByTestId(`date-time-excel-filter__${fieldTestId}__to`)
|
|
22
|
+
.getByTestId(`form-field__${fieldTestId}__time__input`);
|
|
10
23
|
this._page = page;
|
|
11
24
|
}
|
|
12
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExcelStyleFilterPopupObjects.js","sourceRoot":"","sources":["../../../components/filter/ExcelStyleFilterPopupObjects.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,MAAM,OAAO,4BAA6B,SAAQ,oBAAoB;IAGpE,YAAY,IAAU;QACpB,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"ExcelStyleFilterPopupObjects.js","sourceRoot":"","sources":["../../../components/filter/ExcelStyleFilterPopupObjects.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,MAAM,OAAO,4BAA6B,SAAQ,oBAAoB;IAGpE,YAAY,IAAU;QACpB,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAG7B,WAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;QAEtE,oBAAe,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,4CAA4C,CAAC,CAAC;QAE7F,kBAAa,GAAG,CAAC,WAAmB,EAAE,EAAE,CAC7C,IAAI,CAAC,KAAK;aACP,WAAW,CAAC,2BAA2B,WAAW,QAAQ,CAAC;aAC3D,WAAW,CAAC,eAAe,WAAW,eAAe,CAAC,CAAC;QAErD,gBAAW,GAAG,CAAC,WAAmB,EAAE,EAAE,CAC3C,IAAI,CAAC,KAAK;aACP,WAAW,CAAC,2BAA2B,WAAW,MAAM,CAAC;aACzD,WAAW,CAAC,eAAe,WAAW,eAAe,CAAC,CAAC;QAErD,iBAAY,GAAG,CAAC,WAAmB,EAAE,EAAE,CAC5C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,iCAAiC,WAAW,UAAU,CAAC,CAAC;QAEtE,4BAAuB,GAAG,CAAC,WAAmB,EAAE,EAAE,CACvD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,iCAAiC,WAAW,mCAAmC,CAAC,CAAC;QAE/F,wBAAmB,GAAG,CAAC,WAAmB,EAAE,EAAE,CACnD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,iCAAiC,WAAW,wBAAwB,CAAC,CAAC;QAEpF,2BAAsB,GAAG,CAAC,WAAmB,EAAE,EAAE,CACtD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,iCAAiC,WAAW,0BAA0B,CAAC,CAAC;QAEtF,kBAAa,GAAG,CAAC,WAAmB,EAAE,EAAE,CAC7C,IAAI,CAAC,KAAK;aACP,WAAW,CAAC,2BAA2B,WAAW,QAAQ,CAAC;aAC3D,WAAW,CAAC,eAAe,WAAW,eAAe,CAAC,CAAC;QAErD,gBAAW,GAAG,CAAC,WAAmB,EAAE,EAAE,CAC3C,IAAI,CAAC,KAAK;aACP,WAAW,CAAC,2BAA2B,WAAW,MAAM,CAAC;aACzD,WAAW,CAAC,eAAe,WAAW,eAAe,CAAC,CAAC;QApC1D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;CAoCF"}
|
|
@@ -2,6 +2,7 @@ import type { Locator, Page } from '@playwright/test';
|
|
|
2
2
|
export declare class Grid {
|
|
3
3
|
private _gridObjects;
|
|
4
4
|
private _page;
|
|
5
|
+
private _excelStyleFilterPopup;
|
|
5
6
|
constructor(gridContext: Locator);
|
|
6
7
|
protected get page(): Page;
|
|
7
8
|
/**
|
|
@@ -38,7 +39,7 @@ export declare class Grid {
|
|
|
38
39
|
* @param columnName - The name of the column for which to open the filter popup.
|
|
39
40
|
* @returns A promise that resolves when the filter popup is opened.
|
|
40
41
|
*/
|
|
41
|
-
openExcelStyleFilterPopup: (
|
|
42
|
+
openExcelStyleFilterPopup: (columnNameOrHeader: string | Locator) => Promise<void>;
|
|
42
43
|
/**
|
|
43
44
|
* Retrieves all rows in the grid that match a specific column value.
|
|
44
45
|
* @param colIdToMatchOn
|
|
@@ -70,6 +71,7 @@ export declare class Grid {
|
|
|
70
71
|
* await grid.filterByColumnValueExcelStyle('Status', 'Pending', false);
|
|
71
72
|
*/
|
|
72
73
|
filterByColumnValueExcelStyle(columnName: string, valueToSelect: string, deselectAll?: boolean): Promise<void>;
|
|
74
|
+
filterByColumnValueExcelStyle(columnHeader: Locator, valueToSelect: string, deselectAll?: boolean): Promise<void>;
|
|
73
75
|
/**
|
|
74
76
|
* Selects a row by its row-id pattern.
|
|
75
77
|
* Matches rows where the row-id attribute ends with "|{rowIdPattern}".
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { pollUntil } from '../../helpers/Poll.js';
|
|
2
2
|
import { escapeRegex } from '../../helpers/RegexHelper.js';
|
|
3
|
+
import { ExcelStyleFilterPopup } from '../index.js';
|
|
3
4
|
import { GridObjects } from './GridObjects.js';
|
|
4
5
|
export class Grid {
|
|
5
6
|
constructor(gridContext) {
|
|
@@ -31,12 +32,15 @@ export class Grid {
|
|
|
31
32
|
* @param columnName - The name of the column for which to open the filter popup.
|
|
32
33
|
* @returns A promise that resolves when the filter popup is opened.
|
|
33
34
|
*/
|
|
34
|
-
this.openExcelStyleFilterPopup = async (
|
|
35
|
-
const filterIcon =
|
|
35
|
+
this.openExcelStyleFilterPopup = async (columnNameOrHeader) => {
|
|
36
|
+
const filterIcon = typeof columnNameOrHeader === 'string'
|
|
37
|
+
? this._gridObjects.menuIconByColumnHeaderName(columnNameOrHeader)
|
|
38
|
+
: columnNameOrHeader.getByTestId('grid__custom__filter__icon');
|
|
36
39
|
await filterIcon.click({ force: true });
|
|
37
40
|
};
|
|
38
41
|
this._gridObjects = new GridObjects(gridContext.page(), gridContext);
|
|
39
42
|
this._page = gridContext.page();
|
|
43
|
+
this._excelStyleFilterPopup = new ExcelStyleFilterPopup(this._page);
|
|
40
44
|
}
|
|
41
45
|
get page() {
|
|
42
46
|
return this._page;
|
|
@@ -95,36 +99,25 @@ export class Grid {
|
|
|
95
99
|
}
|
|
96
100
|
return Array.from(collected);
|
|
97
101
|
}
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
*
|
|
101
|
-
* @param columnName - The column to filter
|
|
102
|
-
* @param valueToSelect - The value to select
|
|
103
|
-
* @param deselectAll - If true, clears existing selections first (default: true)
|
|
104
|
-
*
|
|
105
|
-
* @example
|
|
106
|
-
* await grid.filterByColumnValueExcelStyle('Status', 'Active');
|
|
107
|
-
* await grid.filterByColumnValueExcelStyle('Status', 'Pending', false);
|
|
108
|
-
*/
|
|
109
|
-
async filterByColumnValueExcelStyle(columnName, valueToSelect, deselectAll = true) {
|
|
110
|
-
await this.openExcelStyleFilterPopup(columnName);
|
|
102
|
+
async filterByColumnValueExcelStyle(columnNameOrHeader, valueToSelect, deselectAll = true) {
|
|
103
|
+
await this.openExcelStyleFilterPopup(columnNameOrHeader);
|
|
111
104
|
// Get column ID from header and normalize it (snake_case -> kebab-case)
|
|
112
|
-
const header =
|
|
105
|
+
const header = typeof columnNameOrHeader === 'string'
|
|
106
|
+
? this._gridObjects.columnHeaderByName(columnNameOrHeader)
|
|
107
|
+
: columnNameOrHeader;
|
|
113
108
|
const rawColumnId = await header.getAttribute('col-id');
|
|
114
109
|
if (!rawColumnId) {
|
|
115
|
-
throw new Error(`Could not find col-id for column "${
|
|
110
|
+
throw new Error(`Could not find col-id for column${typeof columnNameOrHeader === 'string' ? ` "${columnNameOrHeader}"` : ''}`);
|
|
116
111
|
}
|
|
117
112
|
const columnId = rawColumnId.toLowerCase().replace(/_/g, '-');
|
|
118
|
-
const popup = this._gridObjects.excelStyleFilterPopup(columnId);
|
|
119
|
-
await
|
|
113
|
+
//const popup = this._gridObjects.excelStyleFilterPopup(columnId);
|
|
114
|
+
await this._excelStyleFilterPopup.waitForOpen();
|
|
120
115
|
if (deselectAll) {
|
|
121
|
-
await this.
|
|
116
|
+
await this._excelStyleFilterPopup.clickSelectAll(columnId);
|
|
122
117
|
}
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
await
|
|
126
|
-
await this._gridObjects.mainHeader.click(); // Click outside to close the popup
|
|
127
|
-
await popup.waitFor({ state: 'detached' });
|
|
118
|
+
await this._excelStyleFilterPopup.clickCheckboxItem(columnId, valueToSelect);
|
|
119
|
+
await this._gridObjects.mainHeader.click();
|
|
120
|
+
await this._excelStyleFilterPopup.waitForClose();
|
|
128
121
|
}
|
|
129
122
|
/**
|
|
130
123
|
* Selects a row by its row-id pattern.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Grid.js","sourceRoot":"","sources":["../../../components/grid/Grid.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,OAAO,IAAI;
|
|
1
|
+
{"version":3,"file":"Grid.js","sourceRoot":"","sources":["../../../components/grid/Grid.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { Locator, Page } from '@playwright/test';
|
|
2
2
|
import { BaseComponentObjects } from '../BaseComponentObjects.js';
|
|
3
3
|
export declare class GridObjects extends BaseComponentObjects {
|
|
4
|
-
private _page;
|
|
5
4
|
constructor(page: Page, context?: Locator | null);
|
|
6
5
|
columnHeaderByText: (text: string) => Locator;
|
|
7
6
|
columnHeaders: () => Locator;
|
|
@@ -13,9 +12,6 @@ export declare class GridObjects extends BaseComponentObjects {
|
|
|
13
12
|
rows: () => Locator;
|
|
14
13
|
cellsByColumnId: (colId: string) => Locator;
|
|
15
14
|
columnByRowLocator: (rowLocator: Locator) => Locator;
|
|
16
|
-
excelStyleFilterPopup: (columnId: string) => Locator;
|
|
17
|
-
excelStyleFilterSelectAllCheckbox: (columnId: string) => Locator;
|
|
18
|
-
excelStyleFilterPopupOptionByText: (columnId: string, optionText: RegExp) => Locator;
|
|
19
15
|
gridCell: () => Locator;
|
|
20
16
|
noRowsOverlay: () => Locator;
|
|
21
17
|
}
|
|
@@ -14,14 +14,8 @@ export class GridObjects extends BaseComponentObjects {
|
|
|
14
14
|
this.rows = () => this.context.locator('[role="row"]');
|
|
15
15
|
this.cellsByColumnId = (colId) => this.context.locator(`[col-id="${colId}"] .value-renderer`);
|
|
16
16
|
this.columnByRowLocator = (rowLocator) => rowLocator.locator('.ag-cell');
|
|
17
|
-
this.excelStyleFilterPopup = (columnId) => this._page.getByTestId(`lookup-excel-filter__${columnId}__list`);
|
|
18
|
-
this.excelStyleFilterSelectAllCheckbox = (columnId) => this._page.locator(`[data-testid="lookup-excel-filter__${columnId}__list-item-select-all-checkbox"] input[type="checkbox"]`);
|
|
19
|
-
this.excelStyleFilterPopupOptionByText = (columnId, optionText) => this._page
|
|
20
|
-
.locator(`[data-testid^="lookup-excel-filter__${columnId}__list-item-button"]`)
|
|
21
|
-
.filter({ hasText: optionText });
|
|
22
17
|
this.gridCell = () => this.context.locator('[role="gridcell"]');
|
|
23
18
|
this.noRowsOverlay = () => this.context.locator('.ag-overlay-no-rows-center');
|
|
24
|
-
this._page = page;
|
|
25
19
|
}
|
|
26
20
|
}
|
|
27
21
|
//# sourceMappingURL=GridObjects.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GridObjects.js","sourceRoot":"","sources":["../../../components/grid/GridObjects.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,MAAM,OAAO,WAAY,SAAQ,oBAAoB;
|
|
1
|
+
{"version":3,"file":"GridObjects.js","sourceRoot":"","sources":["../../../components/grid/GridObjects.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,MAAM,OAAO,WAAY,SAAQ,oBAAoB;IACnD,YAAY,IAAU,EAAE,UAA0B,IAAI;QACpD,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAGhB,uBAAkB,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAExG,kBAAa,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QAEpE,uBAAkB,GAAG,CAAC,UAAkB,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QAE1G,+BAA0B,GAAG,CAAC,UAAkB,EAAE,EAAE,CACzD,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,4BAA4B,CAAC,CAAC;QAEzE,eAAU,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,2BAA2B,GAAG,IAAI,CAAC,CAAC;QAEvF,eAAU,GAAG,CAAC,YAAoB,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,0BAA0B,YAAY,IAAI,CAAC,CAAC;QAExG,gBAAW,GAAG,CAAC,KAAa,EAAE,EAAE,CACrC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,EAAE;YACtC,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QAEE,SAAI,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAElD,oBAAe,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,KAAK,oBAAoB,CAAC,CAAC;QAEjG,uBAAkB,GAAG,CAAC,UAAmB,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAE7E,aAAQ,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAE3D,kBAAa,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;IA5BhF,CAAC;CA6BF"}
|
|
@@ -7,8 +7,7 @@ export type IDateControlCore = {
|
|
|
7
7
|
inputElement(): Locator;
|
|
8
8
|
};
|
|
9
9
|
export declare class DateControl implements IDateControlCore {
|
|
10
|
-
private
|
|
11
|
-
private _inputLocator;
|
|
10
|
+
private _objects;
|
|
12
11
|
constructor(context: Locator, id: string);
|
|
13
12
|
/**
|
|
14
13
|
* Enter a date value in any common format (e.g., "MM/DD/YYYY", "YYYY-MM-DD", "DD-MM-YYYY").
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { DateControlObjects } from './DateControlObjects.js';
|
|
1
2
|
export class DateControl {
|
|
2
3
|
constructor(context, id) {
|
|
3
|
-
this.
|
|
4
|
-
this._inputLocator = this._dateFieldLocator.locator('input');
|
|
4
|
+
this._objects = new DateControlObjects(context, id);
|
|
5
5
|
}
|
|
6
6
|
/**
|
|
7
7
|
* Enter a date value in any common format (e.g., "MM/DD/YYYY", "YYYY-MM-DD", "DD-MM-YYYY").
|
|
@@ -12,17 +12,17 @@ export class DateControl {
|
|
|
12
12
|
*/
|
|
13
13
|
async fill(value) {
|
|
14
14
|
const numbersOnlyValue = value.replace(/\D/g, '');
|
|
15
|
-
await this.
|
|
16
|
-
await this.
|
|
15
|
+
await this._objects.fieldInput().focus();
|
|
16
|
+
await this._objects.fieldInput().pressSequentially(numbersOnlyValue);
|
|
17
17
|
}
|
|
18
18
|
async clear() {
|
|
19
|
-
await this.
|
|
19
|
+
await this._objects.fieldInput().fill('');
|
|
20
20
|
}
|
|
21
21
|
async inputValue() {
|
|
22
|
-
return await this.
|
|
22
|
+
return await this._objects.fieldInput().inputValue();
|
|
23
23
|
}
|
|
24
24
|
inputElement() {
|
|
25
|
-
return this.
|
|
25
|
+
return this._objects.fieldInput();
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
export function createDateControl(context, id) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateControl.js","sourceRoot":"","sources":["../../controls/DateControl.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DateControl.js","sourceRoot":"","sources":["../../controls/DateControl.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAW7D,MAAM,OAAO,WAAW;IAGtB,YAAY,OAAgB,EAAE,EAAU;QACtC,IAAI,CAAC,QAAQ,GAAG,IAAI,kBAAkB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACtD,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,IAAI,CAAC,KAAa;QAC7B,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAElD,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,CAAC;QACzC,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IACvE,CAAC;IAEM,KAAK,CAAC,KAAK;QAChB,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5C,CAAC;IAEM,KAAK,CAAC,UAAU;QACrB,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,UAAU,EAAE,CAAC;IACvD,CAAC;IAEM,YAAY;QACjB,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;IACpC,CAAC;CACF;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAgB,EAAE,EAAU;IAC5D,MAAM,iBAAiB,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IAEzD,OAAO,IAAI,KAAK,CAAC,iBAAiB,EAAE;QAClC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ;YACxB,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;gBACnB,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC7C,CAAC;YACD,MAAM,KAAK,GAAI,OAAe,CAAC,IAAI,CAAC,CAAC;YAErC,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;gBAChC,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAA4B,CAAC;AAChC,CAAC"}
|
|
@@ -1,2 +1,9 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export class DateControlObjects {
|
|
2
|
+
constructor(context, id) {
|
|
3
|
+
this.fieldInput = () => this._context;
|
|
4
|
+
this.dateField = () => this._context.getByTestId(`form-field__${this._id}`);
|
|
5
|
+
this._context = context;
|
|
6
|
+
this._id = id;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
2
9
|
//# sourceMappingURL=DateControlObjects.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateControlObjects.js","sourceRoot":"","sources":["../../controls/DateControlObjects.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"DateControlObjects.js","sourceRoot":"","sources":["../../controls/DateControlObjects.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,kBAAkB;IAI7B,YAAY,OAAgB,EAAE,EAAU;QAKjC,eAAU,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC;QAE1C,cAAS,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,eAAe,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QANrF,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;IAChB,CAAC;CAKF"}
|
|
@@ -1,29 +1,24 @@
|
|
|
1
|
+
import { FormComboBoxObjects } from './FormComboBoxObjects.js';
|
|
1
2
|
class FormComboBox {
|
|
2
3
|
constructor(context, id) {
|
|
3
|
-
this.
|
|
4
|
-
this._formFieldLocator = context.getByTestId(`form-field__${id}`);
|
|
5
|
-
this._autoCompleteMenu = context.getByTestId(`form-field__${id}__select__options-list`);
|
|
4
|
+
this._objects = new FormComboBoxObjects(context, id);
|
|
6
5
|
}
|
|
7
6
|
async selectOption(optionText) {
|
|
8
|
-
await this.
|
|
9
|
-
await this.
|
|
10
|
-
|
|
11
|
-
await this._autoCompleteMenu.getByTestId(`form-field__${this._id}__select__${optionTextLowercase}__text`).click();
|
|
7
|
+
await this._objects.fieldInput().click();
|
|
8
|
+
await this._objects.autoCompleteMenu().waitFor({ state: 'visible' });
|
|
9
|
+
await this._objects.option(optionText).click();
|
|
12
10
|
}
|
|
13
11
|
async getValidationMessage() {
|
|
14
|
-
await this.
|
|
15
|
-
return await this.
|
|
12
|
+
await this._objects.validationMessage().waitFor({ state: 'visible' });
|
|
13
|
+
return await this._objects.validationMessage().innerText();
|
|
16
14
|
}
|
|
17
15
|
async clearByClick() {
|
|
18
|
-
await this.
|
|
16
|
+
await this._objects.clearButton().click();
|
|
19
17
|
}
|
|
20
18
|
async lookupSelect(optionToSelect) {
|
|
21
|
-
await this.
|
|
22
|
-
await this.
|
|
23
|
-
|
|
24
|
-
await this._autoCompleteMenu
|
|
25
|
-
.getByTestId(`form-field__${this._id}__select__${optionToSelectLowercase}__text`)
|
|
26
|
-
.click();
|
|
19
|
+
await this._objects.fieldInput().fill(optionToSelect);
|
|
20
|
+
await this._objects.autoCompleteMenu().waitFor({ state: 'visible' });
|
|
21
|
+
await this._objects.option(optionToSelect).click();
|
|
27
22
|
}
|
|
28
23
|
}
|
|
29
24
|
export function createFormComboBox(context, id) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormComboBox.js","sourceRoot":"","sources":["../../controls/FormComboBox.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FormComboBox.js","sourceRoot":"","sources":["../../controls/FormComboBox.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAW/D,MAAM,YAAY;IAGhB,YAAY,OAAgB,EAAE,EAAU;QACtC,IAAI,CAAC,QAAQ,GAAG,IAAI,mBAAmB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,UAAkB;QACnC,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,CAAC;QACzC,MAAM,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACrE,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,oBAAoB;QACxB,MAAM,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACtE,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,SAAS,EAAE,CAAC;IAC7D,CAAC;IACD,KAAK,CAAC,YAAY;QAChB,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,cAAsB;QACvC,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACtD,MAAM,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACrE,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,CAAC;IACrD,CAAC;CACF;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAgB,EAAE,EAAU;IAC7D,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IAEzD,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE;QACzB,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ;YACxB,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;gBACnB,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC7C,CAAC;YAED,MAAM,KAAK,GAAI,OAAe,CAAC,IAAI,CAAC,CAAC;YAErC,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;gBAChC,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAA6B,CAAC;AACjC,CAAC"}
|
|
@@ -1 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
import type { Locator } from '@playwright/test';
|
|
2
|
+
export declare class FormComboBoxObjects {
|
|
3
|
+
private _context;
|
|
4
|
+
private _id;
|
|
5
|
+
constructor(context: Locator, id: string);
|
|
6
|
+
field: () => Locator;
|
|
7
|
+
autoCompleteMenu: () => Locator;
|
|
8
|
+
option: (optionText: string) => Locator;
|
|
9
|
+
clearButton: () => Locator;
|
|
10
|
+
validationMessage: () => Locator;
|
|
11
|
+
fieldInput: () => Locator;
|
|
12
|
+
}
|
|
@@ -1,2 +1,16 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export class FormComboBoxObjects {
|
|
2
|
+
constructor(context, id) {
|
|
3
|
+
this.field = () => this._context.getByTestId(`form-field__${this._id}`);
|
|
4
|
+
this.autoCompleteMenu = () => this._context.page().getByTestId(`form-field__${this._id}__select__options-list`);
|
|
5
|
+
this.option = (optionText) => {
|
|
6
|
+
const optionTextLowercase = optionText.toLowerCase();
|
|
7
|
+
return this.autoCompleteMenu().getByTestId(`form-field__${this._id}__select__${optionTextLowercase}__text`);
|
|
8
|
+
};
|
|
9
|
+
this.clearButton = () => this.field().locator('Button[aria-label="Clear"]');
|
|
10
|
+
this.validationMessage = () => this.field().locator('.TooltipContainer p');
|
|
11
|
+
this.fieldInput = () => this.field().locator('input');
|
|
12
|
+
this._context = context;
|
|
13
|
+
this._id = id;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
2
16
|
//# sourceMappingURL=FormComboBoxObjects.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormComboBoxObjects.js","sourceRoot":"","sources":["../../controls/FormComboBoxObjects.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"FormComboBoxObjects.js","sourceRoot":"","sources":["../../controls/FormComboBoxObjects.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,mBAAmB;IAI9B,YAAY,OAAgB,EAAE,EAAU;QAKjC,UAAK,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,eAAe,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAE5E,qBAAgB,GAAG,GAAY,EAAE,CACtC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,eAAe,IAAI,CAAC,GAAG,wBAAwB,CAAC,CAAC;QAE7E,WAAM,GAAG,CAAC,UAAkB,EAAW,EAAE;YAC9C,MAAM,mBAAmB,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;YACrD,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC,WAAW,CAAC,eAAe,IAAI,CAAC,GAAG,aAAa,mBAAmB,QAAQ,CAAC,CAAC;QAC9G,CAAC,CAAC;QAEK,gBAAW,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;QAEhF,sBAAiB,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAE/E,eAAU,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAlB/D,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;IAChB,CAAC;CAiBF"}
|
|
@@ -21,7 +21,7 @@ class GridColumnControl {
|
|
|
21
21
|
return await this._grid.getCellValuesByColId(this._id);
|
|
22
22
|
}
|
|
23
23
|
async filterByColumnValueExcelStyle(value, deselectAll) {
|
|
24
|
-
await this._grid.filterByColumnValueExcelStyle(this.
|
|
24
|
+
await this._grid.filterByColumnValueExcelStyle(this._objects.columnHeader(), value, deselectAll);
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
export function createGridColumnControl(gridContext, id) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GridColumnControl.js","sourceRoot":"","sources":["../../controls/GridColumnControl.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAYzE,MAAM,iBAAiB;IAKrB,YAAY,WAAoB,EAAE,EAAU;QAC1C,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,wBAAwB,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACpE,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC;IACrC,CAAC;IAEM,KAAK,CAAC,yBAAyB;QACpC,MAAM,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvD,CAAC;IAEM,KAAK,CAAC,eAAe;QAC1B,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;IAC5C,CAAC;IAEM,mBAAmB,CAAC,KAAa;QACtC,MAAM,gBAAgB,GAAG,IAAI,MAAM,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;IACrD,CAAC;IAEM,KAAK,CAAC,aAAa;QACxB,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzD,CAAC;IAEM,KAAK,CAAC,6BAA6B,CAAC,KAAa,EAAE,WAAqB;QAC7E,MAAM,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"GridColumnControl.js","sourceRoot":"","sources":["../../controls/GridColumnControl.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAYzE,MAAM,iBAAiB;IAKrB,YAAY,WAAoB,EAAE,EAAU;QAC1C,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,wBAAwB,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACpE,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC;IACrC,CAAC;IAEM,KAAK,CAAC,yBAAyB;QACpC,MAAM,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvD,CAAC;IAEM,KAAK,CAAC,eAAe;QAC1B,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;IAC5C,CAAC;IAEM,mBAAmB,CAAC,KAAa;QACtC,MAAM,gBAAgB,GAAG,IAAI,MAAM,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;IACrD,CAAC;IAEM,KAAK,CAAC,aAAa;QACxB,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzD,CAAC;IAEM,KAAK,CAAC,6BAA6B,CAAC,KAAa,EAAE,WAAqB;QAC7E,MAAM,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IACnG,CAAC;CACF;AAED,MAAM,UAAU,uBAAuB,CAAC,WAAoB,EAAE,EAAU;IACtE,MAAM,aAAa,GAAG,IAAI,iBAAiB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAExD,OAAO,IAAI,KAAK,CAAC,aAAa,EAAE;QAC9B,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ;YACxB,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;gBACnB,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC7C,CAAC;YAED,MAAM,KAAK,GAAI,OAAe,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;gBAChC,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAkC,CAAC;AACtC,CAAC"}
|
|
@@ -3,7 +3,7 @@ export class GridColumnControlObjects extends BaseComponentObjects {
|
|
|
3
3
|
constructor(gridContext, columnId) {
|
|
4
4
|
super(gridContext.page(), gridContext);
|
|
5
5
|
this.column = () => this.context.locator(`[col-id="${this._id}"]`);
|
|
6
|
-
this.columnHeader = () => this.
|
|
6
|
+
this.columnHeader = () => this.context.locator(`[col-id="${this._id}"][role="columnheader"]`);
|
|
7
7
|
this.cellByValue = (value) => this.column().locator('[role="button"]', {
|
|
8
8
|
hasText: value
|
|
9
9
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GridColumnControlObjects.js","sourceRoot":"","sources":["../../controls/GridColumnControlObjects.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAE7E,MAAM,OAAO,wBAAyB,SAAQ,oBAAoB;IAGhE,YAAY,WAAoB,EAAE,QAAgB;QAChD,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,WAAW,CAAC,CAAC;QAIlC,WAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QAE9D,iBAAY,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"GridColumnControlObjects.js","sourceRoot":"","sources":["../../controls/GridColumnControlObjects.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAE7E,MAAM,OAAO,wBAAyB,SAAQ,oBAAoB;IAGhE,YAAY,WAAoB,EAAE,QAAgB;QAChD,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,WAAW,CAAC,CAAC;QAIlC,WAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QAE9D,iBAAY,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC,GAAG,yBAAyB,CAAC,CAAC;QAEzF,gBAAW,GAAG,CAAC,KAAa,EAAE,EAAE,CACrC,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,iBAAiB,EAAE;YACvC,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QAVH,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC;IACtB,CAAC;CAUF"}
|
|
@@ -11,9 +11,7 @@ export type ICoreInputFieldControl = {
|
|
|
11
11
|
inputElement(): Locator;
|
|
12
12
|
};
|
|
13
13
|
export declare class InputFieldControl implements ICoreInputFieldControl {
|
|
14
|
-
private
|
|
15
|
-
private _inputLocator;
|
|
16
|
-
private _id;
|
|
14
|
+
private _objects;
|
|
17
15
|
constructor(context: Locator, id: string);
|
|
18
16
|
getValidationMessage(): Promise<string>;
|
|
19
17
|
fill(value: string): Promise<void>;
|
|
@@ -1,30 +1,29 @@
|
|
|
1
|
+
import { InputFieldControlObjects } from './InputFieldControlObjects.js';
|
|
1
2
|
export class InputFieldControl {
|
|
2
3
|
constructor(context, id) {
|
|
3
|
-
this.
|
|
4
|
-
this._formFieldLocator = context.getByTestId(`form-field__${id}`);
|
|
5
|
-
this._inputLocator = this._formFieldLocator.locator('input');
|
|
4
|
+
this._objects = new InputFieldControlObjects(context, id);
|
|
6
5
|
}
|
|
7
6
|
async getValidationMessage() {
|
|
8
|
-
await this.
|
|
9
|
-
return await this.
|
|
7
|
+
await this._objects.validationMessage().waitFor({ state: 'visible' });
|
|
8
|
+
return await this._objects.validationMessage().innerText();
|
|
10
9
|
}
|
|
11
10
|
async fill(value) {
|
|
12
|
-
await this.
|
|
11
|
+
await this._objects.fieldInput().fill(value);
|
|
13
12
|
}
|
|
14
13
|
async click() {
|
|
15
|
-
await this.
|
|
14
|
+
await this._objects.fieldInput().click();
|
|
16
15
|
}
|
|
17
16
|
async clear() {
|
|
18
|
-
await this.
|
|
17
|
+
await this._objects.fieldInput().fill('');
|
|
19
18
|
}
|
|
20
19
|
async inputValue() {
|
|
21
|
-
return await this.
|
|
20
|
+
return await this._objects.fieldInput().inputValue();
|
|
22
21
|
}
|
|
23
22
|
inputElement() {
|
|
24
|
-
return this.
|
|
23
|
+
return this._objects.fieldInput();
|
|
25
24
|
}
|
|
26
25
|
async getLabelText() {
|
|
27
|
-
let returnText = (await this.
|
|
26
|
+
let returnText = (await this._objects.fieldLabel().textContent()) || '';
|
|
28
27
|
returnText = returnText.replace(/\s+/g, ' ').trim();
|
|
29
28
|
return returnText;
|
|
30
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputFieldControl.js","sourceRoot":"","sources":["../../controls/InputFieldControl.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"InputFieldControl.js","sourceRoot":"","sources":["../../controls/InputFieldControl.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAczE,MAAM,OAAO,iBAAiB;IAG5B,YAAY,OAAgB,EAAE,EAAU;QACtC,IAAI,CAAC,QAAQ,GAAG,IAAI,wBAAwB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC;IAEM,KAAK,CAAC,oBAAoB;QAC/B,MAAM,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACtE,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,SAAS,EAAE,CAAC;IAC7D,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,KAAa;QAC7B,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;IAEM,KAAK,CAAC,KAAK;QAChB,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,CAAC;IAC3C,CAAC;IAEM,KAAK,CAAC,KAAK;QAChB,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5C,CAAC;IAEM,KAAK,CAAC,UAAU;QACrB,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,UAAU,EAAE,CAAC;IACvD,CAAC;IAEM,YAAY;QACjB,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;IACpC,CAAC;IAEM,KAAK,CAAC,YAAY;QACvB,IAAI,UAAU,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;QAExE,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAEpD,OAAO,UAAU,CAAC;IACpB,CAAC;CACF;AAED,MAAM,UAAU,uBAAuB,CAAC,OAAgB,EAAE,EAAU;IAClE,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IAEzD,OAAO,IAAI,KAAK,CAAC,iBAAiB,EAAE;QAClC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ;YACxB,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;gBACnB,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC7C,CAAC;YACD,MAAM,KAAK,GAAI,OAAe,CAAC,IAAI,CAAC,CAAC;YAErC,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;gBAChC,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAkC,CAAC;AACtC,CAAC"}
|