@coolon/angular-ui-powerups 12.4.0-alpha.18 → 12.4.0-alpha.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/assets/styles.scss +0 -1
- package/bundles/coolon-angular-ui-powerups-cypress.umd.js +241 -520
- package/bundles/coolon-angular-ui-powerups-cypress.umd.js.map +1 -1
- package/bundles/coolon-angular-ui-powerups.umd.js +7 -2
- package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
- package/coolon-angular-ui-powerups.metadata.json +1 -1
- package/cypress/components/aup-command-face.d.ts +4 -5
- package/cypress/components/aup-command.d.ts +1 -1
- package/cypress/components/aup-input.d.ts +5 -11
- package/cypress/components/aup-popup-menu.d.ts +2 -1
- package/cypress/components/aup-table.d.ts +3 -29
- package/cypress/components/{form-element-mixin.d.ts → button-mixin.d.ts} +6 -7
- package/cypress/components/button.d.ts +6 -8
- package/cypress/coolon-angular-ui-powerups-cypress.metadata.json +1 -1
- package/cypress/exports.d.ts +2 -11
- package/cypress/page-element.d.ts +9 -8
- package/cypress/page.d.ts +33 -5
- package/cypress/section.d.ts +51 -0
- package/esm2015/cypress/components/aup-command-face.js +6 -6
- package/esm2015/cypress/components/aup-command-face.js.map +1 -1
- package/esm2015/cypress/components/aup-command-face.metadata.json +1 -1
- package/esm2015/cypress/components/aup-command.js +4 -12
- package/esm2015/cypress/components/aup-command.js.map +1 -1
- package/esm2015/cypress/components/aup-command.metadata.json +1 -1
- package/esm2015/cypress/components/aup-input.js +5 -17
- package/esm2015/cypress/components/aup-input.js.map +1 -1
- package/esm2015/cypress/components/aup-input.metadata.json +1 -1
- package/esm2015/cypress/components/aup-navigation.js +1 -1
- package/esm2015/cypress/components/aup-navigation.js.map +1 -1
- package/esm2015/cypress/components/aup-popup-menu.js +3 -3
- package/esm2015/cypress/components/aup-popup-menu.js.map +1 -1
- package/esm2015/cypress/components/aup-popup-menu.metadata.json +1 -1
- package/esm2015/cypress/components/aup-table.js +7 -85
- package/esm2015/cypress/components/aup-table.js.map +1 -1
- package/esm2015/cypress/components/aup-table.metadata.json +1 -1
- package/esm2015/cypress/components/button-mixin.js +15 -0
- package/esm2015/cypress/components/button-mixin.js.map +1 -0
- package/esm2015/cypress/components/button-mixin.metadata.json +1 -0
- package/esm2015/cypress/components/button.js +10 -4
- package/esm2015/cypress/components/button.js.map +1 -1
- package/esm2015/cypress/components/button.metadata.json +1 -1
- package/esm2015/cypress/exports.js +2 -11
- package/esm2015/cypress/exports.js.map +1 -1
- package/esm2015/cypress/exports.metadata.json +1 -1
- package/esm2015/cypress/page-element.js +18 -21
- package/esm2015/cypress/page-element.js.map +1 -1
- package/esm2015/cypress/page-element.metadata.json +1 -1
- package/esm2015/cypress/page.js +10 -8
- package/esm2015/cypress/page.js.map +1 -1
- package/esm2015/cypress/page.metadata.json +1 -1
- package/esm2015/cypress/path.js +1 -3
- package/esm2015/cypress/path.js.map +1 -1
- package/esm2015/cypress/section.js +58 -0
- package/esm2015/cypress/section.js.map +1 -0
- package/esm2015/cypress/section.metadata.json +1 -0
- package/esm2015/lib/components/empty-state/empty-state.component.js +1 -1
- package/esm2015/lib/components/empty-state/empty-state.component.metadata.json +1 -1
- package/esm2015/lib/place/url-snapshot.js +7 -1
- package/esm2015/lib/place/url-snapshot.js.map +1 -1
- package/esm2015/lib/place/url-snapshot.metadata.json +1 -1
- package/fesm2015/coolon-angular-ui-powerups-cypress.js +168 -414
- package/fesm2015/coolon-angular-ui-powerups-cypress.js.map +1 -1
- package/fesm2015/coolon-angular-ui-powerups.js +7 -2
- package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
- package/package.json +1 -1
- package/assets/empty-state.scss +0 -11
- package/cypress/builder.d.ts +0 -39
- package/cypress/components/aup-abstract-activity.d.ts +0 -9
- package/cypress/components/aup-activity.d.ts +0 -9
- package/cypress/components/aup-alert.d.ts +0 -9
- package/cypress/components/aup-empty-state.d.ts +0 -4
- package/cypress/components/aup-modal-activity.d.ts +0 -4
- package/cypress/components/aup-modal-alert.d.ts +0 -7
- package/cypress/components/mat-checkbox.d.ts +0 -29
- package/cypress/element-locator.d.ts +0 -10
- package/cypress/page-builder.d.ts +0 -8
- package/esm2015/cypress/builder.js +0 -97
- package/esm2015/cypress/builder.js.map +0 -1
- package/esm2015/cypress/builder.metadata.json +0 -1
- package/esm2015/cypress/components/aup-abstract-activity.js +0 -12
- package/esm2015/cypress/components/aup-abstract-activity.js.map +0 -1
- package/esm2015/cypress/components/aup-abstract-activity.metadata.json +0 -1
- package/esm2015/cypress/components/aup-activity.js +0 -13
- package/esm2015/cypress/components/aup-activity.js.map +0 -1
- package/esm2015/cypress/components/aup-activity.metadata.json +0 -1
- package/esm2015/cypress/components/aup-alert.js +0 -13
- package/esm2015/cypress/components/aup-alert.js.map +0 -1
- package/esm2015/cypress/components/aup-alert.metadata.json +0 -1
- package/esm2015/cypress/components/aup-empty-state.js +0 -7
- package/esm2015/cypress/components/aup-empty-state.js.map +0 -1
- package/esm2015/cypress/components/aup-empty-state.metadata.json +0 -1
- package/esm2015/cypress/components/aup-modal-activity.js +0 -7
- package/esm2015/cypress/components/aup-modal-activity.js.map +0 -1
- package/esm2015/cypress/components/aup-modal-activity.metadata.json +0 -1
- package/esm2015/cypress/components/aup-modal-alert.js +0 -12
- package/esm2015/cypress/components/aup-modal-alert.js.map +0 -1
- package/esm2015/cypress/components/aup-modal-alert.metadata.json +0 -1
- package/esm2015/cypress/components/form-element-mixin.js +0 -11
- package/esm2015/cypress/components/form-element-mixin.js.map +0 -1
- package/esm2015/cypress/components/form-element-mixin.metadata.json +0 -1
- package/esm2015/cypress/components/mat-checkbox.js +0 -34
- package/esm2015/cypress/components/mat-checkbox.js.map +0 -1
- package/esm2015/cypress/components/mat-checkbox.metadata.json +0 -1
- package/esm2015/cypress/element-locator.js +0 -22
- package/esm2015/cypress/element-locator.js.map +0 -1
- package/esm2015/cypress/element-locator.metadata.json +0 -1
- package/esm2015/cypress/page-builder.js +0 -15
- package/esm2015/cypress/page-builder.js.map +0 -1
- package/esm2015/cypress/page-builder.metadata.json +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aup-navigation.js","sourceRoot":"","sources":["../../../../../../libs/angular-ui-powerups/cypress/src/components/aup-navigation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,OAAO,aAAc,SAAQ,WAAW;IAE5C,KAAK,CAAC,KAAa;QACjB,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,CAAC,KAAa;QAChB,OAAO,IAAI,cAAc,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,cAAc,CAAC,KAAa;QAC1B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,CAAC;IACrC,CAAC;IAED,iBAAiB,CAAC,KAAa;QAC7B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"aup-navigation.js","sourceRoot":"","sources":["../../../../../../libs/angular-ui-powerups/cypress/src/components/aup-navigation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,OAAO,aAAc,SAAQ,WAAW;IAE5C,KAAK,CAAC,KAAa;QACjB,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,CAAC,KAAa;QAChB,OAAO,IAAI,cAAc,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,cAAc,CAAC,KAAa;QAC1B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,CAAC;IACrC,CAAC;IAED,iBAAiB,CAAC,KAAa;QAC7B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,kBAAkB,EAAE,CAAC;IACxC,CAAC;CACF","sourcesContent":["import { PageElement } from '../page-element';\nimport { AupCommandFace } from './aup-command-face';\n\nexport class AupNavigation extends PageElement {\n\n click(label: string) {\n return super.click(label);\n }\n\n face(label: string): AupCommandFace {\n return new AupCommandFace(this, { text: () => label });\n }\n\n shouldHaveLink(label: string) {\n this.face(label).shouldBeVisible();\n }\n\n shouldNotHaveLink(label: string) {\n this.face(label).shouldNotBeVisible();\n }\n}\n"]}
|
|
@@ -2,13 +2,13 @@ import { PageElement } from '../page-element';
|
|
|
2
2
|
import { AupCommandFace } from './aup-command-face';
|
|
3
3
|
export class AupPopupMenu extends PageElement {
|
|
4
4
|
constructor(parentElementAccessor, face) {
|
|
5
|
-
const
|
|
5
|
+
const accessor = AupCommandFace.createAccessor(face);
|
|
6
6
|
super(parentElementAccessor, {
|
|
7
7
|
findIn(parent) {
|
|
8
|
-
return
|
|
8
|
+
return accessor.findIn(parent).closest('button');
|
|
9
9
|
},
|
|
10
10
|
shouldNotExist(parent) {
|
|
11
|
-
|
|
11
|
+
accessor.shouldNotExist(parent);
|
|
12
12
|
}
|
|
13
13
|
});
|
|
14
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aup-popup-menu.js","sourceRoot":"","sources":["../../../../../../libs/angular-ui-powerups/cypress/src/components/aup-popup-menu.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,MAAM,OAAO,YAAa,SAAQ,WAAW;IAE3C,YAAY,
|
|
1
|
+
{"version":3,"file":"aup-popup-menu.js","sourceRoot":"","sources":["../../../../../../libs/angular-ui-powerups/cypress/src/components/aup-popup-menu.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,MAAM,OAAO,YAAa,SAAQ,WAAW;IAE3C,YAAY,qBAAsE,EAAE,IAAuB;QACzG,MAAM,QAAQ,GAAG,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;QACpD,KAAK,CAAC,qBAAqB,EAAE;YAC3B,MAAM,CAAC,MAAiC;gBACtC,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACnD,CAAC;YACD,cAAc,CAAC,MAAiC;gBAC9C,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAClC,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,MAAmB,EAAE,IAAuB;QACxD,OAAO,IAAI,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;CACF","sourcesContent":["import { lang } from '@coolon/typescript-utilities';\nimport { PageElement } from '../page-element';\nimport { AupCommandFace } from './aup-command-face';\nimport { Types } from './types';\n\nexport class AupPopupMenu extends PageElement {\n\n constructor(parentElementAccessor: PageElement | (() => Cypress.Chainable<JQuery>), face: Types.CommandFace) {\n const accessor = AupCommandFace.createAccessor(face)\n super(parentElementAccessor, {\n findIn(parent: Cypress.Chainable<JQuery>): Cypress.Chainable<JQuery> {\n return accessor.findIn(parent).closest('button');\n },\n shouldNotExist(parent: Cypress.Chainable<JQuery>) {\n accessor.shouldNotExist(parent);\n }\n });\n }\n\n static create(parent: PageElement, face: Types.CommandFace) {\n return new AupPopupMenu(parent, face);\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"AupPopupMenu":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../page-element","name":"PageElement","line":5,"character":34},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{"AupPopupMenu":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../page-element","name":"PageElement","line":5,"character":34},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":7,"character":51},{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./types","name":"Types","line":7,"character":92},"member":"CommandFace"}]}]},"statics":{"create":{"__symbolic":"function","parameters":["parent","face"],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"AupPopupMenu"},"arguments":[{"__symbolic":"reference","name":"parent"},{"__symbolic":"reference","name":"face"}]}}}}}}]
|
|
@@ -1,114 +1,36 @@
|
|
|
1
|
-
/* tslint:disable:unified-signatures */
|
|
2
|
-
import * as _ from 'lodash';
|
|
3
1
|
import { PageElement } from '../page-element';
|
|
4
2
|
export class AupTable extends PageElement {
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
constructor(parentElementAccessor, selector) {
|
|
4
|
+
super(parentElementAccessor, selector);
|
|
7
5
|
}
|
|
8
|
-
|
|
9
|
-
return new AupTable.Row(this
|
|
6
|
+
row(rowId) {
|
|
7
|
+
return new AupTable.Row(() => this.element(), `tr[aup-table-id=${rowId}]`);
|
|
10
8
|
}
|
|
11
9
|
column(columnId) {
|
|
12
10
|
return new AupTable.Column(this, columnId);
|
|
13
11
|
}
|
|
14
|
-
selectionColumn() {
|
|
15
|
-
return new AupTable.SelectionColumn(this, 'selection-column');
|
|
16
|
-
}
|
|
17
12
|
}
|
|
18
13
|
(function (AupTable) {
|
|
19
|
-
function cssSelectorForTableRowById(rowId) {
|
|
20
|
-
return `tbody tr[aup-row-id=${rowId}]`;
|
|
21
|
-
}
|
|
22
|
-
AupTable.cssSelectorForTableRowById = cssSelectorForTableRowById;
|
|
23
|
-
function cssSelectorForNthTableRow(rowNumber) {
|
|
24
|
-
return `tbody tr:nth-child(${rowNumber})`;
|
|
25
|
-
}
|
|
26
|
-
AupTable.cssSelectorForNthTableRow = cssSelectorForNthTableRow;
|
|
27
|
-
function cssSelectorForColumnCellRendererById(columnId) {
|
|
28
|
-
return `aup-table-cell-renderer[column-id=${columnId}]`;
|
|
29
|
-
}
|
|
30
|
-
AupTable.cssSelectorForColumnCellRendererById = cssSelectorForColumnCellRendererById;
|
|
31
|
-
function cssSelectorForCell(rowId, columnId) {
|
|
32
|
-
return `${cssSelectorForTableRowById(rowId)} ${cssSelectorForColumnCellRendererById(columnId)}`;
|
|
33
|
-
}
|
|
34
|
-
AupTable.cssSelectorForCell = cssSelectorForCell;
|
|
35
14
|
class Row extends PageElement {
|
|
36
|
-
constructor(table, selectorOrLocator) {
|
|
37
|
-
// @ts-ignore
|
|
38
|
-
super(table, selectorOrLocator);
|
|
39
|
-
this.table = table;
|
|
40
|
-
}
|
|
41
|
-
rowId() {
|
|
42
|
-
return this.dom()
|
|
43
|
-
.invoke('attr', 'aup-row-id');
|
|
44
|
-
}
|
|
45
|
-
shouldHaveRowId(rowId) {
|
|
46
|
-
this.rowId().should("eq", rowId);
|
|
47
|
-
}
|
|
48
|
-
cell(columnOrId) {
|
|
49
|
-
const self = this;
|
|
50
|
-
const columnId = _.isString(columnOrId) ? columnOrId : columnOrId.columnId;
|
|
51
|
-
return new Cell(this.table, {
|
|
52
|
-
findIn(parent) {
|
|
53
|
-
return self.rowId()
|
|
54
|
-
.then(rowId => AupTable.cssSelectorForCell(rowId, columnId))
|
|
55
|
-
.then(selector => parent.dom().find(selector));
|
|
56
|
-
}
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
shouldBeSelected() {
|
|
60
|
-
this.dom().should('have.class', 'aup-row-selected');
|
|
61
|
-
}
|
|
62
|
-
shouldNotBeSelected() {
|
|
63
|
-
this.dom().should('not.have.class', 'aup-row-selected');
|
|
64
|
-
}
|
|
65
15
|
}
|
|
66
16
|
AupTable.Row = Row;
|
|
67
|
-
class Column
|
|
17
|
+
class Column {
|
|
68
18
|
constructor(table, columnId) {
|
|
69
|
-
super(table, `aup-table-header-cell-renderer[column-id="${columnId}"]`);
|
|
70
19
|
this.table = table;
|
|
71
20
|
this.columnId = columnId;
|
|
72
21
|
}
|
|
73
|
-
|
|
22
|
+
cell(content) {
|
|
74
23
|
const self = this;
|
|
75
24
|
return new Cell(this.table, {
|
|
76
25
|
findIn(parent) {
|
|
77
|
-
return parent.
|
|
26
|
+
return parent.contains(`aup-table-cell-renderer[column-id=${self.columnId}]`, content);
|
|
78
27
|
}
|
|
79
28
|
});
|
|
80
29
|
}
|
|
81
|
-
rowContaining(content) {
|
|
82
|
-
return this.cellContaining(content).row();
|
|
83
|
-
}
|
|
84
30
|
}
|
|
85
31
|
AupTable.Column = Column;
|
|
86
|
-
class SelectionColumn extends Column {
|
|
87
|
-
selectAll() {
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
AupTable.SelectionColumn = SelectionColumn;
|
|
91
32
|
class Cell extends PageElement {
|
|
92
|
-
constructor(table, elementLocator) {
|
|
93
|
-
super(table, elementLocator);
|
|
94
|
-
this.table = table;
|
|
95
|
-
}
|
|
96
|
-
rowId() {
|
|
97
|
-
return this.dom().closest('tr').invoke('attr', 'aup-row-id');
|
|
98
|
-
}
|
|
99
|
-
row() {
|
|
100
|
-
const self = this;
|
|
101
|
-
return new Row(this.table, {
|
|
102
|
-
findIn(parent) {
|
|
103
|
-
return self.rowId()
|
|
104
|
-
.then(rowId => parent.dom().find(AupTable.cssSelectorForTableRowById(rowId)));
|
|
105
|
-
}
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
33
|
}
|
|
109
34
|
AupTable.Cell = Cell;
|
|
110
|
-
class SelectionColumnCell extends Cell {
|
|
111
|
-
}
|
|
112
|
-
AupTable.SelectionColumnCell = SelectionColumnCell;
|
|
113
35
|
})(AupTable || (AupTable = {}));
|
|
114
36
|
//# sourceMappingURL=aup-table.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aup-table.js","sourceRoot":"","sources":["../../../../../../libs/angular-ui-powerups/cypress/src/components/aup-table.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"aup-table.js","sourceRoot":"","sources":["../../../../../../libs/angular-ui-powerups/cypress/src/components/aup-table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG9C,MAAM,OAAO,QAAS,SAAQ,WAAW;IAEvC,YAAY,qBAAsD,EAAE,QAAuC;QACzG,KAAK,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED,GAAG,CAAC,KAAU;QACZ,OAAO,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,mBAAmB,KAAK,GAAG,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM,CAAC,QAAgB;QACrB,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC7C,CAAC;CAEF;AAED,WAAiB,QAAQ;IACvB,MAAa,GAAI,SAAQ,WAAW;KAEnC;IAFY,YAAG,MAEf,CAAA;IAED,MAAa,MAAM;QACjB,YAAqB,KAAe,EAAW,QAAgB;YAA1C,UAAK,GAAL,KAAK,CAAU;YAAW,aAAQ,GAAR,QAAQ,CAAQ;QAC/D,CAAC;QAED,IAAI,CAAC,OAAe;YAClB,MAAM,IAAI,GAAG,IAAI,CAAC;YAClB,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;gBAC1B,MAAM,CAAC,MAAiC;oBACtC,OAAO,MAAM,CAAC,QAAQ,CAAC,qCAAqC,IAAI,CAAC,QAAQ,GAAG,EAAE,OAAO,CAAC,CAAC;gBACzF,CAAC;aACF,CAAC,CAAC;QACL,CAAC;KACF;IAZY,eAAM,SAYlB,CAAA;IAED,MAAa,IAAK,SAAQ,WAAW;KACpC;IADY,aAAI,OAChB,CAAA;AACH,CAAC,EArBgB,QAAQ,KAAR,QAAQ,QAqBxB","sourcesContent":["import { PageElement } from '../page-element';\nimport { Section } from '../section';\n\nexport class AupTable extends PageElement {\n\n constructor(parentElementAccessor: () => Cypress.Chainable<JQuery>, selector: string | PageElement.Accessor) {\n super(parentElementAccessor, selector);\n }\n\n row(rowId: any): AupTable.Row {\n return new AupTable.Row(() => this.element(), `tr[aup-table-id=${rowId}]`);\n }\n\n column(columnId: string): AupTable.Column {\n return new AupTable.Column(this, columnId);\n }\n\n}\n\nexport namespace AupTable {\n export class Row extends PageElement {\n\n }\n\n export class Column {\n constructor(readonly table: AupTable, readonly columnId: string) {\n }\n\n cell(content: string): Cell {\n const self = this;\n return new Cell(this.table, {\n findIn(parent: Cypress.Chainable<JQuery>): Cypress.Chainable<JQuery> {\n return parent.contains(`aup-table-cell-renderer[column-id=${self.columnId}]`, content);\n }\n });\n }\n }\n\n export class Cell extends PageElement {\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"AupTable":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../page-element","name":"PageElement","line":
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{"AupTable":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../page-element","name":"PageElement","line":3,"character":30},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":5,"character":37},{"__symbolic":"select","expression":{"__symbolic":"reference","module":"../page-element","name":"PageElement","line":5,"character":89},"member":"Accessor"}]}],"row":[{"__symbolic":"method"}],"column":[{"__symbolic":"method"}]}}}}]
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export function ButtonMixin(Base) {
|
|
2
|
+
return class extends Base {
|
|
3
|
+
constructor(...args) {
|
|
4
|
+
super(...args);
|
|
5
|
+
}
|
|
6
|
+
click() {
|
|
7
|
+
return this.element().click();
|
|
8
|
+
}
|
|
9
|
+
shouldBeDisabled() {
|
|
10
|
+
this.should("be.disabled");
|
|
11
|
+
// this.should("have.css", "color", "rgba(0,0,0,0.26)")
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=button-mixin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"button-mixin.js","sourceRoot":"","sources":["../../../../../../libs/angular-ui-powerups/cypress/src/components/button-mixin.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,WAAW,CAA2C,IAAQ;IAC5E,OAAO,KAAM,SAAQ,IAAI;QACvB,YAAY,GAAG,IAAW;YACxB,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QACjB,CAAC;QAED,KAAK;YACH,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC;QAChC,CAAC;QAED,gBAAgB;YACd,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YAC3B,uDAAuD;QACzD,CAAC;KAEF,CAAC;AACJ,CAAC","sourcesContent":["import { Constructable } from '@coolon/typescript-utilities';\nimport { PageElement } from '../page-element';\n\nexport function ButtonMixin<T, BC extends Constructable<PageElement>>(Base: BC) {\n return class extends Base {\n constructor(...args: any[]) {\n super(...args);\n }\n\n click() {\n return this.element().click();\n }\n\n shouldBeDisabled() {\n this.should(\"be.disabled\");\n // this.should(\"have.css\", \"color\", \"rgba(0,0,0,0.26)\")\n }\n\n };\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{"ButtonMixin":{"__symbolic":"function","parameters":["Base"],"value":{"__symbolic":"class"}}}}]
|
|
@@ -1,9 +1,15 @@
|
|
|
1
|
-
import { ElementLocator } from '../element-locator';
|
|
2
1
|
import { PageElement } from '../page-element';
|
|
3
|
-
import {
|
|
4
|
-
export class Button extends
|
|
2
|
+
import { ButtonMixin } from './button-mixin';
|
|
3
|
+
export class Button extends ButtonMixin(PageElement) {
|
|
5
4
|
constructor(parentElementAccessor, buttonText) {
|
|
6
|
-
super(parentElementAccessor,
|
|
5
|
+
super(parentElementAccessor, {
|
|
6
|
+
findIn(parent) {
|
|
7
|
+
return parent.contains('button', buttonText);
|
|
8
|
+
},
|
|
9
|
+
shouldNotExist(parent) {
|
|
10
|
+
return parent.should('not.contain', buttonText);
|
|
11
|
+
}
|
|
12
|
+
});
|
|
7
13
|
}
|
|
8
14
|
}
|
|
9
15
|
//# sourceMappingURL=button.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.js","sourceRoot":"","sources":["../../../../../../libs/angular-ui-powerups/cypress/src/components/button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"button.js","sourceRoot":"","sources":["../../../../../../libs/angular-ui-powerups/cypress/src/components/button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,OAAO,MAAO,SAAQ,WAAW,CAAC,WAAW,CAAC;IAElD,YAAY,qBAAsD,EAAE,UAAkB;QACpF,KAAK,CAAC,qBAAqB,EAAE;YAC3B,MAAM,CAAC,MAAiC;gBACtC,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAC/C,CAAC;YACD,cAAc,CAAC,MAAiC;gBAC9C,OAAO,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;YAClD,CAAC;SACF,CAAC,CAAC;IACL,CAAC;CAEF","sourcesContent":["import { PageElement } from '../page-element';\nimport { ButtonMixin } from './button-mixin';\n\nexport class Button extends ButtonMixin(PageElement) {\n\n constructor(parentElementAccessor: () => Cypress.Chainable<JQuery>, buttonText: string) {\n super(parentElementAccessor, {\n findIn(parent: Cypress.Chainable<JQuery>): Cypress.Chainable<JQuery> {\n return parent.contains('button', buttonText);\n },\n shouldNotExist(parent: Cypress.Chainable<JQuery>) {\n return parent.should('not.contain', buttonText);\n }\n });\n }\n\n}\n\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"Button":{"__symbolic":"class","extends":{"__symbolic":"error","message":"Symbol reference expected","line":
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{"Button":{"__symbolic":"class","extends":{"__symbolic":"error","message":"Symbol reference expected","line":3,"character":28},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":5,"character":37},{"__symbolic":"reference","name":"string"}]}]}}}}]
|
|
@@ -1,29 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @file Automatically generated by barrelsby.
|
|
3
3
|
*/
|
|
4
|
-
export * from "./builder";
|
|
5
|
-
export * from "./element-locator";
|
|
6
|
-
export * from "./page-builder";
|
|
7
4
|
export * from "./page-element";
|
|
8
5
|
export * from "./page";
|
|
9
6
|
export * from "./path";
|
|
10
|
-
export * from "./
|
|
11
|
-
export * from "./components/aup-activity";
|
|
12
|
-
export * from "./components/aup-alert";
|
|
7
|
+
export * from "./section";
|
|
13
8
|
export * from "./components/aup-command-face";
|
|
14
9
|
export * from "./components/aup-command-group";
|
|
15
10
|
export * from "./components/aup-command";
|
|
16
|
-
export * from "./components/aup-empty-state";
|
|
17
11
|
export * from "./components/aup-input";
|
|
18
|
-
export * from "./components/aup-modal-activity";
|
|
19
|
-
export * from "./components/aup-modal-alert";
|
|
20
12
|
export * from "./components/aup-more-menu";
|
|
21
13
|
export * from "./components/aup-navigation";
|
|
22
14
|
export * from "./components/aup-popup-menu";
|
|
23
15
|
export * from "./components/aup-table";
|
|
24
16
|
export * from "./components/aup-tool-bar";
|
|
17
|
+
export * from "./components/button-mixin";
|
|
25
18
|
export * from "./components/button";
|
|
26
|
-
export * from "./components/form-element-mixin";
|
|
27
|
-
export * from "./components/mat-checkbox";
|
|
28
19
|
export * from "./components/types";
|
|
29
20
|
//# sourceMappingURL=exports.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exports.js","sourceRoot":"","sources":["../../../../../libs/angular-ui-powerups/cypress/src/exports.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,
|
|
1
|
+
{"version":3,"file":"exports.js","sourceRoot":"","sources":["../../../../../libs/angular-ui-powerups/cypress/src/exports.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC","sourcesContent":["/**\n * @file Automatically generated by barrelsby.\n */\n\nexport * from \"./page-element\";\nexport * from \"./page\";\nexport * from \"./path\";\nexport * from \"./section\";\nexport * from \"./components/aup-command-face\";\nexport * from \"./components/aup-command-group\";\nexport * from \"./components/aup-command\";\nexport * from \"./components/aup-input\";\nexport * from \"./components/aup-more-menu\";\nexport * from \"./components/aup-navigation\";\nexport * from \"./components/aup-popup-menu\";\nexport * from \"./components/aup-table\";\nexport * from \"./components/aup-tool-bar\";\nexport * from \"./components/button-mixin\";\nexport * from \"./components/button\";\nexport * from \"./components/types\";\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{},"exports":[{"from":"./
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{},"exports":[{"from":"./page-element"},{"from":"./page"},{"from":"./path"},{"from":"./section"},{"from":"./components/aup-command-face"},{"from":"./components/aup-command-group"},{"from":"./components/aup-command"},{"from":"./components/aup-input"},{"from":"./components/aup-more-menu"},{"from":"./components/aup-navigation"},{"from":"./components/aup-popup-menu"},{"from":"./components/aup-table"},{"from":"./components/aup-tool-bar"},{"from":"./components/button-mixin"},{"from":"./components/button"},{"from":"./components/types"}]}]
|
|
@@ -1,20 +1,25 @@
|
|
|
1
|
+
import { lang } from '@coolon/typescript-utilities';
|
|
1
2
|
import * as _ from 'lodash';
|
|
2
|
-
import { ElementLocator } from './element-locator';
|
|
3
3
|
export class PageElement {
|
|
4
|
-
constructor(parent,
|
|
5
|
-
this.
|
|
6
|
-
this.elementAccessStrategy = _.isString(
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
constructor(parent, selector) {
|
|
5
|
+
this.parentElementAccessor = parent instanceof PageElement ? () => parent.element() : parent;
|
|
6
|
+
this.elementAccessStrategy = _.isString(selector) ? {
|
|
7
|
+
findIn: p => p.find(selector),
|
|
8
|
+
shouldNotExist: (p) => p.should('not.have', selector)
|
|
9
|
+
} : selector;
|
|
9
10
|
}
|
|
10
|
-
|
|
11
|
-
|
|
11
|
+
element() {
|
|
12
|
+
const parent = this.getParentElement();
|
|
13
|
+
return parent ? this.elementAccessStrategy.findIn(parent) : undefined;
|
|
14
|
+
}
|
|
15
|
+
getParentElement() {
|
|
16
|
+
return this.parentElementAccessor ? this.parentElementAccessor() : undefined;
|
|
12
17
|
}
|
|
13
18
|
find(selector) {
|
|
14
|
-
return new PageElement(this, selector);
|
|
19
|
+
return new PageElement(() => this.element(), selector);
|
|
15
20
|
}
|
|
16
21
|
click(text) {
|
|
17
|
-
text ? this.
|
|
22
|
+
text ? this.element().contains(text).click() : this.element().click();
|
|
18
23
|
}
|
|
19
24
|
get should() {
|
|
20
25
|
return this.getShoulder(this.getShouldElement());
|
|
@@ -23,24 +28,16 @@ export class PageElement {
|
|
|
23
28
|
return element.should.bind(element);
|
|
24
29
|
}
|
|
25
30
|
getShouldElement() {
|
|
26
|
-
return this.
|
|
31
|
+
return this.element();
|
|
27
32
|
}
|
|
28
33
|
shouldBeVisible() {
|
|
29
34
|
this.should('be.visible');
|
|
30
35
|
}
|
|
31
36
|
shouldNotBeVisible() {
|
|
32
|
-
this.should('not.be.visible');
|
|
33
|
-
}
|
|
34
|
-
shouldExist() {
|
|
35
|
-
this.dom().should('exist');
|
|
36
|
-
}
|
|
37
|
-
shouldNotExist() {
|
|
38
37
|
if (!this.elementAccessStrategy.shouldNotExist) {
|
|
39
|
-
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
this.elementAccessStrategy.shouldNotExist(this.parent);
|
|
38
|
+
lang.abstractMethod(this.constructor);
|
|
43
39
|
}
|
|
40
|
+
this.elementAccessStrategy.shouldNotExist(this.getParentElement());
|
|
44
41
|
}
|
|
45
42
|
}
|
|
46
43
|
//# sourceMappingURL=page-element.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page-element.js","sourceRoot":"","sources":["../../../../../libs/angular-ui-powerups/cypress/src/page-element.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"page-element.js","sourceRoot":"","sources":["../../../../../libs/angular-ui-powerups/cypress/src/page-element.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AACpD,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAE5B,MAAM,OAAO,WAAW;IAKtB,YAAY,MAAuD,EAAE,QAAuC;QAE1G,IAAI,CAAC,qBAAqB,GAAG,MAAM,YAAY,WAAW,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;QAC7F,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAClD,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC7B,cAAc,EAAE,CAAC,CAA4B,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC;SACjF,CAAC,CAAC,CAAC,QAAQ,CAAC;IACf,CAAC;IAED,OAAO;QACL,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACvC,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxE,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/E,CAAC;IAED,IAAI,CAAC,QAAgB;QACnB,OAAO,IAAI,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,IAAa;QACjB,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC;IACxE,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,WAAW,CAAC,OAA0B;QACpC,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAED,eAAe;QACb,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC5B,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE;YAC9C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SACvC;QACD,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACrE,CAAC;CACF","sourcesContent":["import Chainable = Cypress.Chainable;\nimport { lang } from '@coolon/typescript-utilities';\nimport * as _ from 'lodash';\n\nexport class PageElement {\n\n readonly elementAccessStrategy: PageElement.Accessor;\n readonly parentElementAccessor: () => Cypress.Chainable<JQuery>;\n\n constructor(parent: PageElement | (() => Cypress.Chainable<JQuery>), selector: string | PageElement.Accessor) {\n\n this.parentElementAccessor = parent instanceof PageElement ? () => parent.element() : parent;\n this.elementAccessStrategy = _.isString(selector) ? {\n findIn: p => p.find(selector),\n shouldNotExist: (p: Cypress.Chainable<JQuery>) => p.should('not.have', selector)\n } : selector;\n }\n\n element(): Chainable<JQuery> {\n const parent = this.getParentElement();\n return parent ? this.elementAccessStrategy.findIn(parent) : undefined;\n }\n\n getParentElement(): Cypress.Chainable<JQuery> {\n return this.parentElementAccessor ? this.parentElementAccessor() : undefined;\n }\n\n find(selector: string): PageElement {\n return new PageElement(() => this.element(), selector);\n }\n\n click(text?: string) {\n text ? this.element().contains(text).click() : this.element().click();\n }\n\n get should() {\n return this.getShoulder(this.getShouldElement());\n }\n\n getShoulder(element: Chainable<JQuery>) {\n return element.should.bind(element);\n }\n\n getShouldElement(): Chainable<JQuery> {\n return this.element();\n }\n\n shouldBeVisible() {\n this.should('be.visible');\n }\n\n shouldNotBeVisible() {\n if (!this.elementAccessStrategy.shouldNotExist) {\n lang.abstractMethod(this.constructor);\n }\n this.elementAccessStrategy.shouldNotExist(this.getParentElement());\n }\n}\n\nexport namespace PageElement {\n export interface Accessor {\n findIn(parent: Cypress.Chainable<JQuery>): Cypress.Chainable<JQuery>;\n\n shouldNotExist?(parent: Cypress.Chainable<JQuery>);\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"PageElement":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{"PageElement":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":9,"character":36},{"__symbolic":"select","expression":{"__symbolic":"reference","name":"PageElement"},"member":"Accessor"}]}],"element":[{"__symbolic":"method"}],"getParentElement":[{"__symbolic":"method"}],"find":[{"__symbolic":"method"}],"click":[{"__symbolic":"method"}],"getShoulder":[{"__symbolic":"method"}],"getShouldElement":[{"__symbolic":"method"}],"shouldBeVisible":[{"__symbolic":"method"}],"shouldNotBeVisible":[{"__symbolic":"method"}]}}}}]
|
package/esm2015/cypress/page.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { Mixin } from '@coolon/typescript-utilities';
|
|
2
2
|
import * as _ from 'lodash';
|
|
3
|
-
import { PageBuilder } from './page-builder';
|
|
4
3
|
import { PageElement } from './page-element';
|
|
5
4
|
import { Path } from './path';
|
|
5
|
+
import { Section } from './section';
|
|
6
6
|
export class Page extends PageElement {
|
|
7
7
|
constructor(path) {
|
|
8
8
|
super(undefined, undefined);
|
|
9
9
|
this.path = path;
|
|
10
10
|
this.rootElementSelector = 'body';
|
|
11
11
|
}
|
|
12
|
-
|
|
12
|
+
element() {
|
|
13
13
|
return cy.get(this.rootElementSelector);
|
|
14
14
|
}
|
|
15
15
|
visit(visitParams, queryParams) {
|
|
@@ -32,7 +32,7 @@ export class Page extends PageElement {
|
|
|
32
32
|
}
|
|
33
33
|
shouldBeActive(withParameters) {
|
|
34
34
|
// Note: cy.window() doesn't return a promise... it's a chainable.
|
|
35
|
-
cy[
|
|
35
|
+
cy["waitUntil"](() => {
|
|
36
36
|
return cy.window().then(window => {
|
|
37
37
|
return window['aup.PlaceRouter'] && !window['aup.PlaceRouter'].isNavigating();
|
|
38
38
|
});
|
|
@@ -50,18 +50,20 @@ export class Page extends PageElement {
|
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
52
|
(function (Page) {
|
|
53
|
-
function create(pathOrPathBuilder,
|
|
53
|
+
function create(pathOrPathBuilder, page) {
|
|
54
54
|
const pathBuilder = new Path.Builder();
|
|
55
55
|
if (_.isString(pathOrPathBuilder)) {
|
|
56
|
-
pathOrPathBuilder.split(
|
|
56
|
+
pathOrPathBuilder.split("/").filter(p => !_.isEmpty(p)).forEach(p => pathBuilder.segment(p));
|
|
57
57
|
}
|
|
58
58
|
else {
|
|
59
59
|
pathOrPathBuilder(pathBuilder);
|
|
60
60
|
}
|
|
61
|
-
const
|
|
62
|
-
|
|
63
|
-
return Mixin.createProxy(content, instance);
|
|
61
|
+
const builder = new PageBuilder(pathBuilder.getPath());
|
|
62
|
+
return Mixin.createProxy(page(builder), builder);
|
|
64
63
|
}
|
|
65
64
|
Page.create = create;
|
|
65
|
+
class PageBuilder extends Section.Mixin(Page) {
|
|
66
|
+
}
|
|
67
|
+
Page.PageBuilder = PageBuilder;
|
|
66
68
|
})(Page || (Page = {}));
|
|
67
69
|
//# sourceMappingURL=page.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page.js","sourceRoot":"","sources":["../../../../../libs/angular-ui-powerups/cypress/src/page.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AACrD,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"page.js","sourceRoot":"","sources":["../../../../../libs/angular-ui-powerups/cypress/src/page.ts"],"names":[],"mappings":"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","sourcesContent":["import { Mixin } from '@coolon/typescript-utilities';\nimport * as _ from 'lodash';\nimport { PageElement } from './page-element';\nimport { Path } from './path';\nimport { Section } from './section';\n\nexport class Page extends PageElement {\n\n protected rootElementSelector = 'body';\n\n constructor(readonly path: Path) {\n super(undefined, undefined);\n }\n\n element(): Cypress.Chainable<JQuery<HTMLElement>> {\n return cy.get(this.rootElementSelector);\n }\n\n visit(visitParams?: object, queryParams?: {[key:string]:string}) {\n this.tryAndVisit(visitParams, queryParams);\n this.shouldBeActive(visitParams);\n }\n\n tryAndVisit(params?: object, queryParams?: {[key:string]:string}) {\n const path = this.path.toUrl(params ?? {});\n const queryString = queryParams ? `?${new URLSearchParams(queryParams).toString()}` : '';\n cy.visit(`/${path}${queryString}`);\n }\n\n shouldHaveActivityIds(...ids: string[]) {\n cy.location('search').should('contain', `?aup-interactions=${ids.join('--')}`);\n }\n\n shouldNotHaveActivityIds() {\n cy.location('search').should('not.contain', `?aup-interactions`);\n }\n\n shouldHaveTitle(title: string) {\n cy.title().should('eq', title);\n }\n\n shouldBeActive(withParameters?: object) {\n // Note: cy.window() doesn't return a promise... it's a chainable.\n cy[\"waitUntil\"](() => {\n return cy.window().then(window => {\n return window['aup.PlaceRouter'] && !window['aup.PlaceRouter'].isNavigating();\n });\n });\n\n if (withParameters) {\n cy.location('pathname').then(path => {\n const urlParams = Path.extractVisitParameters(path);\n Object.keys(withParameters).forEach(param => {\n const expected = withParameters[param];\n // @ts-ignore\n expect(urlParams[param]).to.equal(expected);\n })\n });\n }\n }\n\n}\n\n\nexport namespace Page {\n\n\n export function create<T extends object>(path: string, page: (page: PageBuilder) => T): T & Page\n // tslint:disable-next-line:unified-signatures\n export function create<T extends object>(pathBuilder: ((pathBuilder: Path.Builder) => void), page: (page: PageBuilder) => T): T & Page\n export function create<T extends object>(pathOrPathBuilder: string | ((pathBuilder: Path.Builder) => void), page: (page: PageBuilder) => T): T & Page {\n const pathBuilder = new Path.Builder();\n if (_.isString(pathOrPathBuilder)) {\n pathOrPathBuilder.split(\"/\").filter(p => !_.isEmpty(p)).forEach(p => pathBuilder.segment(p))\n } else {\n pathOrPathBuilder(pathBuilder)\n }\n const builder = new PageBuilder(pathBuilder.getPath());\n return Mixin.createProxy(page(builder), builder) as T & Page;\n }\n\n\n export class PageBuilder extends Section.Mixin(Page) {\n }\n\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"Page":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"./page-element","name":"PageElement","line":
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{"Page":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"./page-element","name":"PageElement","line":6,"character":26},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"./path","name":"Path","line":10,"character":29}]}],"element":[{"__symbolic":"method"}],"visit":[{"__symbolic":"method"}],"tryAndVisit":[{"__symbolic":"method"}],"shouldHaveActivityIds":[{"__symbolic":"method"}],"shouldNotHaveActivityIds":[{"__symbolic":"method"}],"shouldHaveTitle":[{"__symbolic":"method"}],"shouldBeActive":[{"__symbolic":"method"}]}}}}]
|
package/esm2015/cypress/path.js
CHANGED
|
@@ -5,11 +5,9 @@ export class Path {
|
|
|
5
5
|
this.segments = segments;
|
|
6
6
|
}
|
|
7
7
|
static extractVisitParameters(url) {
|
|
8
|
-
var _a, _b;
|
|
9
8
|
let result = {};
|
|
10
9
|
const urlTree = urlSerialiser.parse(url);
|
|
11
|
-
|
|
12
|
-
urlSegments === null || urlSegments === void 0 ? void 0 : urlSegments.forEach(s => {
|
|
10
|
+
urlTree.root.children.primary.segments.forEach(s => {
|
|
13
11
|
result = Object.assign(Object.assign({}, result), s.parameters);
|
|
14
12
|
});
|
|
15
13
|
return result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path.js","sourceRoot":"","sources":["../../../../../libs/angular-ui-powerups/cypress/src/path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAiB,MAAM,iBAAiB,CAAC;AAEtE,IAAI,aAAa,GAAkB,IAAI,oBAAoB,EAAE,CAAC;AAE9D,MAAM,OAAO,IAAI;IAEf,YAAqB,QAAwB;QAAxB,aAAQ,GAAR,QAAQ,CAAgB;IAC7C,CAAC;IAED,MAAM,CAAC,sBAAsB,CAAC,GAAW
|
|
1
|
+
{"version":3,"file":"path.js","sourceRoot":"","sources":["../../../../../libs/angular-ui-powerups/cypress/src/path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAiB,MAAM,iBAAiB,CAAC;AAEtE,IAAI,aAAa,GAAkB,IAAI,oBAAoB,EAAE,CAAC;AAE9D,MAAM,OAAO,IAAI;IAEf,YAAqB,QAAwB;QAAxB,aAAQ,GAAR,QAAQ,CAAgB;IAC7C,CAAC;IAED,MAAM,CAAC,sBAAsB,CAAC,GAAW;QACvC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACjD,MAAM,mCAAQ,MAAM,GAAK,CAAC,CAAC,UAAU,CAAE,CAAA;QACzC,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,YAAoB;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrE,CAAC;CAEF;AAED,WAAiB,IAAI;IAEnB,SAAgB,gBAAgB,CAAC,UAAyB;QACxD,aAAa,GAAG,UAAU,CAAC;IAC7B,CAAC;IAFe,qBAAgB,mBAE/B,CAAA;IAED,MAAa,OAAO;QAKlB,YAAqB,IAAY,EAAE,SAAwB,EAAE;;YAAxC,SAAI,GAAJ,IAAI,CAAQ;YAC/B,IAAI,CAAC,OAAO,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,CAAC;YAC/B,IAAI,CAAC,WAAW,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,mCAAI,EAAE,CAAC;QAC/C,CAAC;QAED,SAAS,CAAC,MAAc;YACtB,IAAI,IAAI,GAAW,IAAI,CAAC,IAAI,CAAC;YAC7B,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACxB,IAAI,KAAK,EAAE;oBACT,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC;iBAChC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;gBACxC,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC1C;YACD,OAAO,IAAI,CAAC;QACd,CAAC;KAEF;IAxBY,YAAO,UAwBnB,CAAA;IAED,MAAa,OAAO;QAApB;YAEU,aAAQ,GAAc,EAAE,CAAC;QAWnC,CAAC;QATC,OAAO,CAAC,IAAY,EAAE,MAAsB;YAC1C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC1C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO;YACL,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;KACF;IAbY,YAAO,UAanB,CAAA;AAMH,CAAC,EAnDgB,IAAI,KAAJ,IAAI,QAmDpB","sourcesContent":["import { DefaultUrlSerializer, UrlSerializer } from '@angular/router';\n\nlet urlSerialiser: UrlSerializer = new DefaultUrlSerializer();\n\nexport class Path {\n\n constructor(readonly segments: Path.Segment[]) {\n }\n\n static extractVisitParameters(url: string): object {\n let result = {};\n const urlTree = urlSerialiser.parse(url);\n urlTree.root.children.primary.segments.forEach(s => {\n result = { ...result, ...s.parameters }\n });\n return result;\n }\n\n toUrl(matrixParams: object): string {\n return this.segments.map(s => s.toUrlPart(matrixParams)).join('/');\n }\n\n}\n\nexport namespace Path {\n\n export function setUrlSerialiser(serialiser: UrlSerializer) {\n urlSerialiser = serialiser;\n }\n\n export class Segment {\n\n private routeId: string | undefined;\n private visitParams: string[];\n\n constructor(readonly path: string, params: SegmentParams = {}) {\n this.routeId = params?.routeId;\n this.visitParams = params?.visitParams ?? [];\n }\n\n toUrlPart(params: object) {\n let path: string = this.path;\n this.visitParams.forEach(p => {\n const value = params[p];\n if (value) {\n path = `${path};${p}=${value}`;\n }\n });\n if (this.routeId && params[this.routeId]) {\n path = path + '/' + params[this.routeId];\n }\n return path;\n }\n\n }\n\n export class Builder {\n\n private segments: Segment[] = [];\n\n segment(name: string, params?: SegmentParams): this {\n const builder = new Segment(name, params);\n this.segments.push(builder);\n return this;\n }\n\n getPath(): Path {\n return new Path(this.segments);\n }\n }\n\n export interface SegmentParams {\n routeId?: string;\n visitParams?: string[]\n }\n}\n"]}
|