@bigbinary/neeto-playwright-commons 1.10.10 → 1.10.12

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/index.cjs.js CHANGED
@@ -2,12 +2,12 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var child_process = require('child_process');
6
5
  var fs$d = require('fs');
6
+ var Path = require('path');
7
+ var child_process = require('child_process');
7
8
  var test$1 = require('@playwright/test');
8
9
  var ramda = require('ramda');
9
10
  var require$$0$1 = require('util');
10
- var Path = require('path');
11
11
  var faker = require('@faker-js/faker');
12
12
  var MailosaurClient = require('mailosaur');
13
13
  var dayjs = require('dayjs');
@@ -52,10 +52,10 @@ function _interopNamespace(e) {
52
52
 
53
53
  var fs__namespace = /*#__PURE__*/_interopNamespace(fs$d);
54
54
  var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs$d);
55
- var test__default = /*#__PURE__*/_interopDefaultLegacy(test$1);
56
- var require$$0__default = /*#__PURE__*/_interopDefaultLegacy(require$$0$1);
57
55
  var Path__default = /*#__PURE__*/_interopDefaultLegacy(Path);
58
56
  var Path__namespace = /*#__PURE__*/_interopNamespace(Path);
57
+ var test__default = /*#__PURE__*/_interopDefaultLegacy(test$1);
58
+ var require$$0__default = /*#__PURE__*/_interopDefaultLegacy(require$$0$1);
59
59
  var MailosaurClient__default = /*#__PURE__*/_interopDefaultLegacy(MailosaurClient);
60
60
  var dayjs__default = /*#__PURE__*/_interopDefaultLegacy(dayjs);
61
61
  var require$$0__default$2 = /*#__PURE__*/_interopDefaultLegacy(require$$0$3);
@@ -378,6 +378,7 @@ const COMMON_SELECTORS = {
378
378
  submitButton: "submit-button",
379
379
  tableRow: ".ant-table-row",
380
380
  navigationHeaderLeftBlock: "navigation-header-left-block",
381
+ fileUploadBody: "file-upload-body",
381
382
  };
382
383
 
383
384
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
@@ -3520,16 +3521,16 @@ class CustomCommands {
3520
3521
  (await this.page.getByTestId(COMMON_SELECTORS.toastCloseButton).click());
3521
3522
  await test$1.expect(this.page.locator(COMMON_SELECTORS.toastIcon)).toBeHidden();
3522
3523
  };
3523
- this.verifyToast = async ({ message = "", toastType = "success", closeAfterVerification = true, } = {}) => {
3524
+ this.verifyToast = async ({ message = "", toastType = "success", closeAfterVerification = true, timeout = 10000, } = {}) => {
3524
3525
  if (toastType === "error") {
3525
- await test$1.expect(this.page.getByTestId(COMMON_SELECTORS.errorToastIcon)).toBeVisible({ timeout: 10000 });
3526
+ await test$1.expect(this.page.getByTestId(COMMON_SELECTORS.errorToastIcon)).toBeVisible({ timeout });
3526
3527
  }
3527
3528
  const toastrCloseButton = this.page.getByTestId(COMMON_SELECTORS.toastCloseButton);
3528
3529
  if (!ramda.isEmpty(message)) {
3529
- await test$1.expect(this.page.getByTestId(COMMON_SELECTORS.toastMessage)).toContainText(message, { timeout: 10000 });
3530
+ await test$1.expect(this.page.getByTestId(COMMON_SELECTORS.toastMessage)).toContainText(message, { timeout });
3530
3531
  }
3531
3532
  else {
3532
- await test$1.expect(this.page.locator(COMMON_SELECTORS.toastIcon)).toContainText("👍");
3533
+ await test$1.expect(this.page.locator(COMMON_SELECTORS.toastIcon)).toContainText("👍", { timeout });
3533
3534
  }
3534
3535
  if (closeAfterVerification && (await toastrCloseButton.isVisible())) {
3535
3536
  await toastrCloseButton.click();
@@ -3626,9 +3627,25 @@ class CustomCommands {
3626
3627
  await uploadFile;
3627
3628
  await test$1.expect(this.page.getByTestId(NEETO_IMAGE_UPLOADER_SELECTORS.uploadedImage)).toHaveAttribute("src", new RegExp(imageName), { timeout: 20000 });
3628
3629
  };
3630
+ this.uploadFileViaDispatch = async ({ fileNameWithType, assetsPath = "../../../e2e/assets/", dispatchEvent = "drop", droppableZone = this.page.getByTestId(COMMON_SELECTORS.fileUploadBody), }) => {
3631
+ const filePath = Path__default["default"].join(__dirname, `${assetsPath}/${fileNameWithType}`);
3632
+ const buffer = fs$d.readFileSync(filePath).toString("base64");
3633
+ const dataTransfer = await droppableZone.evaluateHandle((_, { buffer, fileNameWithType }) => {
3634
+ var _a;
3635
+ const dataTransfer = new DataTransfer();
3636
+ const fileName = (_a = fileNameWithType.split("/")) === null || _a === void 0 ? void 0 : _a[1];
3637
+ const hexString = Uint8Array.from(atob(buffer), c => c.charCodeAt(0));
3638
+ const file = new File([hexString], fileName);
3639
+ dataTransfer.items.add(file);
3640
+ return dataTransfer;
3641
+ }, { buffer, fileNameWithType });
3642
+ await droppableZone.dispatchEvent(dispatchEvent, { dataTransfer });
3643
+ };
3629
3644
  this.verifyTooltip = async ({ triggerElement, content, }) => {
3630
3645
  await triggerElement.hover();
3631
3646
  await test$1.expect(this.page.getByTestId(COMMON_SELECTORS.tooltip)).toContainText(content);
3647
+ await this.page.mouse.move(0, 0);
3648
+ await test$1.expect(this.page.getByTestId(COMMON_SELECTORS.tooltip)).toBeHidden();
3632
3649
  };
3633
3650
  this.page = page;
3634
3651
  this.responses = [];
@@ -13516,14 +13533,16 @@ class WebhooksPage {
13516
13533
  await addWebhook;
13517
13534
  await test$1.expect(this.page.getByRole("row", { name: webhookSiteURL })).toBeVisible();
13518
13535
  };
13519
- this.verifyLatestWebhookResponse = async ({ callback = () => { }, webhookToken, ...otherParams }) => {
13536
+ this.verifyLatestWebhookResponse = async ({ callback = () => { }, webhookToken, parseFullResponseContent = false, ...otherParams }) => {
13520
13537
  let response;
13521
13538
  await test$1.expect(async () => {
13522
13539
  response = await this.request.get(`https://webhook.site/token/${webhookToken}/request/latest`);
13523
13540
  test$1.expect(response.status()).toBe(200);
13524
13541
  if (response.status() === 200) {
13525
13542
  const { content } = await response.json();
13526
- const parsedResponse = JSON.parse(content).webhook;
13543
+ const parsedResponse = parseFullResponseContent
13544
+ ? JSON.parse(content)
13545
+ : JSON.parse(content).webhook;
13527
13546
  callback({ parsedResponse, ...otherParams });
13528
13547
  }
13529
13548
  }).toPass({ timeout: 20000 });