d5-testing-library 1.8.0-alpha.9 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  TreeView
3
- } from "./chunk-VPTIEIX5.mjs";
3
+ } from "./chunk-75FRHQCI.mjs";
4
4
  import {
5
5
  FilterPanel,
6
6
  FormFilterField,
7
7
  ListForm,
8
8
  PanelFilterField
9
- } from "./chunk-4JWY3XDX.mjs";
9
+ } from "./chunk-S62QEWWA.mjs";
10
10
  import {
11
11
  FormEdit
12
- } from "./chunk-XQTIDP34.mjs";
12
+ } from "./chunk-XGIXXZD6.mjs";
13
13
  import {
14
14
  AbstractButton,
15
15
  AbstractElement,
@@ -24,15 +24,18 @@ import {
24
24
  byTestIdCssSelector,
25
25
  click,
26
26
  config,
27
+ contextMenu,
27
28
  createSubSystemTestId,
28
29
  editorFactory,
29
30
  fixElementStaleError,
30
31
  readonlyLocator,
31
- wait,
32
- waitElementIsVisible
33
- } from "./chunk-R3BWDLN3.mjs";
32
+ safeWait,
33
+ waitElementIsClickable_default,
34
+ waitElementIsVisible_default
35
+ } from "./chunk-32KSAOFJ.mjs";
34
36
 
35
37
  // src/pageObjects/pages/LoginPage.ts
38
+ import { By } from "selenium-webdriver";
36
39
  var LOGIN_PATH = "/login";
