@uxf/e2e-playwright 11.76.0 → 11.77.2

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.d.ts CHANGED
@@ -6,6 +6,7 @@ export declare function createUi(page: Page): {
6
6
  datePickerInput: (finder: import("./ui/date-picker-input").DatePickerInputFinder) => import("./ui/date-picker-input").DatePickerInputModel;
7
7
  datetimePickerInput: (finder: import("./ui/datetime-picker-input").DatetimePickerInputFinder) => import("./ui/datetime-picker-input").DatetimePickerInputModel;
8
8
  dropzone: (finder: import("./ui/dropzone").DropzoneFinder) => import("./ui/dropzone").DropzoneModel;
9
+ flashMessages: () => import("./ui/flash-messages").FlashMessagesModel;
9
10
  multiCombobox: (finder: import("./ui/multi-combobox").MultiComboboxFinder) => import("./ui/multi-combobox").MultiComboboxModel;
10
11
  multiSelect: (finder: import("./ui/multi-select").MultiSelectFinder) => import("./ui/multi-select").MultiSelectModel;
11
12
  radioGroup: (finder: import("./ui/radio-group").RadioGroupFinder) => import("./ui/radio-group").RadioGroupModel;
package/components.js CHANGED
@@ -7,6 +7,7 @@ const combobox_1 = require("./ui/combobox");
7
7
  const date_picker_input_1 = require("./ui/date-picker-input");
8
8
  const datetime_picker_input_1 = require("./ui/datetime-picker-input");
9
9
  const dropzone_1 = require("./ui/dropzone");
10
+ const flash_messages_1 = require("./ui/flash-messages");
10
11
  const multi_combobox_1 = require("./ui/multi-combobox");
11
12
  const multi_select_1 = require("./ui/multi-select");
12
13
  const radio_group_1 = require("./ui/radio-group");
@@ -22,6 +23,7 @@ function createUi(page) {
22
23
  datePickerInput: (0, date_picker_input_1.datePickerInput)(page),
23
24
  datetimePickerInput: (0, datetime_picker_input_1.datetimePickerInput)(page),
24
25
  dropzone: (0, dropzone_1.dropzone)(page),
26
+ flashMessages: (0, flash_messages_1.flashMessages)(page),
25
27
  multiCombobox: (0, multi_combobox_1.multiCombobox)(page),
26
28
  multiSelect: (0, multi_select_1.multiSelect)(page),
27
29
  radioGroup: (0, radio_group_1.radioGroup)(page),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uxf/e2e-playwright",
3
- "version": "11.76.0",
3
+ "version": "11.77.2",
4
4
  "description": "UXF Playwright helpers",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -3,10 +3,8 @@ import { FormComponentFinder } from "../utils/base-finder";
3
3
  import { FormComponentModel } from "../utils/form-component-model";
4
4
  export type CheckboxInputFinder = FormComponentFinder;
5
5
  export declare class CheckboxInputModel extends FormComponentModel<boolean> {
6
- private readonly finder;
7
- private readonly checkboxLocator;
8
6
  private readonly fakeCheckboxLocator;
9
- constructor(page: Page, finder: FormComponentFinder);
7
+ constructor(page: Page, finder: CheckboxInputFinder);
10
8
  change(value: boolean): Promise<void>;
11
9
  }
12
10
  export declare const checkboxInput: (page: Page) => (finder: CheckboxInputFinder) => CheckboxInputModel;
@@ -1,13 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.checkboxInput = exports.CheckboxInputModel = void 0;
4
+ const checkbox_input_1 = require("@uxf/ui/checkbox-input/checkbox-input");
4
5
  const form_component_model_1 = require("../utils/form-component-model");
5
6
  class CheckboxInputModel extends form_component_model_1.FormComponentModel {
6
7
  constructor(page, finder) {
7
- const locator = page.locator(`.uxf-checkbox-input__wrapper[data-name=${finder.$name}]`);
8
- super(page, locator);
9
- this.finder = finder;
10
- this.checkboxLocator = this.locator.locator("input[type=checkbox]");
8
+ super(checkbox_input_1.CHECKBOX_INPUT_COMPONENT_NAME, page, finder);
11
9
  this.fakeCheckboxLocator = this.locator.locator(".uxf-checkbox");
12
10
  }
13
11
  async change(value) {
package/ui/combobox.d.ts CHANGED
@@ -3,7 +3,6 @@ import { FormComponentFinder } from "../utils/base-finder";
3
3
  import { FormComponentModel } from "../utils/form-component-model";
4
4
  export type ComboboxFinder = FormComponentFinder;
5
5
  export declare class ComboboxModel extends FormComponentModel<string> {
6
- private readonly finder;
7
6
  private readonly inputLocator;
8
7
  constructor(page: Page, finder: FormComponentFinder);
9
8
  change(value: string): Promise<void>;
package/ui/combobox.js CHANGED
@@ -1,12 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.combobox = exports.ComboboxModel = void 0;
4
+ const combobox_1 = require("@uxf/ui/combobox/combobox");
4
5
  const form_component_model_1 = require("../utils/form-component-model");
5
6
  class ComboboxModel extends form_component_model_1.FormComponentModel {
6
7
  constructor(page, finder) {
7
- const locator = page.locator(`.uxf-combobox[data-name=${finder.$name}]`);
8
- super(page, locator);
9
- this.finder = finder;
8
+ super(combobox_1.COMBOBOX_COMPONENT_NAME, page, finder);
10
9
  this.inputLocator = this.locator.locator(".uxf-input__element");
11
10
  }
12
11
  async change(value) {
@@ -3,7 +3,6 @@ import { FormComponentFinder } from "../utils/base-finder";
3
3
  import { FormComponentModel } from "../utils/form-component-model";
4
4
  export type DatePickerInputFinder = FormComponentFinder;
5
5
  export declare class DatePickerInputModel extends FormComponentModel<Date> {
6
- private readonly finder;
7
6
  private readonly inputLocator;
8
7
  constructor(page: Page, finder: FormComponentFinder);
9
8
  change(value: Date): Promise<void>;
@@ -4,13 +4,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.datePickerInput = exports.DatePickerInputModel = void 0;
7
+ const date_picker_input_1 = require("@uxf/ui/date-picker-input/date-picker-input");
7
8
  const dayjs_1 = __importDefault(require("dayjs"));
8
9
  const form_component_model_1 = require("../utils/form-component-model");
9
10
  class DatePickerInputModel extends form_component_model_1.FormComponentModel {
10
11
  constructor(page, finder) {
11
- const locator = page.locator(`.uxf-date-picker-input[data-name=${finder.$name}]`);
12
- super(page, locator);
13
- this.finder = finder;
12
+ super(date_picker_input_1.DATE_PICKER_INPUT_COMPONENT_NAME, page, finder);
14
13
  this.inputLocator = this.locator.locator(".uxf-input__element");
15
14
  }
16
15
  async change(value) {
@@ -3,7 +3,6 @@ import { FormComponentFinder } from "../utils/base-finder";
3
3
  import { FormComponentModel } from "../utils/form-component-model";
4
4
  export type DatetimePickerInputFinder = FormComponentFinder;
5
5
  export declare class DatetimePickerInputModel extends FormComponentModel<Date> {
6
- private readonly finder;
7
6
  private readonly inputLocator;
8
7
  constructor(page: Page, finder: FormComponentFinder);
9
8
  change(value: Date): Promise<void>;
@@ -4,13 +4,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.datetimePickerInput = exports.DatetimePickerInputModel = void 0;
7
+ const datetime_picker_input_1 = require("@uxf/ui/datetime-picker-input/datetime-picker-input");
7
8
  const dayjs_1 = __importDefault(require("dayjs"));
8
9
  const form_component_model_1 = require("../utils/form-component-model");
9
10
  class DatetimePickerInputModel extends form_component_model_1.FormComponentModel {
10
11
  constructor(page, finder) {
11
- const locator = page.locator(`.uxf-date-time-picker-input[data-name=${finder.$name}]`);
12
- super(page, locator);
13
- this.finder = finder;
12
+ super(datetime_picker_input_1.DATETIME_PICKER_INPUT_COMPONENT_NAME, page, finder);
14
13
  this.inputLocator = this.locator.locator(".uxf-input__element");
15
14
  }
16
15
  async change(value) {
package/ui/dropzone.d.ts CHANGED
@@ -3,7 +3,6 @@ import { FormComponentFinder } from "../utils/base-finder";
3
3
  import { FormComponentModel } from "../utils/form-component-model";
4
4
  export type DropzoneFinder = FormComponentFinder;
5
5
  export declare class DropzoneModel extends FormComponentModel<string[]> {
6
- private readonly finder;
7
6
  private readonly inputLocator;
8
7
  constructor(page: Page, finder: FormComponentFinder);
9
8
  change(filesToUpload: string[]): Promise<void>;
package/ui/dropzone.js CHANGED
@@ -2,13 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.dropzone = exports.DropzoneModel = void 0;
4
4
  const test_1 = require("@playwright/test");
5
+ const dropzone_input_1 = require("@uxf/ui/dropzone/dropzone-input");
5
6
  const form_component_model_1 = require("../utils/form-component-model");
6
7
  class DropzoneModel extends form_component_model_1.FormComponentModel {
7
8
  constructor(page, finder) {
8
- const locator = page.locator(`.uxf-dropzone[data-name=${finder.$name}]`);
9
- super(page, locator);
10
- this.finder = finder;
11
- this.inputLocator = locator.locator("input");
9
+ super(dropzone_input_1.DROPZONE_COMPONENT_NAME, page, finder);
10
+ this.inputLocator = this.locator.locator("input");
12
11
  }
13
12
  async change(filesToUpload) {
14
13
  await this.inputLocator.setInputFiles(filesToUpload);
@@ -0,0 +1,7 @@
1
+ import { Page } from "@playwright/test";
2
+ import { BaseModel } from "../utils/base-model";
3
+ export declare class FlashMessagesModel extends BaseModel {
4
+ constructor(page: Page);
5
+ shouldExistMessage(text: string): Promise<void>;
6
+ }
7
+ export declare const flashMessages: (page: Page) => () => FlashMessagesModel;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const test_1 = require("@playwright/test");
4
+ const components_1 = require("../components");
5
+ (0, test_1.test)("FlashMessages", async ({ page }) => {
6
+ await page.goto("/examples/ui/flash-messages/Default");
7
+ const ui = (0, components_1.createUi)(page);
8
+ await ui.button({ text: "Success" }).click();
9
+ await ui.flashMessages().shouldExistMessage("Success message");
10
+ await ui.button({ text: "Error" }).click();
11
+ await ui.flashMessages().shouldExistMessage("Error message");
12
+ });
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.flashMessages = exports.FlashMessagesModel = void 0;
4
+ const test_1 = require("@playwright/test");
5
+ const flash_messages_1 = require("@uxf/ui/flash-messages/flash-messages");
6
+ const base_model_1 = require("../utils/base-model");
7
+ class FlashMessagesModel extends base_model_1.BaseModel {
8
+ constructor(page) {
9
+ super(page, page.locator(`[data-component=${flash_messages_1.FLASH_MESSAGES_COMPONENT_NAME}]`));
10
+ }
11
+ async shouldExistMessage(text) {
12
+ await (0, test_1.expect)(this.locator.locator(".uxf-flash-message").filter({ hasText: text })).toHaveCount(1);
13
+ }
14
+ }
15
+ exports.FlashMessagesModel = FlashMessagesModel;
16
+ const flashMessages = (page) => () => new FlashMessagesModel(page);
17
+ exports.flashMessages = flashMessages;
@@ -3,7 +3,6 @@ import { FormComponentFinder } from "../utils/base-finder";
3
3
  import { FormComponentModel } from "../utils/form-component-model";
4
4
  export type MultiComboboxFinder = FormComponentFinder;
5
5
  export declare class MultiComboboxModel extends FormComponentModel<string[]> {
6
- private readonly finder;
7
6
  private readonly buttonLocator;
8
7
  private readonly inputLocator;
9
8
  constructor(page: Page, finder: FormComponentFinder);
@@ -1,12 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.multiCombobox = exports.MultiComboboxModel = void 0;
4
+ const multi_combobox_1 = require("@uxf/ui/multi-combobox/multi-combobox");
4
5
  const form_component_model_1 = require("../utils/form-component-model");
5
6
  class MultiComboboxModel extends form_component_model_1.FormComponentModel {
6
7
  constructor(page, finder) {
7
- const locator = page.locator(`.uxf-multi-combobox[data-name=${finder.$name}]`);
8
- super(page, locator);
9
- this.finder = finder;
8
+ super(multi_combobox_1.MULTI_COMBOBOX_COMPONENT_NAME, page, finder);
10
9
  this.buttonLocator = this.locator.locator(".uxf-multi-combobox__button");
11
10
  this.inputLocator = this.locator.locator("input");
12
11
  }
@@ -3,7 +3,6 @@ import { FormComponentFinder } from "../utils/base-finder";
3
3
  import { FormComponentModel } from "../utils/form-component-model";
4
4
  export type MultiSelectFinder = FormComponentFinder;
5
5
  export declare class MultiSelectModel extends FormComponentModel<string[]> {
6
- private readonly finder;
7
6
  private readonly buttonLocator;
8
7
  constructor(page: Page, finder: FormComponentFinder);
9
8
  change(optionTexts: string[]): Promise<void>;
@@ -1,12 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.multiSelect = exports.MultiSelectModel = void 0;
4
+ const multi_select_1 = require("@uxf/ui/multi-select/multi-select");
4
5
  const form_component_model_1 = require("../utils/form-component-model");
5
6
  class MultiSelectModel extends form_component_model_1.FormComponentModel {
6
7
  constructor(page, finder) {
7
- const locator = page.locator(`.uxf-multi-select[data-name=${finder.$name}]`);
8
- super(page, locator);
9
- this.finder = finder;
8
+ super(multi_select_1.MULTI_SELECT_COMPONENT_NAME, page, finder);
10
9
  this.buttonLocator = this.locator.locator(".uxf-multi-select__button");
11
10
  }
12
11
  // TODO implementovat odebrání předchozích hodnot (ideálně nějak kliknout na clear tlačítko)
@@ -3,7 +3,6 @@ import { FormComponentFinder } from "../utils/base-finder";
3
3
  import { FormComponentModel } from "../utils/form-component-model";
4
4
  export type RadioGroupFinder = FormComponentFinder;
5
5
  export declare class RadioGroupModel extends FormComponentModel<string> {
6
- private readonly finder;
7
6
  constructor(page: Page, finder: FormComponentFinder);
8
7
  change(value: string): Promise<void>;
9
8
  }
package/ui/radio-group.js CHANGED
@@ -1,12 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.radioGroup = exports.RadioGroupModel = void 0;
4
+ const radio_group_1 = require("@uxf/ui/radio-group/radio-group");
4
5
  const form_component_model_1 = require("../utils/form-component-model");
5
6
  class RadioGroupModel extends form_component_model_1.FormComponentModel {
6
7
  constructor(page, finder) {
7
- const locator = page.locator(`.uxf-radio-group[data-name=${finder.$name}]`);
8
- super(page, locator);
9
- this.finder = finder;
8
+ super(radio_group_1.RADIO_GROUP_COMPONENT_NAME, page, finder);
10
9
  }
11
10
  async change(value) {
12
11
  const option = this.locator.locator(".uxf-radio-group__option").filter({ hasText: value });
package/ui/select.d.ts CHANGED
@@ -3,7 +3,6 @@ import { FormComponentFinder } from "../utils/base-finder";
3
3
  import { FormComponentModel } from "../utils/form-component-model";
4
4
  export type SelectFinder = FormComponentFinder;
5
5
  export declare class SelectModel extends FormComponentModel<string> {
6
- private readonly finder;
7
6
  private readonly buttonLocator;
8
7
  constructor(page: Page, finder: FormComponentFinder);
9
8
  change(optionText: string): Promise<void>;
package/ui/select.js CHANGED
@@ -1,12 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.select = exports.SelectModel = void 0;
4
+ const select_1 = require("@uxf/ui/select/select");
4
5
  const form_component_model_1 = require("../utils/form-component-model");
5
6
  class SelectModel extends form_component_model_1.FormComponentModel {
6
7
  constructor(page, finder) {
7
- const locator = page.locator(`.uxf-select[data-name=${finder.$name}]`);
8
- super(page, locator);
9
- this.finder = finder;
8
+ super(select_1.SELECT_COMPONENT_NAME, page, finder);
10
9
  this.buttonLocator = this.locator.locator("div.uxf-input__element");
11
10
  }
12
11
  async change(optionText) {
@@ -3,7 +3,6 @@ import { FormComponentFinder } from "../utils/base-finder";
3
3
  import { FormComponentModel } from "../utils/form-component-model";
4
4
  export type TextInputFinder = FormComponentFinder;
5
5
  export declare class TextInputModel extends FormComponentModel<string> {
6
- private readonly finder;
7
6
  constructor(page: Page, finder: FormComponentFinder);
8
7
  change(value: string): Promise<void>;
9
8
  }
@@ -6,4 +6,5 @@ const components_1 = require("../components");
6
6
  const ui = (0, components_1.createUi)(page);
7
7
  await page.goto("/examples/ui/text-input/Default");
8
8
  await ui.textInput({ $name: "default" }).change("Value");
9
+ await ui.textInput({ $name: "error" }).shouldBeInvalid();
9
10
  });
package/ui/text-input.js CHANGED
@@ -1,12 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.textInput = exports.TextInputModel = void 0;
4
+ const text_input_1 = require("@uxf/ui/text-input/text-input");
4
5
  const form_component_model_1 = require("../utils/form-component-model");
5
6
  class TextInputModel extends form_component_model_1.FormComponentModel {
6
7
  constructor(page, finder) {
7
- const locator = page.locator(`.uxf-text-input[data-name=${finder.$name}]`);
8
- super(page, locator);
9
- this.finder = finder;
8
+ super(text_input_1.TEXT_INPUT_COMPONENT_NAME, page, finder);
10
9
  }
11
10
  async change(value) {
12
11
  await this.locator.locator("input").fill(value);
package/ui/textarea.d.ts CHANGED
@@ -3,7 +3,6 @@ import { FormComponentFinder } from "../utils/base-finder";
3
3
  import { FormComponentModel } from "../utils/form-component-model";
4
4
  export type TextareaFinder = FormComponentFinder;
5
5
  export declare class TextareaModel extends FormComponentModel<string> {
6
- private readonly finder;
7
6
  constructor(page: Page, finder: FormComponentFinder);
8
7
  change(value: string): Promise<void>;
9
8
  }
package/ui/textarea.js CHANGED
@@ -1,12 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.textarea = exports.TextareaModel = void 0;
4
+ const textarea_1 = require("@uxf/ui/textarea/textarea");
4
5
  const form_component_model_1 = require("../utils/form-component-model");
5
6
  class TextareaModel extends form_component_model_1.FormComponentModel {
6
7
  constructor(page, finder) {
7
- const locator = page.locator(`.uxf-textarea[data-name=${finder.$name}]`);
8
- super(page, locator);
9
- this.finder = finder;
8
+ super(textarea_1.TEXTAREA_COMPONENT_NAME, page, finder);
10
9
  }
11
10
  async change(value) {
12
11
  const textarea = this.locator.locator("textarea");
package/ui/toggle.d.ts CHANGED
@@ -3,7 +3,6 @@ import { FormComponentFinder } from "../utils/base-finder";
3
3
  import { FormComponentModel } from "../utils/form-component-model";
4
4
  export type ToggleFinder = FormComponentFinder;
5
5
  export declare class ToggleModel extends FormComponentModel<boolean> {
6
- private readonly finder;
7
6
  constructor(page: Page, finder: FormComponentFinder);
8
7
  change(value: boolean): Promise<void>;
9
8
  }
package/ui/toggle.js CHANGED
@@ -1,12 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.toggle = exports.ToggleModel = void 0;
4
+ const toggle_1 = require("@uxf/ui/toggle/toggle");
4
5
  const form_component_model_1 = require("../utils/form-component-model");
5
6
  class ToggleModel extends form_component_model_1.FormComponentModel {
6
7
  constructor(page, finder) {
7
- const locator = page.locator(`.uxf-toggle__wrapper[data-name=${finder.$name}]`);
8
- super(page, locator);
9
- this.finder = finder;
8
+ super(toggle_1.TOGGLE_COMPONENT_NAME, page, finder);
10
9
  }
11
10
  async change(value) {
12
11
  const isSelected = await this.locator.locator("button").evaluate((el) => el.classList.contains("is-selected"));
@@ -1,7 +1,7 @@
1
1
  import { Locator, Page } from "@playwright/test";
2
2
  export declare abstract class BaseModel {
3
3
  protected readonly page: Page;
4
- protected readonly locator: Locator;
4
+ readonly locator: Locator;
5
5
  protected constructor(page: Page, locator: Locator);
6
6
  shouldExist(): Promise<void>;
7
7
  shouldNotExist(): Promise<void>;
@@ -1,6 +1,8 @@
1
- import { Locator, Page } from "@playwright/test";
1
+ import { Page } from "@playwright/test";
2
+ import { FormComponentFinder } from "./base-finder";
2
3
  import { BaseModel } from "./base-model";
3
4
  export declare abstract class FormComponentModel<Value> extends BaseModel {
4
- protected constructor(page: Page, locator: Locator);
5
+ protected constructor(componentName: string, page: Page, finder: FormComponentFinder);
6
+ shouldBeInvalid(): Promise<void>;
5
7
  abstract change(value: Value): Promise<any>;
6
8
  }
@@ -1,10 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FormComponentModel = void 0;
4
+ const test_1 = require("@playwright/test");
5
+ const classes_1 = require("@uxf/core/constants/classes");
4
6
  const base_model_1 = require("./base-model");
5
7
  class FormComponentModel extends base_model_1.BaseModel {
6
- constructor(page, locator) {
8
+ constructor(componentName, page, finder) {
9
+ const locator = page.locator(`[data-component=${componentName}][data-name=${finder.$name}]`);
7
10
  super(page, locator);
8
11
  }
12
+ shouldBeInvalid() {
13
+ return (0, test_1.expect)(this.locator).toContainClass(classes_1.CLASSES.IS_INVALID);
14
+ }
9
15
  }
10
16
  exports.FormComponentModel = FormComponentModel;