1 | /**
|
2 | * Class representing State
|
3 | * @param {State}
|
4 | */
|
5 | class State {
|
6 |
|
7 | /**
|
8 | * Set page map
|
9 | * @param {AbstractPageMap} pageMap - page map
|
10 | * @example State.setPageMap(new PageMap());
|
11 | */
|
12 | static setPageMap(pageMap) {
|
13 | this.pageMap = pageMap;
|
14 | }
|
15 |
|
16 | /**
|
17 | * Set current page by Name
|
18 | * @param {string} pageName - name of page ot set
|
19 | * @example State.setPage("YourPage");
|
20 | */
|
21 | static setPage(pageName) {
|
22 | this.page = this.pageMap.getPage(pageName).pageObject;
|
23 | }
|
24 |
|
25 | /**
|
26 | * Get current page
|
27 | * @return {AbstractPage} - current page
|
28 | * @throws {Error}
|
29 | * @example State.getPage();
|
30 | */
|
31 | static getPage() {
|
32 | if (this.page) {
|
33 | return this.page;
|
34 | } else {
|
35 | throw new Error("Current page is not defined")
|
36 | }
|
37 | }
|
38 | }
|
39 |
|
40 | module.exports = State; |
\ | No newline at end of file |