37
40
  var LoginPage = class extends AbstractPage {
38
41
  usernameField = byTestId("loginField", "input");
@@ -41,7 +44,7 @@ var LoginPage = class extends AbstractPage {
41
44
  async locate() {
42
45
  await super.locate();
43
46
  const login = await this.driver.findElement(this.usernameField);
44
- await waitElementIsVisible({
47
+ await waitElementIsVisible_default({
45
48
  element: login,
46
49
  driver: this.driver
47
50
  });
@@ -57,6 +60,11 @@ var LoginPage = class extends AbstractPage {
57
60
  }
58
61
  async clickLoginButton() {
59
62
  await click(await this.driver.findElement(this.loginButton), this.driver);
63
+ await waitElementIsVisible_default({
64
+ driver: this.driver,
65
+ by: By.id("section"),
66
+ errorMessage: "Sing in not successful"
67
+ });
60
68
  }
61
69
  async loginWith(username, password) {
62
70
  await this.enterUsername(username);
@@ -70,8 +78,38 @@ var LoginPage = class extends AbstractPage {
70
78
 
71
79
  // src/utils/createDriver.ts
72
80
  import { Builder } from "selenium-webdriver";
81
+ import Chrome from "selenium-webdriver/chrome";
82
+ import Firefox from "selenium-webdriver/firefox";
83
+ function chromeOptions(builder, options) {
84
+ const ChromeOptions = new Chrome.Options();
85
+ if (options.headless) {
86
+ ChromeOptions.addArguments(`--headless=new`);
87
+ }
88
+ return builder.setChromeOptions(ChromeOptions);
89
+ }
90
+ function firefoxOptions(builder, options) {
91
+ const FirefoxOptions = new Firefox.Options();
92
+ if (options.headless) {
93
+ FirefoxOptions.addArguments(`--headless`);
94
+ }
95
+ return builder.setFirefoxOptions(FirefoxOptions);
96
+ }
97
+ function setOptions(builder, browser, options) {
98
+ switch (browser) {
99
+ case "chrome":
100
+ return chromeOptions(builder, options);
101
+ case "firefox":
102
+ return firefoxOptions(builder, options);
103
+ default:
104
+ return builder;
105
+ }
106
+ }
73
107
  var createDriver = async (browser) => {
74
- const driver = await new Builder().forBrowser(browser ?? config().browser).build();
108
+ const _browser = browser ?? config().browser;
109
+ const headless = config().headless === "true";
110
+ let builder = new Builder().forBrowser(_browser);
111
+ builder = setOptions(builder, _browser, { headless });
112
+ const driver = await builder.build();
75
113
  const manage = driver.manage();
76
114
  await manage.setTimeouts({ implicit: config().timeout });
77
115
  await manage.window().maximize();
@@ -90,7 +128,6 @@ var elementIsNotPresent = function elementIsNotPresent2(locator) {
90
128
  // src/utils/signIn.ts
91
129
  async function signIn(driver) {
92
130
  const webDriver = driver ?? await createDriver();
93
- config().driver = webDriver;
94
131
  const loginPage = new LoginPage(webDriver);
95
132
  await loginPage.locate();
96
133
  await loginPage.authorize();
@@ -98,15 +135,15 @@ async function signIn(driver) {
98
135
  }
99
136
 
100
137
  // src/pageObjects/elements/SubsystemsPanel/SubsystemsPanelHeader.ts
101
- import { By as By2 } from "selenium-webdriver";
138
+ import { By as By3 } from "selenium-webdriver";
102
139
  var SubsystemsPanelHeader = class extends AbstractElementWithParent {
103
140
  async title() {
104
- return this.driver.findElement(By2.css(this.getFullCssSelector()));
141
+ return this.driver.findElement(By3.css(this.getFullCssSelector()));
105
142
  }
106
143
  };
107
144
 
108
145
  // src/pageObjects/elements/SubsystemsPanel/SubsystemsPanel.ts
109
- import { By as By3 } from "selenium-webdriver";
146
+ import { By as By4 } from "selenium-webdriver";
110
147
 
111
148
  // src/pageObjects/elements/SubsystemsPanel/SubsystemItem.ts
112
149
  var SubsystemItem = class {
@@ -120,10 +157,22 @@ var SubsystemItem = class {
120
157
  return fixElementStaleError(this.bySelector, this.driver);
121
158
  }
122
159
  async getTitle() {
160
+ await waitElementIsVisible_default(
161
+ {
162
+ by: this.bySelector,
163
+ driver: this.driver
164
+ }
165
+ );
123
166
  const el = await this.getElement();
124
167
  return await el.getAttribute("data-title");
125
168
  }
126
169
  async click() {
170
+ await waitElementIsClickable_default(
171
+ {
172
+ by: this.bySelector,
173
+ driver: this.driver
174
+ }
175
+ );
127
176
  const el = await this.getElement();
128
177
  await click(el, this.driver);
129
178
  }
@@ -144,11 +193,11 @@ var SubsystemsPanel = class extends AbstractElement {
144
193
  }
145
194
  async headerTitle() {
146
195
  const title = await this.header.title();
147
- await wait(async () => await title.getText() != "", this.driver);
196
+ await safeWait(async () => await title.getText() != "", this.driver);
148
197
  return title.getText();
149
198
  }
150
199
  getSearchComponent() {
151
- return new TextEditor("#aside", byTestIdCssSelector(SEARCH_INPUT_SELECTOR));
200
+ return new TextEditor("#aside", byTestIdCssSelector(SEARCH_INPUT_SELECTOR), this.driver);
152
201
  }
153
202
  /**
154
203
  * Находит сабсистему по заголовку
@@ -159,8 +208,9 @@ var SubsystemsPanel = class extends AbstractElement {
159
208
  */
160
209
  async search(title) {
161
210
  const searchComponent = this.getSearchComponent();
211
+ await this.searchClear();
162
212
  await searchComponent.setValue(title);
163
- await wait(
213
+ await safeWait(
164
214
  async () => {
165
215
  const findElement = await this.itemByTitle(title).getElement();
166
216
  const classes = await findElement.getAttribute("class");
@@ -179,7 +229,7 @@ var SubsystemsPanel = class extends AbstractElement {
179
229
  */
180
230
  async searchClear() {
181
231
  const clearBtnSelector = `#aside ${byTestIdCssSelector(SEARCH_INPUT_SELECTOR)} .${DX_CLEAR_BUTTON_AREA}`;
182
- const clearBtn = await this.driver.findElement(By3.css(clearBtnSelector));
232
+ const clearBtn = await fixElementStaleError(By4.css(clearBtnSelector), this.driver);
183
233
  if (await clearBtn.isDisplayed()) {
184
234
  await click(clearBtn, this.driver);
185
235
  }
@@ -193,7 +243,7 @@ var SubsystemsPanel = class extends AbstractElement {
193
243
  */
194
244
  item(name) {
195
245
  const elementCSS = createSubSystemTestId(name);
196
- return new SubsystemItem({ driver: this.driver, bySelector: By3.css(`${byTestIdCssSelector(elementCSS, "span")}`) });
246
+ return new SubsystemItem({ driver: this.driver, bySelector: By4.css(`${byTestIdCssSelector(elementCSS, "span")}`) });
197
247
  }
198
248
  /**
199
249
  * Возвращает сабсистему по заголовку
@@ -203,7 +253,7 @@ var SubsystemsPanel = class extends AbstractElement {
203
253
  * const subsystem = subsystemsPanel.itemByTitle('SubSystemTitle');
204
254
  */
205
255
  itemByTitle(title) {
206
- return new SubsystemItem({ driver: this.driver, bySelector: By3.css(byTitleCssSelector(title)) });
256
+ return new SubsystemItem({ driver: this.driver, bySelector: By4.css(byTitleCssSelector(title)) });
207
257
  }
208
258
  /**
209
259
  * Возвращается на уровень выше по сабсистемам
@@ -213,14 +263,14 @@ var SubsystemsPanel = class extends AbstractElement {
213
263
  * wait subsystemsPanel.back();
214
264
  */
215
265
  async back() {
216
- const backButton = this.driver.findElement(By3.css(`#aside .${BACK_BUTTON_SELECTOR}`));
217
- await waitElementIsVisible(
266
+ const by = By4.css(`#aside .${BACK_BUTTON_SELECTOR}`);
267
+ await waitElementIsVisible_default(
218
268
  {
219
- element: backButton,
269
+ by,
220
270
  driver: this.driver
221
271
  }
222
272
  );
223
- await click(backButton, this.driver);
273
+ await click(await fixElementStaleError(by, this.driver), this.driver);
224
274
  }
225
275
  };
226
276
 
@@ -244,7 +294,7 @@ var ReportForm = class extends FormEdit {
244
294
  };
245
295
 
246
296
  // src/pageObjects/elements/Dialog.ts
247
- import { By as By4 } from "selenium-webdriver";
297
+ import { By as By5 } from "selenium-webdriver";
248
298
  var DIALOG_CLASS = ".d5-dialog";
249
299
  var DIALOG_TITLE_CLASS = ".dialog__title";
250
300
  var DIALOG_TEXT_CLASS = ".dialog__text";
@@ -258,11 +308,14 @@ var DialogButton = class extends AbstractButton {
258
308
  }
259
309
  async getElement() {
260
310
  const panel = await super.getElement();
261
- return panel.findElement(By4.xpath(buttonByTextXpath(this.text)));
311
+ return panel.findElement(By5.xpath(buttonByTextXpath(this.text)));
262
312
  }
263
313
  buttonNotDisplayedError() {
264
314
  return `Dialog button ${this.text} cannot be clicked. It is not displayed or it is disabled`;
265
315
  }
316
+ getTitle() {
317
+ throw new Error(`Method "getTitle()" is not working.`);
318
+ }
266
319
  };
267
320
  var Dialog = class extends AbstractElement {
268
321
  constructor(driver) {
@@ -278,11 +331,11 @@ var Dialog = class extends AbstractElement {
278
331
  return this.joinRelativeCssSelectors([DIALOG_CLASS, DIALOG_BUTTONS_PANEL_CLASS]);
279
332
  }
280
333
  async title() {
281
- const el = await this.driver.findElement(By4.css(this.titleSelector));
334
+ const el = await this.driver.findElement(By5.css(this.titleSelector));
282
335
  return await el.getText();
283
336
  }
284
337
  async text() {
285
- const el = await this.driver.findElement(By4.css(this.textSelector));
338
+ const el = await this.driver.findElement(By5.css(this.textSelector));
286
339
  return await el.getText();
287
340
  }
288
341
  button(text) {
@@ -309,11 +362,13 @@ export {
309
362
  byTestIdCssSelector,
310
363
  click,
311
364
  config,
365
+ contextMenu,
312
366
  createDriver,
313
367
  editorFactory,
314
368
  elementIsNotPresent,
315
369
  readonlyLocator,
316
370
  signIn,
317
- wait,
318
- waitElementIsVisible
371
+ safeWait as wait,
372
+ waitElementIsClickable_default as waitElementIsClickable,
373
+ waitElementIsVisible_default as waitElementIsVisible
319
374
  };
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  TreeView
3
- } from "./chunk-VPTIEIX5.mjs";
3
+ } from "./chunk-75FRHQCI.mjs";
4
4
  import {
5
5
  FilterPanel,
6
6
  FormFilterField,
7
7
  ListForm,
8
8
  PanelFilterField
9
- } from "./chunk-4JWY3XDX.mjs";
9
+ } from "./chunk-S62QEWWA.mjs";
10
10
  import {
11
11
  FormEdit
12
- } from "./chunk-XQTIDP34.mjs";
12
+ } from "./chunk-XGIXXZD6.mjs";
13
13
  import {
14
14
  AbstractButton,
15
15
  AbstractElement,
@@ -24,15 +24,18 @@ import {
24
24
  byTestIdCssSelector,
25
25
  click,
26
26
  config,
27
+ contextMenu,
27
28
  createSubSystemTestId,
28
29
  editorFactory,
29
30
  fixElementStaleError,
30
31
  readonlyLocator,
31
- wait,
32
- waitElementIsVisible
33
- } from "./chunk-R3BWDLN3.mjs";
32
+ safeWait,
33
+ waitElementIsClickable_default,
34
+ waitElementIsVisible_default
35
+ } from "./chunk-32KSAOFJ.mjs";
34
36
 
35
37
  // src/pageObjects/pages/LoginPage.ts
38
+ import { By } from "selenium-webdriver";
36
39
  var LOGIN_PATH = "/login";
37
40
  var LoginPage = class extends AbstractPage {
38
41
  usernameField = byTestId("loginField", "input");
@@ -41,7 +44,7 @@ var LoginPage = class extends AbstractPage {
41
44
  async locate() {
42
45
  await super.locate();
43
46
  const login = await this.driver.findElement(this.usernameField);
44
- await waitElementIsVisible({
47
+ await waitElementIsVisible_default({
45
48
  element: login,
46
49
  driver: this.driver
47
50
  });
@@ -57,6 +60,11 @@ var LoginPage = class extends AbstractPage {
57
60
  }
58
61
  async clickLoginButton() {
59
62
  await click(await this.driver.findElement(this.loginButton), this.driver);
63
+ await waitElementIsVisible_default({
64
+ driver: this.driver,
65
+ by: By.id("section"),
66
+ errorMessage: "Sing in not successful"
67
+ });
60
68
  }
61
69
  async loginWith(username, password) {
62
70
  await this.enterUsername(username);
@@ -70,8 +78,38 @@ var LoginPage = class extends AbstractPage {
70
78
 
71
79
  // src/utils/createDriver.ts
72
80
  import { Builder } from "selenium-webdriver";
81
+ import Chrome from "selenium-webdriver/chrome";
82
+ import Firefox from "selenium-webdriver/firefox";
83
+ function chromeOptions(builder, options) {
84
+ const ChromeOptions = new Chrome.Options();
85
+ if (options.headless) {
86
+ ChromeOptions.addArguments(`--headless=new`);
87
+ }
88
+ return builder.setChromeOptions(ChromeOptions);
89
+ }
90
+ function firefoxOptions(builder, options) {
91
+ const FirefoxOptions = new Firefox.Options();
92
+ if (options.headless) {
93
+ FirefoxOptions.addArguments(`--headless`);
94
+ }
95
+ return builder.setFirefoxOptions(FirefoxOptions);
96
+ }
97
+ function setOptions(builder, browser, options) {
98
+ switch (browser) {
99
+ case "chrome":
100
+ return chromeOptions(builder, options);
101
+ case "firefox":
102
+ return firefoxOptions(builder, options);
103
+ default:
104
+ return builder;
105
+ }
106
+ }
73
107
  var createDriver = async (browser) => {
74
- const driver = await new Builder().forBrowser(browser ?? config().browser).build();
108
+ const _browser = browser ?? config().browser;
109
+ const headless = config().headless === "true";
110
+ let builder = new Builder().forBrowser(_browser);
111
+ builder = setOptions(builder, _browser, { headless });
112
+ const driver = await builder.build();
75
113
  const manage = driver.manage();
76
114
  await manage.setTimeouts({ implicit: config().timeout });
77
115
  await manage.window().maximize();
@@ -90,7 +128,6 @@ var elementIsNotPresent = function elementIsNotPresent2(locator) {
90
128
  // src/utils/signIn.ts
91
129
  async function signIn(driver) {
92
130
  const webDriver = driver ?? await createDriver();
93
- config().driver = webDriver;
94
131
  const loginPage = new LoginPage(webDriver);
95
132
  await loginPage.locate();
96
133
  await loginPage.authorize();
@@ -98,15 +135,15 @@ async function signIn(driver) {
98
135
  }
99
136
 
100
137
  // src/pageObjects/elements/SubsystemsPanel/SubsystemsPanelHeader.ts
101
- import { By as By2 } from "selenium-webdriver";
138
+ import { By as By3 } from "selenium-webdriver";
102
139
  var SubsystemsPanelHeader = class extends AbstractElementWithParent {
103
140
  async title() {
104
- return this.driver.findElement(By2.css(this.getFullCssSelector()));
141
+ return this.driver.findElement(By3.css(this.getFullCssSelector()));
105
142
  }
106
143
  };
107
144
 
108
145
  // src/pageObjects/elements/SubsystemsPanel/SubsystemsPanel.ts
109
- import { By as By3 } from "selenium-webdriver";
146
+ import { By as By4 } from "selenium-webdriver";
110
147
 
111
148
  // src/pageObjects/elements/SubsystemsPanel/SubsystemItem.ts
112
149
  var SubsystemItem = class {
@@ -120,10 +157,22 @@ var SubsystemItem = class {
120
157
  return fixElementStaleError(this.bySelector, this.driver);
121
158
  }
122
159
  async getTitle() {
160
+ await waitElementIsVisible_default(
161
+ {
162
+ by: this.bySelector,
163
+ driver: this.driver
164
+ }
165
+ );
123
166
  const el = await this.getElement();
124
167
  return await el.getAttribute("data-title");
125
168
  }
126
169
  async click() {
170
+ await waitElementIsClickable_default(
171
+ {
172
+ by: this.bySelector,
173
+ driver: this.driver
174
+ }
175
+ );
127
176
  const el = await this.getElement();
128
177
  await click(el, this.driver);
129
178
  }
@@ -144,11 +193,11 @@ var SubsystemsPanel = class extends AbstractElement {
144
193
  }
145
194
  async headerTitle() {
146
195
  const title = await this.header.title();
147
- await wait(async () => await title.getText() != "", this.driver);
196
+ await safeWait(async () => await title.getText() != "", this.driver);
148
197
  return title.getText();
149
198
  }
150
199
  getSearchComponent() {
151
- return new TextEditor("#aside", byTestIdCssSelector(SEARCH_INPUT_SELECTOR));
200
+ return new TextEditor("#aside", byTestIdCssSelector(SEARCH_INPUT_SELECTOR), this.driver);
152
201
  }
153
202
  /**
154
203
  * Находит сабсистему по заголовку
@@ -159,8 +208,9 @@ var SubsystemsPanel = class extends AbstractElement {
159
208
  */
160
209
  async search(title) {
161
210
  const searchComponent = this.getSearchComponent();
211
+ await this.searchClear();
162
212
  await searchComponent.setValue(title);
163
- await wait(
213
+ await safeWait(
164
214
  async () => {
165
215
  const findElement = await this.itemByTitle(title).getElement();
166
216
  const classes = await findElement.getAttribute("class");
@@ -179,7 +229,7 @@ var SubsystemsPanel = class extends AbstractElement {
179
229
  */
180
230
  async searchClear() {
181
231
  const clearBtnSelector = `#aside ${byTestIdCssSelector(SEARCH_INPUT_SELECTOR)} .${DX_CLEAR_BUTTON_AREA}`;
182
- const clearBtn = await this.driver.findElement(By3.css(clearBtnSelector));
232
+ const clearBtn = await fixElementStaleError(By4.css(clearBtnSelector), this.driver);
183
233
  if (await clearBtn.isDisplayed()) {
184
234
  await click(clearBtn, this.driver);
185
235
  }
@@ -193,7 +243,7 @@ var SubsystemsPanel = class extends AbstractElement {
193
243
  */
194
244
  item(name) {
195
245
  const elementCSS = createSubSystemTestId(name);
196
- return new SubsystemItem({ driver: this.driver, bySelector: By3.css(`${byTestIdCssSelector(elementCSS, "span")}`) });
246
+ return new SubsystemItem({ driver: this.driver, bySelector: By4.css(`${byTestIdCssSelector(elementCSS, "span")}`) });
197
247
  }
198
248
  /**
199
249
  * Возвращает сабсистему по заголовку
@@ -203,7 +253,7 @@ var SubsystemsPanel = class extends AbstractElement {
203
253
  * const subsystem = subsystemsPanel.itemByTitle('SubSystemTitle');
204
254
  */
205
255
  itemByTitle(title) {
206
- return new SubsystemItem({ driver: this.driver, bySelector: By3.css(byTitleCssSelector(title)) });
256
+ return new SubsystemItem({ driver: this.driver, bySelector: By4.css(byTitleCssSelector(title)) });
207
257
  }
208
258
  /**
209
259
  * Возвращается на уровень выше по сабсистемам
@@ -213,14 +263,14 @@ var SubsystemsPanel = class extends AbstractElement {
213
263
  * wait subsystemsPanel.back();
214
264
  */
215
265
  async back() {
216
- const backButton = this.driver.findElement(By3.css(`#aside .${BACK_BUTTON_SELECTOR}`));
217
- await waitElementIsVisible(
266
+ const by = By4.css(`#aside .${BACK_BUTTON_SELECTOR}`);
267
+ await waitElementIsVisible_default(
218
268
  {
219
- element: backButton,
269
+ by,
220
270
  driver: this.driver
221
271
  }
222
272
  );
223
- await click(backButton, this.driver);
273
+ await click(await fixElementStaleError(by, this.driver), this.driver);
224
274
  }
225
275
  };
226
276
 
@@ -244,7 +294,7 @@ var ReportForm = class extends FormEdit {
244
294
  };
245
295
 
246
296
  // src/pageObjects/elements/Dialog.ts
247
- import { By as By4 } from "selenium-webdriver";
297
+ import { By as By5 } from "selenium-webdriver";
248
298
  var DIALOG_CLASS = ".d5-dialog";
249
299
  var DIALOG_TITLE_CLASS = ".dialog__title";
250
300
  var DIALOG_TEXT_CLASS = ".dialog__text";
@@ -258,11 +308,14 @@ var DialogButton = class extends AbstractButton {
258
308
  }
259
309
  async getElement() {
260
310
  const panel = await super.getElement();
261
- return panel.findElement(By4.xpath(buttonByTextXpath(this.text)));
311
+ return panel.findElement(By5.xpath(buttonByTextXpath(this.text)));
262
312
  }
263
313
  buttonNotDisplayedError() {
264
314
  return `Dialog button ${this.text} cannot be clicked. It is not displayed or it is disabled`;
265
315
  }
316
+ getTitle() {
317
+ throw new Error(`Method "getTitle()" is not working.`);
318
+ }
266
319
  };
267
320
  var Dialog = class extends AbstractElement {
268
321
  constructor(driver) {
@@ -278,11 +331,11 @@ var Dialog = class extends AbstractElement {
278
331
  return this.joinRelativeCssSelectors([DIALOG_CLASS, DIALOG_BUTTONS_PANEL_CLASS]);
279
332
  }
280
333
  async title() {
281
- const el = await this.driver.findElement(By4.css(this.titleSelector));
334
+ const el = await this.driver.findElement(By5.css(this.titleSelector));
282
335
  return await el.getText();
283
336
  }
284
337
  async text() {
285
- const el = await this.driver.findElement(By4.css(this.textSelector));
338
+ const el = await this.driver.findElement(By5.css(this.textSelector));
286
339
  return await el.getText();
287
340
  }
288
341
  button(text) {
@@ -309,11 +362,13 @@ export {
309
362
  byTestIdCssSelector,
310
363
  click,
311
364
  config,
365
+ contextMenu,
312
366
  createDriver,
313
367
  editorFactory,
314
368
  elementIsNotPresent,
315
369
  readonlyLocator,
316
370
  signIn,
317
- wait,
318
- waitElementIsVisible
371
+ safeWait as wait,
372
+ waitElementIsClickable_default as waitElementIsClickable,
373
+ waitElementIsVisible_default as waitElementIsVisible
319
374
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "d5-testing-library",
3
- "version": "1.8.0-alpha.9",
3
+ "version": "1.8.0",
4
4
  "description": "e2e testing D5 projects",
5
5
  "main": "dist/cjs/d5-testing-library.cjs",
6
6
  "module": "dist/d5-testing-library.legacy-esm.js",
@@ -20,6 +20,7 @@
20
20
  "scripts": {
21
21
  "clean": "rimraf dist",
22
22
  "build": "tsup",
23
+ "test": "jest",
23
24
  "changelog": "node ./scripts/releaseChangelog.mjs changelog -p v1.0.1",
24
25
  "prepublishOnly": "yarn clean",
25
26
  "prepack": "yarn build",
@@ -32,19 +33,30 @@
32
33
  "author": "",
33
34
  "license": "ISC",
34
35
  "dependencies": {
35
- "selenium-webdriver": "4.25.0",
36
- "typescript": "5.3.3"
36
+ "selenium-webdriver": "4.29.0",
37
+ "typescript": "5.8.2"
37
38
  },
38
39
  "devDependencies": {
39
- "@babel/core": "^7.23.9",
40
- "@types/node": "^20.11.16",
41
- "@types/selenium-webdriver": "4.1.26",
42
- "commander": "12.0.0",
43
- "esbuild-extra": "^0.3.1",
44
- "rimraf": "^5.0.5",
45
- "tsup": "7.0.0"
40
+ "@babel/core": "7.26.9",
41
+ "@types/node": "20.11.16",
42
+ "@types/jest": "29.5.14",
43
+ "@types/selenium-webdriver": "4.1.28",
44
+ "commander": "12.1.0",
45
+ "esbuild-extra": "0.4.0",
46
+ "rimraf": "5.0.10",
47
+ "jest": "29.7.0",
48
+ "ts-jest": "29.2.6",
49
+ "tsup": "8.4.0"
46
50
  },
47
51
  "peerDependencies": {
48
- "selenium-webdriver": "4.25.0"
52
+ "selenium-webdriver": "4.29.0"
53
+ },
54
+ "jest": {
55
+ "preset": "ts-jest",
56
+ "testEnvironment": "node",
57
+ "transformIgnorePatterns": [
58
+ "[/\\\\]node_modules[/\\\\].+[^esm]\\.(js|jsx|mjs|cjs|ts|tsx)$",
59
+ "^.+\\.module\\.(css|sass|scss)$"
60
+ ]
49
61
  }
50
62
  }
@@ -1,7 +0,0 @@
1
- import {
2
- FormEdit
3
- } from "./chunk-XQTIDP34.mjs";
4
- import "./chunk-R3BWDLN3.mjs";
5
- export {
6
- FormEdit as default
7
- };
@@ -1,7 +0,0 @@
1
- import {
2
- ListForm
3
- } from "./chunk-4JWY3XDX.mjs";
4
- import "./chunk-R3BWDLN3.mjs";
5
- export {
6
- ListForm as default
7
- };
@@ -1,8 +0,0 @@
1
- import {
2
- TreeView
3
- } from "./chunk-VPTIEIX5.mjs";
4
- import "./chunk-4JWY3XDX.mjs";
5
- import "./chunk-R3BWDLN3.mjs";
6
- export {
7
- TreeView as default
8
- };