@uxf/e2e 11.10.0 → 11.11.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
@@ -1,8 +1,14 @@
1
1
  import { button } from "./ui/button";
2
2
  import { buttonGroup } from "./ui/button-group";
3
3
  import { buttonList } from "./ui/button-list";
4
+ import { input } from "./ui/input";
5
+ import { select } from "./ui/select";
6
+ import { textInput } from "./ui/text-input";
4
7
  export declare const components: {
5
8
  button: typeof button;
6
9
  buttonGroup: typeof buttonGroup;
7
10
  buttonList: typeof buttonList;
11
+ input: typeof input;
12
+ select: typeof select;
13
+ textInput: typeof textInput;
8
14
  };
package/components.js CHANGED
@@ -4,8 +4,14 @@ exports.components = void 0;
4
4
  const button_1 = require("./ui/button");
5
5
  const button_group_1 = require("./ui/button-group");
6
6
  const button_list_1 = require("./ui/button-list");
7
+ const input_1 = require("./ui/input");
8
+ const select_1 = require("./ui/select");
9
+ const text_input_1 = require("./ui/text-input");
7
10
  exports.components = {
8
11
  button: button_1.button,
9
12
  buttonGroup: button_group_1.buttonGroup,
10
13
  buttonList: button_list_1.buttonList,
14
+ input: input_1.input,
15
+ select: select_1.select,
16
+ textInput: text_input_1.textInput,
11
17
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uxf/e2e",
3
- "version": "11.10.0",
3
+ "version": "11.11.2",
4
4
  "description": "UXF TestCafe helpers",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -8,8 +8,8 @@
8
8
  "scripts": {
9
9
  "build": "npm run compile",
10
10
  "compile": "tsc -P tsconfig.json",
11
- "test": "../../node_modules/.bin/testcafe chrome ./tests/button.e2e.ts",
12
- "dev": "../../node_modules/.bin/testcafe chrome ./tests/button.e2e.ts --live",
11
+ "e2e": "../../node_modules/.bin/testcafe chrome ./tests",
12
+ "e2e:dev": "../../node_modules/.bin/testcafe chrome ./tests --live",
13
13
  "typecheck": "../../node_modules/.bin/tsc --noEmit --skipLibCheck"
14
14
  },
15
15
  "author": "UX Fans s.r.o",
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const testcafe_1 = require("testcafe");
4
+ const components_1 = require("../components");
5
+ const wait_for_react_1 = require("../utils/wait-for-react");
6
+ (0, testcafe_1.fixture)("Select")
7
+ .page("https://fe.uxf.dev/examples/ui/select/Default")
8
+ .httpAuth({ username: "uxf", password: "uxf" })
9
+ .beforeEach(async (t) => {
10
+ await (0, wait_for_react_1.waitForReact)(10000, t);
11
+ });
12
+ (0, testcafe_1.test)("Select", async () => {
13
+ const defaultSelect = components_1.components.select({ name: "default" });
14
+ await defaultSelect.shouldBeEmpty();
15
+ await defaultSelect.selectNthItem(2);
16
+ await defaultSelect.shouldHaveValue("Option three");
17
+ await defaultSelect.shouldNotBeEmpty();
18
+ });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const testcafe_1 = require("testcafe");
4
+ const components_1 = require("../components");
5
+ const wait_for_react_1 = require("../utils/wait-for-react");
6
+ (0, testcafe_1.fixture)("Text input")
7
+ .page("https://fe.uxf.dev/examples/ui/text-input/Default")
8
+ .httpAuth({ username: "uxf", password: "uxf" })
9
+ .beforeEach(async (t) => {
10
+ await (0, wait_for_react_1.waitForReact)(10000, t);
11
+ });
12
+ (0, testcafe_1.test)("Text input", async () => {
13
+ const defaultInput = components_1.components.textInput({ name: "default" });
14
+ await defaultInput.shouldNotBeDisabled();
15
+ await defaultInput.type("Value");
16
+ await defaultInput.shouldHaveValue("Value");
17
+ await defaultInput.type(" suffix");
18
+ await defaultInput.shouldHaveValue("Value suffix");
19
+ await defaultInput.replace("Replaced value");
20
+ await defaultInput.shouldHaveValue("Replaced value");
21
+ await components_1.components.textInput({ name: "disabled" }).shouldBeDisabled();
22
+ });
@@ -1,8 +1,8 @@
1
- import { BaseSelector } from "../utils/base-selector";
2
- interface ButtonGroupSelector extends BaseSelector {
1
+ import { BaseFinder } from "../utils/base-finder";
2
+ interface ButtonGroupFinder extends BaseFinder {
3
3
  dataTestId: string;
4
4
  }
5
- export declare function buttonGroup(buttonGroupSelector: ButtonGroupSelector): {
5
+ export declare function buttonGroup(finder: ButtonGroupFinder): {
6
6
  clickOnButtonByText(buttonText: string): TestControllerPromise<any>;
7
7
  shouldExists(): TestControllerPromise<any>;
8
8
  shouldExistsButtonByText(text: string): TestControllerPromise<any>;
@@ -4,10 +4,8 @@ exports.buttonGroup = void 0;
4
4
  const testcafe_1 = require("testcafe");
5
5
  const create_selector_1 = require("../utils/create-selector");
6
6
  const button_1 = require("./button");
7
- function buttonGroup(buttonGroupSelector) {
8
- const selector = (0, create_selector_1.createSelector)(buttonGroupSelector)
9
- .find(".uxf-button-group")
10
- .find(`[data-test-id="${buttonGroupSelector.dataTestId}"]`);
7
+ function buttonGroup(finder) {
8
+ const selector = (0, create_selector_1.createSelector)(finder).find(".uxf-button-group").find(`[data-test-id="${finder.dataTestId}"]`);
11
9
  return {
12
10
  clickOnButtonByText(buttonText) {
13
11
  return (0, button_1.button)({ parent: selector, text: buttonText }).click();
@@ -1,8 +1,8 @@
1
- import { BaseSelector } from "../utils/base-selector";
2
- interface ButtonListSelector extends BaseSelector {
1
+ import { BaseFinder } from "../utils/base-finder";
2
+ interface ButtonListFinder extends BaseFinder {
3
3
  nth?: number;
4
4
  }
5
- export declare function buttonList(buttonListSelector: ButtonListSelector): {
5
+ export declare function buttonList(finder: ButtonListFinder): {
6
6
  clickOnButton(text: string): TestControllerPromise<any>;
7
7
  };
8
8
  export {};
package/ui/button-list.js CHANGED
@@ -3,11 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.buttonList = void 0;
4
4
  const create_selector_1 = require("../utils/create-selector");
5
5
  const button_1 = require("./button");
6
- function buttonList(buttonListSelector) {
6
+ function buttonList(finder) {
7
7
  var _a;
8
- const selector = (0, create_selector_1.createSelector)(buttonListSelector)
8
+ const selector = (0, create_selector_1.createSelector)(finder)
9
9
  .find(".uxf-button-list")
10
- .nth((_a = buttonListSelector.nth) !== null && _a !== void 0 ? _a : 0);
10
+ .nth((_a = finder.nth) !== null && _a !== void 0 ? _a : 0);
11
11
  return {
12
12
  clickOnButton(text) {
13
13
  return (0, button_1.button)({ parent: selector, text }).click();
package/ui/button.d.ts CHANGED
@@ -1,9 +1,9 @@
1
- import { BaseSelector } from "../utils/base-selector";
2
- interface ButtonSelector extends BaseSelector {
1
+ import { BaseFinder } from "../utils/base-finder";
2
+ interface ButtonFinder extends BaseFinder {
3
3
  text: string;
4
4
  nth?: number;
5
5
  }
6
- export declare function button(buttonSelector: ButtonSelector): {
6
+ export declare function button(finder: ButtonFinder): {
7
7
  click(): TestControllerPromise<any>;
8
8
  shouldExists(): TestControllerPromise<any>;
9
9
  shouldNotExists(): TestControllerPromise<any>;
package/ui/button.js CHANGED
@@ -3,12 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.button = void 0;
4
4
  const testcafe_1 = require("testcafe");
5
5
  const create_selector_1 = require("../utils/create-selector");
6
- function button(buttonSelector) {
6
+ function button(finder) {
7
7
  var _a;
8
- const selector = (0, create_selector_1.createSelector)(buttonSelector)
8
+ const selector = (0, create_selector_1.createSelector)(finder)
9
9
  .find(".uxf-button")
10
- .withExactText(buttonSelector.text)
11
- .nth((_a = buttonSelector.nth) !== null && _a !== void 0 ? _a : 0);
10
+ .withExactText(finder.text)
11
+ .nth((_a = finder.nth) !== null && _a !== void 0 ? _a : 0);
12
12
  return {
13
13
  click() {
14
14
  return testcafe_1.t.click(selector);
package/ui/input.d.ts ADDED
@@ -0,0 +1,12 @@
1
+ import { BaseFinder } from "../utils/base-finder";
2
+ interface InputFinder extends BaseFinder {
3
+ name: string;
4
+ }
5
+ export declare function input(finder: InputFinder): {
6
+ type(value: string): TestControllerPromise<any>;
7
+ replace(value: string): TestControllerPromise<any>;
8
+ shouldHaveValue(value: string): TestControllerPromise<any>;
9
+ shouldBeDisabled(): TestControllerPromise<any>;
10
+ shouldNotBeDisabled(): TestControllerPromise<any>;
11
+ };
12
+ export {};
package/ui/input.js ADDED
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.input = void 0;
4
+ const testcafe_1 = require("testcafe");
5
+ const create_selector_1 = require("../utils/create-selector");
6
+ function input(finder) {
7
+ const inputElementSelector = (0, create_selector_1.createSelector)(finder).find(".uxf-input__element").withAttribute("name", finder.name);
8
+ return {
9
+ type(value) {
10
+ return testcafe_1.t.typeText(inputElementSelector, value);
11
+ },
12
+ replace(value) {
13
+ return testcafe_1.t.typeText(inputElementSelector, value, { replace: true });
14
+ },
15
+ shouldHaveValue(value) {
16
+ return testcafe_1.t.expect(inputElementSelector.value).eql(value);
17
+ },
18
+ shouldBeDisabled() {
19
+ return testcafe_1.t.expect(inputElementSelector.hasAttribute("disabled")).ok();
20
+ },
21
+ shouldNotBeDisabled() {
22
+ return testcafe_1.t.expect(inputElementSelector.hasAttribute("disabled")).notOk();
23
+ },
24
+ };
25
+ }
26
+ exports.input = input;
package/ui/select.d.ts ADDED
@@ -0,0 +1,12 @@
1
+ import { BaseFinder } from "../utils/base-finder";
2
+ interface SelectInputFinder extends BaseFinder {
3
+ name: string;
4
+ }
5
+ export declare function select(finder: SelectInputFinder): {
6
+ selectNthItem(nth: number): TestControllerPromise<any>;
7
+ shouldHaveValue(value: string): TestControllerPromise<any>;
8
+ shouldBeEmpty(): TestControllerPromise<any>;
9
+ shouldNotBeEmpty(): TestControllerPromise<any>;
10
+ shouldBeDisabled(): void;
11
+ };
12
+ export {};
package/ui/select.js ADDED
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.select = void 0;
4
+ const testcafe_1 = require("testcafe");
5
+ const create_selector_1 = require("../utils/create-selector");
6
+ function select(finder) {
7
+ // TODO - name
8
+ const buttonSelector = (0, create_selector_1.createSelector)(finder)
9
+ .find("button.uxf-input__element")
10
+ .withAttribute("aria-haspopup", "listbox");
11
+ return {
12
+ selectNthItem(nth) {
13
+ // TODO - asi použít helper na dropdown až bude existovat
14
+ return testcafe_1.t.click(buttonSelector).click((0, testcafe_1.Selector)(".uxf-dropdown__item").nth(nth));
15
+ },
16
+ shouldHaveValue(value) {
17
+ return testcafe_1.t.expect(buttonSelector.textContent).eql(value);
18
+ },
19
+ shouldBeEmpty() {
20
+ return testcafe_1.t.expect(buttonSelector.hasClass("is-empty")).ok();
21
+ },
22
+ shouldNotBeEmpty() {
23
+ return testcafe_1.t.expect(buttonSelector.hasClass("is-empty")).notOk();
24
+ },
25
+ shouldBeDisabled() {
26
+ //TODO chytáme ten selector moc zanořený. Pak se nedá chytit is-disabled
27
+ },
28
+ };
29
+ }
30
+ exports.select = select;
@@ -0,0 +1,12 @@
1
+ import { BaseFinder } from "../utils/base-finder";
2
+ interface TextInputFinder extends BaseFinder {
3
+ name: string;
4
+ }
5
+ export declare function textInput(finder: TextInputFinder): {
6
+ type(value: string): TestControllerPromise<any>;
7
+ replace(value: string): TestControllerPromise<any>;
8
+ shouldHaveValue(value: string): TestControllerPromise<any>;
9
+ shouldBeDisabled(): TestControllerPromise<any>;
10
+ shouldNotBeDisabled(): TestControllerPromise<any>;
11
+ };
12
+ export {};
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.textInput = void 0;
4
+ const input_1 = require("./input");
5
+ function textInput(finder) {
6
+ return {
7
+ type(value) {
8
+ return (0, input_1.input)(finder).type(value);
9
+ },
10
+ replace(value) {
11
+ return (0, input_1.input)(finder).replace(value);
12
+ },
13
+ shouldHaveValue(value) {
14
+ return (0, input_1.input)(finder).shouldHaveValue(value);
15
+ },
16
+ shouldBeDisabled() {
17
+ return (0, input_1.input)(finder).shouldBeDisabled();
18
+ },
19
+ shouldNotBeDisabled() {
20
+ return (0, input_1.input)(finder).shouldNotBeDisabled();
21
+ },
22
+ };
23
+ }
24
+ exports.textInput = textInput;
@@ -0,0 +1,3 @@
1
+ export type BaseFinder = {
2
+ parent?: Selector;
3
+ };
@@ -1,2 +1,2 @@
1
- import { BaseSelector } from "./base-selector";
2
- export declare function createSelector(selector: BaseSelector): Selector;
1
+ import { BaseFinder } from "./base-finder";
2
+ export declare function createSelector(selector: BaseFinder): Selector;
@@ -1,3 +0,0 @@
1
- export type BaseSelector = {
2
- parent?: Selector;
3
- };
File without changes