@coolon/angular-ui-powerups 12.4.0-alpha.21 → 12.4.0-alpha.23
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/bundles/coolon-angular-ui-powerups-cypress.umd.js +78 -18
- package/bundles/coolon-angular-ui-powerups-cypress.umd.js.map +1 -1
- package/cypress/builder.d.ts +4 -1
- package/cypress/components/aup-alert-dialog.d.ts +22 -2
- package/cypress/components/aup-confirm-dialog.d.ts +27 -0
- package/cypress/components/aup-confirm.d.ts +11 -0
- package/cypress/components/aup-modal-activity.d.ts +22 -2
- package/cypress/components/aup-modal-mixin.d.ts +23 -0
- package/cypress/components/button.d.ts +2 -1
- package/cypress/components/form-element-mixin.d.ts +2 -1
- package/cypress/components/mat-checkbox.d.ts +2 -1
- package/cypress/coolon-angular-ui-powerups-cypress.metadata.json +1 -1
- package/cypress/exports.d.ts +3 -0
- package/cypress/page-builder.d.ts +2 -1
- package/cypress/page-element.d.ts +3 -1
- package/esm2015/cypress/builder.js.map +1 -1
- package/esm2015/cypress/builder.metadata.json +1 -1
- package/esm2015/cypress/components/aup-alert-dialog.js +2 -6
- package/esm2015/cypress/components/aup-alert-dialog.js.map +1 -1
- package/esm2015/cypress/components/aup-alert-dialog.metadata.json +1 -1
- package/esm2015/cypress/components/aup-confirm-dialog.js +8 -0
- package/esm2015/cypress/components/aup-confirm-dialog.js.map +1 -0
- package/esm2015/cypress/components/aup-confirm-dialog.metadata.json +1 -0
- package/esm2015/cypress/components/aup-confirm.js +19 -0
- package/esm2015/cypress/components/aup-confirm.js.map +1 -0
- package/esm2015/cypress/components/aup-confirm.metadata.json +1 -0
- package/esm2015/cypress/components/aup-modal-activity.js +2 -4
- package/esm2015/cypress/components/aup-modal-activity.js.map +1 -1
- package/esm2015/cypress/components/aup-modal-activity.metadata.json +1 -1
- package/esm2015/cypress/components/aup-modal-mixin.js +18 -0
- package/esm2015/cypress/components/aup-modal-mixin.js.map +1 -0
- package/esm2015/cypress/components/aup-modal-mixin.metadata.json +1 -0
- package/esm2015/cypress/exports.js +3 -0
- package/esm2015/cypress/exports.js.map +1 -1
- package/esm2015/cypress/exports.metadata.json +1 -1
- package/esm2015/cypress/page-builder.js +4 -3
- package/esm2015/cypress/page-builder.js.map +1 -1
- package/esm2015/cypress/page-builder.metadata.json +1 -1
- package/esm2015/cypress/page-element.js +10 -6
- package/esm2015/cypress/page-element.js.map +1 -1
- package/esm2015/cypress/page-element.metadata.json +1 -1
- package/fesm2015/coolon-angular-ui-powerups-cypress.js +56 -18
- package/fesm2015/coolon-angular-ui-powerups-cypress.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,15 +1,19 @@
|
|
|
1
|
+
import { Stringy } from '@coolon/typescript-utilities';
|
|
1
2
|
import * as _ from 'lodash';
|
|
2
3
|
import { ElementLocator } from './element-locator';
|
|
3
|
-
import { Stringy } from '@coolon/typescript-utilities';
|
|
4
4
|
export class PageElement {
|
|
5
5
|
constructor(parent, selectorOrLocator) {
|
|
6
6
|
this.parent = parent;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
this.domElementLocator = _.isNil(selectorOrLocator) ?
|
|
8
|
+
this.getDefaultElementLocator() :
|
|
9
|
+
_.isString(selectorOrLocator) ?
|
|
10
|
+
ElementLocator.findByCssSelector(selectorOrLocator) :
|
|
11
|
+
selectorOrLocator;
|
|
12
|
+
}
|
|
13
|
+
getDefaultElementLocator() {
|
|
14
|
+
return ElementLocator.findByCssSelector(this.getDefaultElementSelector());
|
|
11
15
|
}
|
|
12
|
-
|
|
16
|
+
getDefaultElementSelector() {
|
|
13
17
|
return Stringy.from(this.constructor.name).dasherize().toString();
|
|
14
18
|
}
|
|
15
19
|
dom() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page-element.js","sourceRoot":"","sources":["../../../../../libs/angular-ui-powerups/cypress/src/page-element.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"page-element.js","sourceRoot":"","sources":["../../../../../libs/angular-ui-powerups/cypress/src/page-element.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,OAAO,WAAW;IAOtB,YAAqB,MAAS,EAAE,iBAA2C;QAAtD,WAAM,GAAN,MAAM,CAAG;QAC5B,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;YACnD,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC;YACjC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBAC7B,cAAc,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBACrD,iBAAiB,CAAC;IACxB,CAAC;IAED,wBAAwB;QACtB,OAAO,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,yBAAyB;QACvB,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC;IACpE,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,CAAC,QAAgB;QACnB,OAAO,IAAI,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,IAAa;QACjB,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC;IAChE,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,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,eAAe;QACb,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC5B,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAChC,CAAC;IAED,WAAW;QACT,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACjC,CAAC;CACF","sourcesContent":["/* tslint:disable:unified-signatures */\nimport Chainable = Cypress.Chainable;\nimport { Stringy } from '@coolon/typescript-utilities';\nimport * as _ from 'lodash';\nimport { ElementLocator } from './element-locator';\n\nexport class PageElement<P extends PageElement<any> = PageElement<any>> {\n\n readonly domElementLocator: ElementLocator;\n\n constructor(parent: P, selector?: string)\n constructor(parent: P, locator?: ElementLocator)\n constructor(parent: P, selectorOrLocator?: string | ElementLocator)\n constructor(readonly parent: P, selectorOrLocator?: string | ElementLocator) {\n this.domElementLocator = _.isNil(selectorOrLocator) ?\n this.getDefaultElementLocator() :\n _.isString(selectorOrLocator) ?\n ElementLocator.findByCssSelector(selectorOrLocator) :\n selectorOrLocator;\n }\n\n getDefaultElementLocator(): ElementLocator {\n return ElementLocator.findByCssSelector(this.getDefaultElementSelector());\n }\n\n getDefaultElementSelector() {\n return Stringy.from(this.constructor.name).dasherize().toString();\n }\n\n dom(): Chainable<JQuery> {\n return this.domElementLocator(this.parent);\n }\n\n find(selector: string): PageElement {\n return new PageElement(this, selector);\n }\n\n click(text?: string) {\n text ? this.dom().contains(text).click() : this.dom().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.dom();\n }\n\n shouldBeVisible() {\n this.should('be.visible');\n }\n\n shouldNotBeVisible() {\n this.should('not.be.visible');\n }\n\n shouldExist() {\n this.dom().should('exist');\n }\n\n shouldNotExist() {\n this.dom().should('not.exist');\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"PageElement":{"__symbolic":"class","arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":10,"character":22,"context":{"typeName":"P"}},{"__symbolic":"reference","name":"string"}]},{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":11,"character":22,"context":{"typeName":"P"}},{"__symbolic":"reference","module":"./element-locator","name":"ElementLocator","line":11,"character":35}]},{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":12,"character":31,"context":{"typeName":"P"}},{"__symbolic":"reference","name":"string"}]}],"
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{"PageElement":{"__symbolic":"class","arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":10,"character":22,"context":{"typeName":"P"}},{"__symbolic":"reference","name":"string"}]},{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":11,"character":22,"context":{"typeName":"P"}},{"__symbolic":"reference","module":"./element-locator","name":"ElementLocator","line":11,"character":35}]},{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":12,"character":22,"context":{"typeName":"P"}},{"__symbolic":"reference","name":"string"}]},{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":13,"character":31,"context":{"typeName":"P"}},{"__symbolic":"reference","name":"string"}]}],"getDefaultElementLocator":[{"__symbolic":"method"}],"getDefaultElementSelector":[{"__symbolic":"method"}],"dom":[{"__symbolic":"method"}],"find":[{"__symbolic":"method"}],"click":[{"__symbolic":"method"}],"getShoulder":[{"__symbolic":"method"}],"getShouldElement":[{"__symbolic":"method"}],"shouldBeVisible":[{"__symbolic":"method"}],"shouldNotBeVisible":[{"__symbolic":"method"}],"shouldExist":[{"__symbolic":"method"}],"shouldNotExist":[{"__symbolic":"method"}]}}}}]
|
|
@@ -23,12 +23,16 @@ var ElementLocator;
|
|
|
23
23
|
class PageElement {
|
|
24
24
|
constructor(parent, selectorOrLocator) {
|
|
25
25
|
this.parent = parent;
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
26
|
+
this.domElementLocator = _.isNil(selectorOrLocator) ?
|
|
27
|
+
this.getDefaultElementLocator() :
|
|
28
|
+
_.isString(selectorOrLocator) ?
|
|
29
|
+
ElementLocator.findByCssSelector(selectorOrLocator) :
|
|
30
|
+
selectorOrLocator;
|
|
30
31
|
}
|
|
31
|
-
|
|
32
|
+
getDefaultElementLocator() {
|
|
33
|
+
return ElementLocator.findByCssSelector(this.getDefaultElementSelector());
|
|
34
|
+
}
|
|
35
|
+
getDefaultElementSelector() {
|
|
32
36
|
return Stringy.from(this.constructor.name).dasherize().toString();
|
|
33
37
|
}
|
|
34
38
|
dom() {
|
|
@@ -519,14 +523,51 @@ class AupAlert extends AupAbstractActivity {
|
|
|
519
523
|
}
|
|
520
524
|
}
|
|
521
525
|
|
|
522
|
-
|
|
526
|
+
function AupModalMixin(Base) {
|
|
527
|
+
return class extends Base {
|
|
528
|
+
constructor(...args) {
|
|
529
|
+
super(...args);
|
|
530
|
+
}
|
|
531
|
+
getDefaultElementLocator() {
|
|
532
|
+
return (parent) => {
|
|
533
|
+
return parent.dom().closest('body').find(this.getDefaultElementSelector());
|
|
534
|
+
};
|
|
535
|
+
}
|
|
536
|
+
clickBackdrop() {
|
|
537
|
+
this.dom()
|
|
538
|
+
.closest(`.cdk-overlay-container`)
|
|
539
|
+
.find(`.cdk-overlay-backdrop`).click(-50, -50, { force: true });
|
|
540
|
+
}
|
|
541
|
+
};
|
|
542
|
+
}
|
|
543
|
+
|
|
544
|
+
class AupAlertDialog extends AupModalMixin(AupAlert) {
|
|
545
|
+
constructor(parent, selector) {
|
|
546
|
+
super(parent, selector);
|
|
547
|
+
}
|
|
548
|
+
}
|
|
549
|
+
|
|
550
|
+
class AupConfirm extends AupAbstractActivity {
|
|
523
551
|
constructor(parent, selector) {
|
|
524
552
|
super(parent, selector);
|
|
525
553
|
}
|
|
526
|
-
|
|
527
|
-
this.
|
|
528
|
-
|
|
529
|
-
|
|
554
|
+
get confirmCommand() {
|
|
555
|
+
return this._confirmCommand;
|
|
556
|
+
}
|
|
557
|
+
clickConfirm() {
|
|
558
|
+
this.confirmCommand.click();
|
|
559
|
+
}
|
|
560
|
+
get cancelCommand() {
|
|
561
|
+
return this._cancelCommand;
|
|
562
|
+
}
|
|
563
|
+
clickCancel() {
|
|
564
|
+
this.cancelCommand.click();
|
|
565
|
+
}
|
|
566
|
+
}
|
|
567
|
+
|
|
568
|
+
class AupConfirmDialog extends AupModalMixin(AupConfirm) {
|
|
569
|
+
constructor(parent, selector) {
|
|
570
|
+
super(parent, selector);
|
|
530
571
|
}
|
|
531
572
|
}
|
|
532
573
|
|
|
@@ -542,21 +583,18 @@ class AupActivity extends AupAbstractActivity {
|
|
|
542
583
|
}
|
|
543
584
|
}
|
|
544
585
|
|
|
545
|
-
class AupModalActivity extends AupActivity {
|
|
546
|
-
clickBackdrop() {
|
|
547
|
-
this.dom().closest(`.cdk-overlay-backdrop`).click(-50, -50, { force: true });
|
|
548
|
-
}
|
|
586
|
+
class AupModalActivity extends AupModalMixin(AupActivity) {
|
|
549
587
|
}
|
|
550
588
|
|
|
551
589
|
class PageBuilder extends Builder {
|
|
552
590
|
aupModalActivity(selector, builder) {
|
|
553
|
-
return this.component(AupModalActivity,
|
|
591
|
+
return this.component(AupModalActivity, builder);
|
|
554
592
|
}
|
|
555
593
|
aupModalAlert(builder) {
|
|
556
|
-
return this.component(AupAlertDialog,
|
|
594
|
+
return this.component(AupAlertDialog, builder);
|
|
557
595
|
}
|
|
558
596
|
aupModelConfirm(builder) {
|
|
559
|
-
return this.
|
|
597
|
+
return this.component(AupConfirmDialog, builder);
|
|
560
598
|
}
|
|
561
599
|
}
|
|
562
600
|
|
|
@@ -717,5 +755,5 @@ class AupTableSelectionCell extends AupTableCell {
|
|
|
717
755
|
* Generated bundle index. Do not edit.
|
|
718
756
|
*/
|
|
719
757
|
|
|
720
|
-
export { AupAbstractActivity, AupAbstractPopupMenu, AupAbstractTable, AupActivity, AupAlert, AupAlertDialog, AupCommand, AupCommandFace, AupCommandGroup, AupEmptyState, AupInput, AupModalActivity, AupMoreMenu, AupNavigation, AupPopupMenu, AupPopupMenuPanel, AupTable, AupTableCell, AupTableColumn, AupTableRow, AupTableSelectionCell, AupTableSelectionColumn, AupToolBar, AupTreeTable, Builder, Button, ElementLocator, FormElementMixin, MatCheckbox, Page, PageBuilder, PageElement, Path };
|
|
758
|
+
export { AupAbstractActivity, AupAbstractPopupMenu, AupAbstractTable, AupActivity, AupAlert, AupAlertDialog, AupCommand, AupCommandFace, AupCommandGroup, AupConfirm, AupConfirmDialog, AupEmptyState, AupInput, AupModalActivity, AupModalMixin, AupMoreMenu, AupNavigation, AupPopupMenu, AupPopupMenuPanel, AupTable, AupTableCell, AupTableColumn, AupTableRow, AupTableSelectionCell, AupTableSelectionColumn, AupToolBar, AupTreeTable, Builder, Button, ElementLocator, FormElementMixin, MatCheckbox, Page, PageBuilder, PageElement, Path };
|
|
721
759
|
//# sourceMappingURL=coolon-angular-ui-powerups-cypress.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coolon-angular-ui-powerups-cypress.js","sources":["../../../../libs/angular-ui-powerups/cypress/src/element-locator.ts","../../../../libs/angular-ui-powerups/cypress/src/page-element.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-command-face.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-command.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-empty-state.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-input.ts","../../../../libs/angular-ui-powerups/cypress/src/components/popup/aup-popup-menu-panel.ts","../../../../libs/angular-ui-powerups/cypress/src/components/popup/aup-abstract-popup-menu.ts","../../../../libs/angular-ui-powerups/cypress/src/components/popup/aup-more-menu.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-navigation.ts","../../../../libs/angular-ui-powerups/cypress/src/components/table/aup-table-cell.ts","../../../../libs/angular-ui-powerups/cypress/src/components/table/aup-table-column.ts","../../../../libs/angular-ui-powerups/cypress/src/components/table/aup-table-selection-column.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-abstract-table.ts","../../../../libs/angular-ui-powerups/cypress/src/components/table/aup-table-row.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-table.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-tree-table.ts","../../../../libs/angular-ui-powerups/cypress/src/components/form-element-mixin.ts","../../../../libs/angular-ui-powerups/cypress/src/components/button.ts","../../../../libs/angular-ui-powerups/cypress/src/components/mat-checkbox.ts","../../../../libs/angular-ui-powerups/cypress/src/builder.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-abstract-activity.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-alert.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-alert-dialog.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-activity.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-modal-activity.ts","../../../../libs/angular-ui-powerups/cypress/src/page-builder.ts","../../../../libs/angular-ui-powerups/cypress/src/path.ts","../../../../libs/angular-ui-powerups/cypress/src/page.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-command-group.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-tool-bar.ts","../../../../libs/angular-ui-powerups/cypress/src/components/popup/aup-popup-menu.ts","../../../../libs/angular-ui-powerups/cypress/src/components/table/aup-table-selection-cell.ts","../../../../libs/angular-ui-powerups/cypress/src/exports.ts","../../../../libs/angular-ui-powerups/cypress/src/coolon-angular-ui-powerups-cypress.ts"],"sourcesContent":["import { PageElement } from './page-element';\n\nexport type ElementLocator = (parent: PageElement) => Cypress.Chainable<JQuery>;\n\nexport namespace ElementLocator {\n\n export function findByCssSelector(selector: string): ElementLocator {\n return parent => parent.dom().find(selector)\n }\n\n export function findByTextContent(text: string): ElementLocator {\n return parent => parent.dom().contains(text);\n }\n\n export function findBySelectorAndTextContent(selector: string, text: string): ElementLocator {\n return parent => parent.dom().contains(selector, text);\n }\n\n}\n","/* tslint:disable:unified-signatures */\nimport Chainable = Cypress.Chainable;\nimport * as _ from 'lodash';\nimport { ElementLocator } from './element-locator';\nimport { Stringy } from '@coolon/typescript-utilities';\n\nexport class PageElement<P extends PageElement<any> = PageElement<any>> {\n\n readonly domElementLocator: ElementLocator;\n\n constructor(parent: P, selector?: string)\n constructor(parent: P, locator?: ElementLocator)\n constructor(readonly parent: P, selectorOrLocator?: string | ElementLocator) {\n const selector = selectorOrLocator ?? this.getDefaultSelector();\n this.domElementLocator = _.isString(selector) ?\n ElementLocator.findByCssSelector(selector) :\n selector;\n }\n\n getDefaultSelector():string {\n return Stringy.from(this.constructor.name).dasherize().toString()\n }\n\n dom(): Chainable<JQuery> {\n return this.domElementLocator(this.parent);\n }\n\n find(selector: string): PageElement {\n return new PageElement(this, selector);\n }\n\n click(text?: string) {\n text ? this.dom().contains(text).click() : this.dom().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.dom();\n }\n\n shouldBeVisible() {\n this.should('be.visible');\n }\n\n shouldNotBeVisible() {\n this.should('not.be.visible');\n }\n\n shouldExist() {\n this.dom().should('exist');\n }\n\n shouldNotExist() {\n this.dom().should('not.exist');\n }\n}\n","import { ElementLocator } from '../element-locator';\nimport { PageElement } from '../page-element';\nimport { Types } from './types';\n\nexport class AupCommandFace extends PageElement {\n\n constructor(parentElement: PageElement, face: Types.CommandFace) {\n super(parentElement, AupCommandFace.createElementLocator(face));\n }\n\n static createElementLocator(face: Types.CommandFace): ElementLocator {\n const locator = parent => {\n return face.text ?\n parent.dom().contains(`aup-command-face`, face.text()) :\n face.icon ?\n parent.dom().find(`aup-icon[ng-reflect-icon=${face.icon()}]`).closest('aup-command-face') :\n undefined;\n\n };\n // aot compiler doesn't like lambas\n return locator;\n }\n}\n\n","import { PageElement } from '../page-element';\nimport { AupCommandFace } from './aup-command-face';\nimport { Types } from './types';\nimport * as _ from 'lodash';\n\nexport class AupCommand extends PageElement {\n\n constructor(parent: PageElement, faceOrSelector: string | Types.CommandFace) {\n super(parent, parentElement => {\n if (_.isString(faceOrSelector)) {\n return parentElement.dom().find(faceOrSelector);\n } else {\n return AupCommandFace.createElementLocator(faceOrSelector)(parentElement).closest('aup-command');\n }\n });\n }\n\n click() {\n this.getButton().click();\n }\n\n getShouldElement(): Cypress.Chainable<JQuery> {\n return this.getButton();\n }\n\n shouldBeDisabled() {\n this.getButton().should('be.disabled');\n }\n\n private getButton() {\n return this.dom().find('button');\n }\n\n}\n\n","import { PageElement } from '../page-element';\n\nexport class AupEmptyState extends PageElement {\n\n shouldContainText(text:string) {\n this.dom().should(\"contain.text\", text)\n }\n}\n","import { PageElement } from '../page-element';\nimport Chainable = Cypress.Chainable;\n\nexport abstract class AupInput<T> extends PageElement {\n\n label() {\n return this.dom().find('label');\n }\n\n hint() {\n return this.dom().find('mat-hint');\n }\n\n error() {\n return this.dom().find('mat-error');\n }\n\n get labelShould() {\n return this.getShoulder(this.label())\n }\n\n get hintShould() {\n return this.getShoulder(this.hint());\n }\n\n get errorShould() {\n return this.getShoulder(this.error());\n }\n\n labelShouldBe(text: string) {\n return this.labelShould(\"have.text\", text);\n }\n\n hintShouldBe(text: string) {\n return this.hintShould(\"have.text\", text);\n }\n\n errorShouldBe(text: string) {\n return this.errorShould(\"have.text\", text);\n }\n\n shouldBeFocused() {\n this.input().should(\"have.focus\");\n }\n\n shouldNotBeFocused() {\n this.input().should(\"not.have.focus\");\n }\n\n type(characters:string) {\n this.input().type(characters);\n }\n\n hitEnter() {\n this.type(\"{enter}\")\n }\n\n abstract input(): Chainable<JQuery>\n abstract clear();\n abstract setValue(value: T);\n\n}\n\nexport namespace AupInput {\n export class HtmlInput<T> extends AupInput<T> {\n input() {\n return this.dom().find('input');\n }\n\n clear() {\n this.input().clear();\n }\n\n setValue(value: T) {\n const input = this.input();\n input.clear();\n input.type(`${value}`);\n this.input().should('have.value', `${value}`);\n }\n\n getShouldElement(): Cypress.Chainable<JQuery> {\n return this.input();\n }\n\n }\n\n export class TextAreaInput<T> extends AupInput<T> {\n\n getShouldElement(): Cypress.Chainable<JQuery> {\n return this.input();\n }\n\n input() {\n return this.dom().find('textarea');\n }\n\n clear() {\n this.input().clear();\n }\n\n setValue(value: T) {\n const input = this.input();\n input.clear();\n input.type(`${value}`);\n this.input().should('have.value', value);\n }\n }\n\n}\n","import { PageElement } from '../../page-element';\n\nexport class AupPopupMenuPanel extends PageElement {\n\n}\n","import { ElementLocator } from '../../element-locator';\nimport { PageElement } from '../../page-element';\nimport { AupPopupMenuPanel } from './aup-popup-menu-panel';\n\nexport class AupAbstractPopupMenu extends PageElement {\n\n private popup: AupPopupMenuPanel;\n\n constructor(parent: PageElement, locator: ElementLocator) {\n super(parent, locator);\n this.popup = new AupPopupMenuPanel(this, p => this.findPopupIn(p));\n }\n\n protected findPopupIn(p: PageElement) {\n return this.getOverlay().find('.mat-menu-panel');\n }\n\n protected getOverlay() {\n return this.dom().closest('body').find('.cdk-overlay-container');\n }\n\n protected getBackdrop() {\n return this.getOverlay().find('.cdk-overlay-backdrop');\n }\n\n openPopup(): AupPopupMenuPanel {\n this.shouldNotBeOpen();\n this.click();\n return this.popup;\n }\n\n closePopup() {\n this.shouldBeOpen();\n this.getBackdrop().click();\n }\n\n shouldBeOpen() {\n this.popup.shouldBeVisible();\n }\n\n shouldNotBeOpen() {\n this.dom().closest('body').find('.mat-menu-panel').should(\"not.exist\");\n }\n\n\n}\n","import { ElementLocator } from '../../element-locator';\nimport { PageElement } from '../../page-element';\nimport { AupAbstractPopupMenu } from './aup-abstract-popup-menu';\n\nexport class AupMoreMenu extends AupAbstractPopupMenu {\n\n static create(parent: PageElement, selector?: string) {\n return new AupMoreMenu(parent, ElementLocator.findByCssSelector(selector ?? 'aup-more-menu'));\n }\n}\n","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).shouldNotExist();\n }\n}\n","import { PageElement } from '../../page-element';\nimport { AupAbstractTable } from '../aup-abstract-table';\nimport { AupTableRow } from './aup-table-row';\nimport Chainable = Cypress.Chainable;\n\nexport class AupTableCell<TR extends AupTableRow> extends PageElement<AupAbstractTable<TR>> {\n\n rowId(): Chainable<string> {\n return this.dom().closest('tr').invoke('attr', 'aup-row-id');\n }\n\n row(): TR {\n const self = this;\n return this.parent.createRow(parent => {\n return self.rowId().then(rowId => parent.dom().find(AupAbstractTable.cssSelectorForTableRowById(rowId)));\n });\n }\n}\n","import { PageElement } from '../../page-element';\nimport { AupAbstractTable } from '../aup-abstract-table';\nimport { AupTableCell } from './aup-table-cell';\nimport { AupTableRow } from './aup-table-row';\n\nexport class AupTableColumn<TR extends AupTableRow> extends PageElement<AupAbstractTable<TR>> {\n\n constructor(table: AupAbstractTable<any>, readonly columnId: string) {\n super(table, AupAbstractTable.cssSelectorForColumnCellRendererById(columnId));\n }\n\n cellContaining(content: string): AupTableCell<TR> {\n const self = this;\n return new AupTableCell(this.parent,parent => {\n return parent.dom().contains(AupAbstractTable.cssSelectorForColumnCellRendererById(self.columnId), content);\n });\n }\n\n rowContaining(content: string): TR {\n return this.cellContaining(content).row();\n }\n}\n","import { AupTableColumn } from './aup-table-column';\nimport { AupTableRow } from './aup-table-row';\n\nexport class AupTableSelectionColumn<TR extends AupTableRow> extends AupTableColumn<TR> {\n selectAll() {\n }\n}\n","/* tslint:disable:unified-signatures */\nimport { Memoize } from '@typescript-plus/fast-memoize-decorator/dist/src';\nimport * as _ from 'lodash';\nimport { ElementLocator } from '../element-locator';\nimport { PageElement } from '../page-element';\nimport { AupTableColumn } from './table/aup-table-column';\nimport { AupTableRow } from './table/aup-table-row';\nimport { AupTableSelectionColumn } from './table/aup-table-selection-column';\n\nexport abstract class AupAbstractTable<TR extends AupTableRow> extends PageElement {\n\n row(rowId: any): TR {\n return this.createRow(parent => {\n return parent.dom().find(AupAbstractTable.cssSelectorForTableRowById(rowId));\n });\n }\n\n rowNumber(rowNumber: number): TR {\n return this.createRow(parent => {\n return parent.dom().find(AupAbstractTable.cssSelectorForNthTableRow(rowNumber));\n });\n }\n\n column(columnId: string): AupTableColumn<TR> {\n return new AupTableColumn(this, columnId);\n }\n\n @Memoize()\n get selectionColumn(): AupTableSelectionColumn<TR> {\n return new AupTableSelectionColumn(this, 'selection-column');\n }\n\n abstract createRow(locator: ElementLocator): TR\n\n}\n\nexport namespace AupAbstractTable {\n\n\n export function cssSelectorForTableRowById(rowId: string) {\n return `tbody tr[aup-row-id=${rowId}]`;\n }\n\n export function cssSelectorForNthTableRow(rowNumber: number) {\n return `tbody tr:nth-child(${rowNumber})`;\n }\n\n export function cssSelectorForColumnCellRendererById(columnOrId: AupTableColumn<any> | string) {\n const columnId = _.isString(columnOrId) ? columnOrId : columnOrId.columnId;\n return `aup-table-cell-renderer[column-id=${columnId}]`;\n }\n\n export function cssSelectorForCell(rowId: string, columnOrId: string | AupTableColumn<any>) {\n return `${cssSelectorForTableRowById(rowId)} ${cssSelectorForColumnCellRendererById(columnOrId)}`;\n }\n\n}\n","/* tslint:disable:unified-signatures */\nimport { PageElement } from '../../page-element';\nimport { AupAbstractTable } from '../aup-abstract-table';\nimport { AupTableCell } from './aup-table-cell';\nimport { AupTableColumn } from './aup-table-column';\nimport { AupTableSelectionCell } from './aup-table-selection-cell';\nimport { AupTableSelectionColumn } from './aup-table-selection-column';\nimport Chainable = Cypress.Chainable;\n\nexport class AupTableRow extends PageElement<AupAbstractTable<any>> {\n\n rowId(): Chainable<string> {\n return this.dom()\n .invoke('attr', 'aup-row-id');\n }\n\n shouldHaveRowId(rowId: string) {\n this.rowId().should('eq', rowId);\n }\n\n cell(columnId: string): AupTableCell<this>\n cell(column: AupTableColumn<this>): AupTableCell<this>\n cell(column: AupTableSelectionColumn<this>): AupTableSelectionCell<this>\n cell(columnOrId: string | AupTableColumn<this>): AupTableCell<this> {\n const self = this;\n return new AupTableCell(this.parent, parent => {\n return self.rowId()\n .then(rowId => AupAbstractTable.cssSelectorForCell(rowId, columnOrId))\n .then(selector => parent.dom().find(selector));\n });\n }\n\n shouldBeSelected() {\n this.dom().should('have.class', 'aup-row-selected');\n }\n\n shouldNotBeSelected() {\n this.dom().should('not.have.class', 'aup-row-selected');\n }\n\n}\n","/* tslint:disable:unified-signatures */\nimport { ElementLocator } from '../element-locator';\nimport { AupAbstractTable } from './aup-abstract-table';\nimport { AupTableRow } from './table/aup-table-row';\n\nexport class AupTable extends AupAbstractTable<AupTableRow> {\n createRow(locator: ElementLocator): AupTableRow {\n return new AupTableRow(this, locator);\n }\n}\n","/* tslint:disable:unified-signatures */\nimport { Memoize } from '@typescript-plus/fast-memoize-decorator/dist/src';\nimport { ElementLocator } from '../element-locator';\nimport { AupAbstractTable } from './aup-abstract-table';\nimport { AupTableColumn } from './table/aup-table-column';\nimport { AupTableRow } from './table/aup-table-row';\n\nexport class AupTreeTable extends AupAbstractTable<AupTreeTable.Row> {\n\n @Memoize()\n get treeControlColumn(): AupTreeTable.TreeControlColumn {\n return new AupTreeTable.TreeControlColumn(this, 'tree-label');\n }\n\n createRow(locator: ElementLocator): AupTreeTable.Row {\n return new AupTreeTable.Row(this, locator);\n }\n\n}\n\nexport namespace AupTreeTable {\n\n export class Row extends AupTableRow {\n shouldBeExpanded() {\n this.dom().should(\"not.have.class\", \"aup-node-collapsed\")\n }\n shouldBeCollapsed() {\n this.dom().should(\"have.class\", \"aup-node-collapsed\")\n }\n }\n\n export class TreeControlColumn extends AupTableColumn<Row> {\n }\n\n}\n","import { Constructable } from '@coolon/typescript-utilities';\nimport { PageElement } from '../page-element';\n\nexport function FormElementMixin<T, BC extends Constructable<PageElement>>(Base: BC) {\n return class extends Base {\n constructor(...args: any[]) {\n super(...args);\n }\n\n shouldBeDisabled() {\n this.should(\"be.disabled\");\n }\n\n };\n}\n","import { ElementLocator } from '../element-locator';\nimport { PageElement } from '../page-element';\nimport { FormElementMixin } from './form-element-mixin';\n\nexport class Button extends FormElementMixin(PageElement) {\n\n constructor(parentElementAccessor: PageElement, buttonText: string) {\n super(parentElementAccessor, ElementLocator.findBySelectorAndTextContent('button', buttonText));\n }\n\n}\n\n","import { ElementLocator } from '../element-locator';\nimport { PageElement } from '../page-element';\nimport { FormElementMixin } from './form-element-mixin';\n\nexport class MatCheckbox extends FormElementMixin(PageElement) {\n\n constructor(parentElementAccessor: PageElement, text: string) {\n super(parentElementAccessor, ElementLocator.findBySelectorAndTextContent('mat-checkbox', text));\n }\n\n shouldBeChecked() {\n this.hiddenCheckBoxElement().should('be.checked');\n }\n\n shouldNotBeChecked() {\n this.hiddenCheckBoxElement().should('not.be.checked');\n }\n\n hiddenCheckBoxElement() {\n return this.dom().find('input[type=checkbox]');\n }\n\n check() {\n this.hiddenCheckBoxElement().then(el => {\n if (!el.prop('checked')) {\n this.click();\n this.shouldBeChecked();\n }\n });\n }\n\n uncheck() {\n this.hiddenCheckBoxElement().then(el => {\n if (el.prop('checked')) {\n this.click();\n this.shouldNotBeChecked();\n }\n })\n }\n\n}\n\n","import { E, T } from '@angular/cdk/keycodes';\nimport { Constructable } from '@coolon/pectin';\nimport { lang, Mixin as CreateMixin } from '@coolon/typescript-utilities';\nimport * as _ from 'lodash';\nimport { AupCommand } from './components/aup-command';\nimport { AupEmptyState } from './components/aup-empty-state';\nimport { AupInput } from './components/aup-input';\nimport { AupMoreMenu } from './components/popup/aup-more-menu';\nimport { AupNavigation } from './components/aup-navigation';\nimport { AupTable } from './components/aup-table';\nimport { AupTreeTable } from './components/aup-tree-table';\nimport { Button } from './components/button';\nimport { MatCheckbox } from './components/mat-checkbox';\nimport { Types } from './components/types';\nimport { ElementLocator } from './element-locator';\nimport { PageElement } from './page-element';\n\nexport class Builder {\n\n constructor(readonly parentPageElement: PageElement) {\n }\n\n find(selector: string): PageElement {\n return new PageElement(this.parentPageElement, selector);\n }\n\n section<T extends object>(selector: string, builder: Builder.ContainerCallback<T>): T & PageElement {\n return this.component(PageElement, selector, builder);\n }\n\n contains(text: string): PageElement {\n return new PageElement(this.parentPageElement, ElementLocator.findByTextContent(text));\n }\n\n button(text: string): Button {\n return new Button(this.parentPageElement, text);\n }\n\n matCheckbox(text: string): MatCheckbox {\n return new MatCheckbox(this.parentPageElement, text);\n }\n\n aupStringInput(selector?: string): AupInput<string> {\n return new AupInput.HtmlInput(this.parentPageElement, selector ?? 'aup-string-input');\n }\n\n aupTextInput(selector?: string): AupInput<string> {\n return new AupInput.TextAreaInput(this.parentPageElement, selector ?? 'aup-text-input');\n }\n\n aupPasswordInput(selector?: string): AupInput<string> {\n return new AupInput.HtmlInput(this.parentPageElement, selector ?? 'aup-password-input');\n }\n\n aupNumberInput(selector?: string): AupInput<number> {\n return new AupInput.HtmlInput(this.parentPageElement, selector ?? 'aup-number-input');\n }\n\n aupCommand(selector: string): AupCommand\n // tslint:disable-next-line:unified-signatures\n aupCommand(face: Types.CommandFace): AupCommand\n aupCommand(faceOrSelector: string | Types.CommandFace): AupCommand {\n return new AupCommand(this.parentPageElement, faceOrSelector);\n }\n\n aupTabbedNavigation<T extends object>(): AupNavigation {\n return new AupNavigation(this.parentPageElement, 'aup-tabbed-place-navigation');\n }\n\n aupSideNavigation<T extends object>(): AupNavigation {\n return new AupNavigation(this.parentPageElement, 'aup-list-place-nav');\n }\n\n aupMoreMenu<T extends object>(selector?: string): AupMoreMenu {\n return AupMoreMenu.create(this.parentPageElement, selector);\n }\n\n aupTable(selector?: string): AupTable\n aupTable<T extends object>(builder: Builder.ContainerCallback<T, AupTable>): AupTable & T\n aupTable<T extends object>(selector: string, builder: Builder.ContainerCallback<T, AupTable>): AupTable & T\n aupTable<T extends object>(selectorOrBuilder?: string | Builder.ContainerCallback<T, AupTable>,\n optionalBuilder?: Builder.ContainerCallback<T, AupTable>): AupTable & T {\n return this.component(AupTable, selectorOrBuilder, optionalBuilder);\n }\n\n aupTreeTable(selector?: string): AupTreeTable\n aupTreeTable<T extends object>(builder: Builder.ContainerCallback<T, AupTreeTable>): AupTreeTable & T\n aupTreeTable<T extends object>(selector: string, builder: Builder.ContainerCallback<T, AupTreeTable>): AupTreeTable & T\n aupTreeTable<T extends object>(selectorOrBuilder?: string | Builder.ContainerCallback<T, AupTreeTable>,\n optionalBuilder?: Builder.ContainerCallback<T, AupTreeTable>): AupTreeTable & T {\n return this.component(AupTreeTable, selectorOrBuilder, optionalBuilder);\n }\n\n aupEmptyState(selector?: string): AupEmptyState\n aupEmptyState<T extends object>(builder: Builder.ContainerCallback<T, AupEmptyState>): AupEmptyState & T\n aupEmptyState<T extends object>(selector: string,\n builder: Builder.ContainerCallback<T, AupEmptyState>): AupEmptyState & T\n aupEmptyState<T extends object>(selectorOrBuilder?: string | Builder.ContainerCallback<T, AupEmptyState>,\n optionalBuilder?: Builder.ContainerCallback<T, AupEmptyState>): AupEmptyState & T {\n return this.component(AupEmptyState, selectorOrBuilder, optionalBuilder);\n }\n\n\n component<T extends object, E extends PageElement>(klass: Constructable<E>,\n selectorOrBuilder: string | Builder.ContainerCallback<T, E>,\n optionalBuilder: Builder.ContainerCallback<T, E>): E & T {\n\n const selector = _.isString(selectorOrBuilder) ? selectorOrBuilder : undefined;\n const builder = _.isFunction(selectorOrBuilder) ? selectorOrBuilder : optionalBuilder;\n\n const element = new klass(this.parentPageElement, selector);\n\n if (builder) {\n // create the B&E type that the builder has access to\n const decoratedElement = CreateMixin.createProxy(element, new Builder(element));\n // create final type that has the E & T type\n return CreateMixin.createProxy(decoratedElement, builder(decoratedElement));\n } else {\n return element as E & T;\n }\n }\n\n}\n\n\nexport namespace Builder {\n export type ElementCallback<T, E extends PageElement = PageElement> = (section: E) => T;\n export type ContainerCallback<T, E extends PageElement = PageElement, B extends Builder = Builder> = (section: B & E) => T;\n}\n","import { Builder } from '../builder';\nimport { ElementLocator } from '../element-locator';\nimport { PageElement } from '../page-element';\nimport { AupCommand } from './aup-command';\n\nexport class AupAbstractActivity extends PageElement {\n\n protected _confirmCommand: AupCommand;\n protected _cancelCommand: AupCommand;\n\n readonly title: PageElement;\n\n constructor(parent: PageElement, selector: string | ElementLocator) {\n // @ts-ignore\n super(parent, selector);\n this.title = this.find('aup-activity-title');\n this._confirmCommand = new Builder(this).aupCommand('[data-cy=confirm-command]');\n this._cancelCommand = new Builder(this).aupCommand('[data-cy=cancel-command]');\n }\n\n}\n","import { ElementLocator } from '../element-locator';\nimport { PageElement } from '../page-element';\nimport { AupAbstractActivity } from './aup-abstract-activity';\nimport { AupCommand } from './aup-command';\n\nexport class AupAlert extends AupAbstractActivity {\n\n constructor(parent: PageElement, selector: string | ElementLocator) {\n super(parent, selector);\n }\n\n get closeCommand(): AupCommand {\n return this._confirmCommand;\n }\n\n clickClose() {\n this.closeCommand.click();\n }\n\n}\n","import { ElementLocator } from '../element-locator';\nimport { PageElement } from '../page-element';\nimport { AupAlert } from './aup-alert';\n\nexport class AupAlertDialog extends AupAlert {\n\n constructor(parent: PageElement, selector: string | ElementLocator) {\n super(parent, selector);\n }\n\n clickBackdrop() {\n this.dom()\n .closest(`.cdk-overlay-container`)\n .find(`.cdk-overlay-backdrop`).click(-50, -50, { force: true });\n }\n\n}\n","import { ElementLocator } from '../element-locator';\nimport { PageElement } from '../page-element';\nimport { AupAbstractActivity } from './aup-abstract-activity';\nimport { AupCommand } from './aup-command';\n\nexport class AupActivity extends AupAbstractActivity {\n\n constructor(parent: PageElement, selector: string | ElementLocator) {\n super(parent, selector);\n }\n\n get confirmCommand(): AupCommand {\n return this._confirmCommand;\n }\n\n get cancelCommand(): AupCommand {\n return this._cancelCommand;\n }\n\n}\n","import { AupActivity } from './aup-activity';\n\nexport class AupModalActivity extends AupActivity {\n\n clickBackdrop() {\n this.dom().closest(`.cdk-overlay-backdrop`).click(-50, -50, { force: true });\n }\n\n}\n","import { Builder } from './builder';\nimport { AupAlertDialog } from './components/aup-alert-dialog';\nimport { AupModalActivity } from './components/aup-modal-activity';\n\nexport class PageBuilder extends Builder {\n\n\n aupModalActivity<T extends object>(selector: string, builder: Builder.ContainerCallback<T, AupModalActivity>): T & AupModalActivity {\n return this.component(AupModalActivity, `.dialog-interaction-context ${selector}`, builder);\n }\n\n aupModalAlert<T extends object>(builder?: Builder.ContainerCallback<T, AupAlertDialog>): T & AupAlertDialog {\n return this.component(AupAlertDialog, `.dialog-interaction-context aup-alert-dialog`, builder);\n }\n\n aupModelConfirm<T extends object>(builder?: Builder.ContainerCallback<T, AupModalActivity>): T & AupModalActivity {\n return this.aupModalActivity(`aup-confirm-dialog`, builder);\n }\n}\n","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 const urlSegments = urlTree.root.children.primary?.segments ?? [];\n urlSegments?.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","import { Mixin } from '@coolon/typescript-utilities';\nimport * as _ from 'lodash';\nimport { Builder } from './builder';\nimport { PageBuilder } from './page-builder';\nimport { PageElement } from './page-element';\nimport { Path } from './path';\n\nexport class Page extends PageElement {\n\n protected rootElementSelector = 'body';\n\n constructor(readonly path: Path) {\n super(undefined, undefined);\n }\n\n dom(): 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 export function create<T extends object>(path: string, builder: Builder.ContainerCallback<T, Page, PageBuilder>): T & Page\n // tslint:disable-next-line:unified-signatures\n export function create<T extends object>(pathBuilder: ((pathBuilder: Path.Builder) => void), builder: Builder.ContainerCallback<T, Page, PageBuilder>): T & Page\n export function create<T extends object>(pathOrPathBuilder: string | ((pathBuilder: Path.Builder) => void), builder: Builder.ContainerCallback<T, Page, PageBuilder>): 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 instance = new Page(pathBuilder.getPath());\n const content = builder.call(instance, new PageBuilder(instance));\n return Mixin.createProxy(content, instance) as T & Page;\n }\n}\n","import { PageElement } from '../page-element';\n\nexport class AupCommandGroup extends PageElement {\n\n}\n","\nimport { PageElement } from '../page-element';\nimport { Types } from './types';\n\nexport class AupToolBar extends PageElement {\n\n static create(parent: PageElement, face: Types.CommandFace) {\n // const findFace = AupCommandFace.createFinder(() => parent.element(), face)\n // return new AupCommandGroup(() => findFace().closest('button'));\n }\n}\n","import { lang } from '@coolon/typescript-utilities';\nimport { PageElement } from '../../page-element';\nimport { AupCommandFace } from '../aup-command-face';\nimport { Types } from '../types';\nimport { AupAbstractPopupMenu } from './aup-abstract-popup-menu';\n\nexport class AupPopupMenu extends AupAbstractPopupMenu {\n\n constructor(parentElementAccessor: PageElement, face: Types.CommandFace) {\n const locator = AupCommandFace.createElementLocator(face)\n super(parentElementAccessor, parent => locator(parent).closest('button'));\n }\n\n static create(parent: PageElement, face: Types.CommandFace) {\n return new AupPopupMenu(parent, face);\n }\n}\n","import { AupTableCell } from './aup-table-cell';\nimport { AupTableRow } from './aup-table-row';\n\nexport class AupTableSelectionCell<TR extends AupTableRow> extends AupTableCell<TR> {\n selectAll() {\n }\n}\n","/**\n * @file Automatically generated by barrelsby.\n */\n\nexport * from \"./builder\";\nexport * from \"./element-locator\";\nexport * from \"./page-builder\";\nexport * from \"./page-element\";\nexport * from \"./page\";\nexport * from \"./path\";\nexport * from \"./components/aup-abstract-activity\";\nexport * from \"./components/aup-abstract-table\";\nexport * from \"./components/aup-activity\";\nexport * from \"./components/aup-alert-dialog\";\nexport * from \"./components/aup-alert\";\nexport * from \"./components/aup-command-face\";\nexport * from \"./components/aup-command-group\";\nexport * from \"./components/aup-command\";\nexport * from \"./components/aup-empty-state\";\nexport * from \"./components/aup-input\";\nexport * from \"./components/aup-modal-activity\";\nexport * from \"./components/aup-navigation\";\nexport * from \"./components/aup-table\";\nexport * from \"./components/aup-tool-bar\";\nexport * from \"./components/aup-tree-table\";\nexport * from \"./components/button\";\nexport * from \"./components/form-element-mixin\";\nexport * from \"./components/mat-checkbox\";\nexport * from \"./components/types\";\nexport * from \"./components/popup/aup-abstract-popup-menu\";\nexport * from \"./components/popup/aup-more-menu\";\nexport * from \"./components/popup/aup-popup-menu-panel\";\nexport * from \"./components/popup/aup-popup-menu\";\nexport * from \"./components/table/aup-table-cell\";\nexport * from \"./components/table/aup-table-column\";\nexport * from \"./components/table/aup-table-row\";\nexport * from \"./components/table/aup-table-selection-cell\";\nexport * from \"./components/table/aup-table-selection-column\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './exports';\n\nexport {Types as ɵa} from './components/types';"],"names":["CreateMixin"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"coolon-angular-ui-powerups-cypress.js","sources":["../../../../libs/angular-ui-powerups/cypress/src/element-locator.ts","../../../../libs/angular-ui-powerups/cypress/src/page-element.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-command-face.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-command.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-empty-state.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-input.ts","../../../../libs/angular-ui-powerups/cypress/src/components/popup/aup-popup-menu-panel.ts","../../../../libs/angular-ui-powerups/cypress/src/components/popup/aup-abstract-popup-menu.ts","../../../../libs/angular-ui-powerups/cypress/src/components/popup/aup-more-menu.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-navigation.ts","../../../../libs/angular-ui-powerups/cypress/src/components/table/aup-table-cell.ts","../../../../libs/angular-ui-powerups/cypress/src/components/table/aup-table-column.ts","../../../../libs/angular-ui-powerups/cypress/src/components/table/aup-table-selection-column.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-abstract-table.ts","../../../../libs/angular-ui-powerups/cypress/src/components/table/aup-table-row.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-table.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-tree-table.ts","../../../../libs/angular-ui-powerups/cypress/src/components/form-element-mixin.ts","../../../../libs/angular-ui-powerups/cypress/src/components/button.ts","../../../../libs/angular-ui-powerups/cypress/src/components/mat-checkbox.ts","../../../../libs/angular-ui-powerups/cypress/src/builder.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-abstract-activity.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-alert.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-modal-mixin.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-alert-dialog.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-confirm.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-confirm-dialog.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-activity.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-modal-activity.ts","../../../../libs/angular-ui-powerups/cypress/src/page-builder.ts","../../../../libs/angular-ui-powerups/cypress/src/path.ts","../../../../libs/angular-ui-powerups/cypress/src/page.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-command-group.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-tool-bar.ts","../../../../libs/angular-ui-powerups/cypress/src/components/popup/aup-popup-menu.ts","../../../../libs/angular-ui-powerups/cypress/src/components/table/aup-table-selection-cell.ts","../../../../libs/angular-ui-powerups/cypress/src/exports.ts","../../../../libs/angular-ui-powerups/cypress/src/coolon-angular-ui-powerups-cypress.ts"],"sourcesContent":["import { PageElement } from './page-element';\n\nexport type ElementLocator = (parent: PageElement) => Cypress.Chainable<JQuery>;\n\nexport namespace ElementLocator {\n\n export function findByCssSelector(selector: string): ElementLocator {\n return parent => parent.dom().find(selector)\n }\n\n export function findByTextContent(text: string): ElementLocator {\n return parent => parent.dom().contains(text);\n }\n\n export function findBySelectorAndTextContent(selector: string, text: string): ElementLocator {\n return parent => parent.dom().contains(selector, text);\n }\n\n}\n","/* tslint:disable:unified-signatures */\nimport Chainable = Cypress.Chainable;\nimport { Stringy } from '@coolon/typescript-utilities';\nimport * as _ from 'lodash';\nimport { ElementLocator } from './element-locator';\n\nexport class PageElement<P extends PageElement<any> = PageElement<any>> {\n\n readonly domElementLocator: ElementLocator;\n\n constructor(parent: P, selector?: string)\n constructor(parent: P, locator?: ElementLocator)\n constructor(parent: P, selectorOrLocator?: string | ElementLocator)\n constructor(readonly parent: P, selectorOrLocator?: string | ElementLocator) {\n this.domElementLocator = _.isNil(selectorOrLocator) ?\n this.getDefaultElementLocator() :\n _.isString(selectorOrLocator) ?\n ElementLocator.findByCssSelector(selectorOrLocator) :\n selectorOrLocator;\n }\n\n getDefaultElementLocator(): ElementLocator {\n return ElementLocator.findByCssSelector(this.getDefaultElementSelector());\n }\n\n getDefaultElementSelector() {\n return Stringy.from(this.constructor.name).dasherize().toString();\n }\n\n dom(): Chainable<JQuery> {\n return this.domElementLocator(this.parent);\n }\n\n find(selector: string): PageElement {\n return new PageElement(this, selector);\n }\n\n click(text?: string) {\n text ? this.dom().contains(text).click() : this.dom().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.dom();\n }\n\n shouldBeVisible() {\n this.should('be.visible');\n }\n\n shouldNotBeVisible() {\n this.should('not.be.visible');\n }\n\n shouldExist() {\n this.dom().should('exist');\n }\n\n shouldNotExist() {\n this.dom().should('not.exist');\n }\n}\n","import { ElementLocator } from '../element-locator';\nimport { PageElement } from '../page-element';\nimport { Types } from './types';\n\nexport class AupCommandFace extends PageElement {\n\n constructor(parentElement: PageElement, face: Types.CommandFace) {\n super(parentElement, AupCommandFace.createElementLocator(face));\n }\n\n static createElementLocator(face: Types.CommandFace): ElementLocator {\n const locator = parent => {\n return face.text ?\n parent.dom().contains(`aup-command-face`, face.text()) :\n face.icon ?\n parent.dom().find(`aup-icon[ng-reflect-icon=${face.icon()}]`).closest('aup-command-face') :\n undefined;\n\n };\n // aot compiler doesn't like lambas\n return locator;\n }\n}\n\n","import { PageElement } from '../page-element';\nimport { AupCommandFace } from './aup-command-face';\nimport { Types } from './types';\nimport * as _ from 'lodash';\n\nexport class AupCommand extends PageElement {\n\n constructor(parent: PageElement, faceOrSelector: string | Types.CommandFace) {\n super(parent, parentElement => {\n if (_.isString(faceOrSelector)) {\n return parentElement.dom().find(faceOrSelector);\n } else {\n return AupCommandFace.createElementLocator(faceOrSelector)(parentElement).closest('aup-command');\n }\n });\n }\n\n click() {\n this.getButton().click();\n }\n\n getShouldElement(): Cypress.Chainable<JQuery> {\n return this.getButton();\n }\n\n shouldBeDisabled() {\n this.getButton().should('be.disabled');\n }\n\n private getButton() {\n return this.dom().find('button');\n }\n\n}\n\n","import { PageElement } from '../page-element';\n\nexport class AupEmptyState extends PageElement {\n\n shouldContainText(text:string) {\n this.dom().should(\"contain.text\", text)\n }\n}\n","import { PageElement } from '../page-element';\nimport Chainable = Cypress.Chainable;\n\nexport abstract class AupInput<T> extends PageElement {\n\n label() {\n return this.dom().find('label');\n }\n\n hint() {\n return this.dom().find('mat-hint');\n }\n\n error() {\n return this.dom().find('mat-error');\n }\n\n get labelShould() {\n return this.getShoulder(this.label())\n }\n\n get hintShould() {\n return this.getShoulder(this.hint());\n }\n\n get errorShould() {\n return this.getShoulder(this.error());\n }\n\n labelShouldBe(text: string) {\n return this.labelShould(\"have.text\", text);\n }\n\n hintShouldBe(text: string) {\n return this.hintShould(\"have.text\", text);\n }\n\n errorShouldBe(text: string) {\n return this.errorShould(\"have.text\", text);\n }\n\n shouldBeFocused() {\n this.input().should(\"have.focus\");\n }\n\n shouldNotBeFocused() {\n this.input().should(\"not.have.focus\");\n }\n\n type(characters:string) {\n this.input().type(characters);\n }\n\n hitEnter() {\n this.type(\"{enter}\")\n }\n\n abstract input(): Chainable<JQuery>\n abstract clear();\n abstract setValue(value: T);\n\n}\n\nexport namespace AupInput {\n export class HtmlInput<T> extends AupInput<T> {\n input() {\n return this.dom().find('input');\n }\n\n clear() {\n this.input().clear();\n }\n\n setValue(value: T) {\n const input = this.input();\n input.clear();\n input.type(`${value}`);\n this.input().should('have.value', `${value}`);\n }\n\n getShouldElement(): Cypress.Chainable<JQuery> {\n return this.input();\n }\n\n }\n\n export class TextAreaInput<T> extends AupInput<T> {\n\n getShouldElement(): Cypress.Chainable<JQuery> {\n return this.input();\n }\n\n input() {\n return this.dom().find('textarea');\n }\n\n clear() {\n this.input().clear();\n }\n\n setValue(value: T) {\n const input = this.input();\n input.clear();\n input.type(`${value}`);\n this.input().should('have.value', value);\n }\n }\n\n}\n","import { PageElement } from '../../page-element';\n\nexport class AupPopupMenuPanel extends PageElement {\n\n}\n","import { ElementLocator } from '../../element-locator';\nimport { PageElement } from '../../page-element';\nimport { AupPopupMenuPanel } from './aup-popup-menu-panel';\n\nexport class AupAbstractPopupMenu extends PageElement {\n\n private popup: AupPopupMenuPanel;\n\n constructor(parent: PageElement, locator: ElementLocator) {\n super(parent, locator);\n this.popup = new AupPopupMenuPanel(this, p => this.findPopupIn(p));\n }\n\n protected findPopupIn(p: PageElement) {\n return this.getOverlay().find('.mat-menu-panel');\n }\n\n protected getOverlay() {\n return this.dom().closest('body').find('.cdk-overlay-container');\n }\n\n protected getBackdrop() {\n return this.getOverlay().find('.cdk-overlay-backdrop');\n }\n\n openPopup(): AupPopupMenuPanel {\n this.shouldNotBeOpen();\n this.click();\n return this.popup;\n }\n\n closePopup() {\n this.shouldBeOpen();\n this.getBackdrop().click();\n }\n\n shouldBeOpen() {\n this.popup.shouldBeVisible();\n }\n\n shouldNotBeOpen() {\n this.dom().closest('body').find('.mat-menu-panel').should(\"not.exist\");\n }\n\n\n}\n","import { ElementLocator } from '../../element-locator';\nimport { PageElement } from '../../page-element';\nimport { AupAbstractPopupMenu } from './aup-abstract-popup-menu';\n\nexport class AupMoreMenu extends AupAbstractPopupMenu {\n\n static create(parent: PageElement, selector?: string) {\n return new AupMoreMenu(parent, ElementLocator.findByCssSelector(selector ?? 'aup-more-menu'));\n }\n}\n","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).shouldNotExist();\n }\n}\n","import { PageElement } from '../../page-element';\nimport { AupAbstractTable } from '../aup-abstract-table';\nimport { AupTableRow } from './aup-table-row';\nimport Chainable = Cypress.Chainable;\n\nexport class AupTableCell<TR extends AupTableRow> extends PageElement<AupAbstractTable<TR>> {\n\n rowId(): Chainable<string> {\n return this.dom().closest('tr').invoke('attr', 'aup-row-id');\n }\n\n row(): TR {\n const self = this;\n return this.parent.createRow(parent => {\n return self.rowId().then(rowId => parent.dom().find(AupAbstractTable.cssSelectorForTableRowById(rowId)));\n });\n }\n}\n","import { PageElement } from '../../page-element';\nimport { AupAbstractTable } from '../aup-abstract-table';\nimport { AupTableCell } from './aup-table-cell';\nimport { AupTableRow } from './aup-table-row';\n\nexport class AupTableColumn<TR extends AupTableRow> extends PageElement<AupAbstractTable<TR>> {\n\n constructor(table: AupAbstractTable<any>, readonly columnId: string) {\n super(table, AupAbstractTable.cssSelectorForColumnCellRendererById(columnId));\n }\n\n cellContaining(content: string): AupTableCell<TR> {\n const self = this;\n return new AupTableCell(this.parent,parent => {\n return parent.dom().contains(AupAbstractTable.cssSelectorForColumnCellRendererById(self.columnId), content);\n });\n }\n\n rowContaining(content: string): TR {\n return this.cellContaining(content).row();\n }\n}\n","import { AupTableColumn } from './aup-table-column';\nimport { AupTableRow } from './aup-table-row';\n\nexport class AupTableSelectionColumn<TR extends AupTableRow> extends AupTableColumn<TR> {\n selectAll() {\n }\n}\n","/* tslint:disable:unified-signatures */\nimport { Memoize } from '@typescript-plus/fast-memoize-decorator/dist/src';\nimport * as _ from 'lodash';\nimport { ElementLocator } from '../element-locator';\nimport { PageElement } from '../page-element';\nimport { AupTableColumn } from './table/aup-table-column';\nimport { AupTableRow } from './table/aup-table-row';\nimport { AupTableSelectionColumn } from './table/aup-table-selection-column';\n\nexport abstract class AupAbstractTable<TR extends AupTableRow> extends PageElement {\n\n row(rowId: any): TR {\n return this.createRow(parent => {\n return parent.dom().find(AupAbstractTable.cssSelectorForTableRowById(rowId));\n });\n }\n\n rowNumber(rowNumber: number): TR {\n return this.createRow(parent => {\n return parent.dom().find(AupAbstractTable.cssSelectorForNthTableRow(rowNumber));\n });\n }\n\n column(columnId: string): AupTableColumn<TR> {\n return new AupTableColumn(this, columnId);\n }\n\n @Memoize()\n get selectionColumn(): AupTableSelectionColumn<TR> {\n return new AupTableSelectionColumn(this, 'selection-column');\n }\n\n abstract createRow(locator: ElementLocator): TR\n\n}\n\nexport namespace AupAbstractTable {\n\n\n export function cssSelectorForTableRowById(rowId: string) {\n return `tbody tr[aup-row-id=${rowId}]`;\n }\n\n export function cssSelectorForNthTableRow(rowNumber: number) {\n return `tbody tr:nth-child(${rowNumber})`;\n }\n\n export function cssSelectorForColumnCellRendererById(columnOrId: AupTableColumn<any> | string) {\n const columnId = _.isString(columnOrId) ? columnOrId : columnOrId.columnId;\n return `aup-table-cell-renderer[column-id=${columnId}]`;\n }\n\n export function cssSelectorForCell(rowId: string, columnOrId: string | AupTableColumn<any>) {\n return `${cssSelectorForTableRowById(rowId)} ${cssSelectorForColumnCellRendererById(columnOrId)}`;\n }\n\n}\n","/* tslint:disable:unified-signatures */\nimport { PageElement } from '../../page-element';\nimport { AupAbstractTable } from '../aup-abstract-table';\nimport { AupTableCell } from './aup-table-cell';\nimport { AupTableColumn } from './aup-table-column';\nimport { AupTableSelectionCell } from './aup-table-selection-cell';\nimport { AupTableSelectionColumn } from './aup-table-selection-column';\nimport Chainable = Cypress.Chainable;\n\nexport class AupTableRow extends PageElement<AupAbstractTable<any>> {\n\n rowId(): Chainable<string> {\n return this.dom()\n .invoke('attr', 'aup-row-id');\n }\n\n shouldHaveRowId(rowId: string) {\n this.rowId().should('eq', rowId);\n }\n\n cell(columnId: string): AupTableCell<this>\n cell(column: AupTableColumn<this>): AupTableCell<this>\n cell(column: AupTableSelectionColumn<this>): AupTableSelectionCell<this>\n cell(columnOrId: string | AupTableColumn<this>): AupTableCell<this> {\n const self = this;\n return new AupTableCell(this.parent, parent => {\n return self.rowId()\n .then(rowId => AupAbstractTable.cssSelectorForCell(rowId, columnOrId))\n .then(selector => parent.dom().find(selector));\n });\n }\n\n shouldBeSelected() {\n this.dom().should('have.class', 'aup-row-selected');\n }\n\n shouldNotBeSelected() {\n this.dom().should('not.have.class', 'aup-row-selected');\n }\n\n}\n","/* tslint:disable:unified-signatures */\nimport { ElementLocator } from '../element-locator';\nimport { AupAbstractTable } from './aup-abstract-table';\nimport { AupTableRow } from './table/aup-table-row';\n\nexport class AupTable extends AupAbstractTable<AupTableRow> {\n createRow(locator: ElementLocator): AupTableRow {\n return new AupTableRow(this, locator);\n }\n}\n","/* tslint:disable:unified-signatures */\nimport { Memoize } from '@typescript-plus/fast-memoize-decorator/dist/src';\nimport { ElementLocator } from '../element-locator';\nimport { AupAbstractTable } from './aup-abstract-table';\nimport { AupTableColumn } from './table/aup-table-column';\nimport { AupTableRow } from './table/aup-table-row';\n\nexport class AupTreeTable extends AupAbstractTable<AupTreeTable.Row> {\n\n @Memoize()\n get treeControlColumn(): AupTreeTable.TreeControlColumn {\n return new AupTreeTable.TreeControlColumn(this, 'tree-label');\n }\n\n createRow(locator: ElementLocator): AupTreeTable.Row {\n return new AupTreeTable.Row(this, locator);\n }\n\n}\n\nexport namespace AupTreeTable {\n\n export class Row extends AupTableRow {\n shouldBeExpanded() {\n this.dom().should(\"not.have.class\", \"aup-node-collapsed\")\n }\n shouldBeCollapsed() {\n this.dom().should(\"have.class\", \"aup-node-collapsed\")\n }\n }\n\n export class TreeControlColumn extends AupTableColumn<Row> {\n }\n\n}\n","import { Constructable } from '@coolon/typescript-utilities';\nimport { PageElement } from '../page-element';\n\nexport function FormElementMixin<T, BC extends Constructable<PageElement>>(Base: BC) {\n return class extends Base {\n constructor(...args: any[]) {\n super(...args);\n }\n\n shouldBeDisabled() {\n this.should(\"be.disabled\");\n }\n\n };\n}\n","import { ElementLocator } from '../element-locator';\nimport { PageElement } from '../page-element';\nimport { FormElementMixin } from './form-element-mixin';\n\nexport class Button extends FormElementMixin(PageElement) {\n\n constructor(parentElementAccessor: PageElement, buttonText: string) {\n super(parentElementAccessor, ElementLocator.findBySelectorAndTextContent('button', buttonText));\n }\n\n}\n\n","import { ElementLocator } from '../element-locator';\nimport { PageElement } from '../page-element';\nimport { FormElementMixin } from './form-element-mixin';\n\nexport class MatCheckbox extends FormElementMixin(PageElement) {\n\n constructor(parentElementAccessor: PageElement, text: string) {\n super(parentElementAccessor, ElementLocator.findBySelectorAndTextContent('mat-checkbox', text));\n }\n\n shouldBeChecked() {\n this.hiddenCheckBoxElement().should('be.checked');\n }\n\n shouldNotBeChecked() {\n this.hiddenCheckBoxElement().should('not.be.checked');\n }\n\n hiddenCheckBoxElement() {\n return this.dom().find('input[type=checkbox]');\n }\n\n check() {\n this.hiddenCheckBoxElement().then(el => {\n if (!el.prop('checked')) {\n this.click();\n this.shouldBeChecked();\n }\n });\n }\n\n uncheck() {\n this.hiddenCheckBoxElement().then(el => {\n if (el.prop('checked')) {\n this.click();\n this.shouldNotBeChecked();\n }\n })\n }\n\n}\n\n","import { E, T } from '@angular/cdk/keycodes';\nimport { Constructable } from '@coolon/pectin';\nimport { lang, Mixin as CreateMixin } from '@coolon/typescript-utilities';\nimport * as _ from 'lodash';\nimport { AupCommand } from './components/aup-command';\nimport { AupEmptyState } from './components/aup-empty-state';\nimport { AupInput } from './components/aup-input';\nimport { AupMoreMenu } from './components/popup/aup-more-menu';\nimport { AupNavigation } from './components/aup-navigation';\nimport { AupTable } from './components/aup-table';\nimport { AupTreeTable } from './components/aup-tree-table';\nimport { Button } from './components/button';\nimport { MatCheckbox } from './components/mat-checkbox';\nimport { Types } from './components/types';\nimport { ElementLocator } from './element-locator';\nimport { PageElement } from './page-element';\n\nexport class Builder {\n\n constructor(readonly parentPageElement: PageElement) {\n }\n\n find(selector: string): PageElement {\n return new PageElement(this.parentPageElement, selector);\n }\n\n section<T extends object>(selector: string, builder: Builder.ContainerCallback<T>): T & PageElement {\n return this.component(PageElement, selector, builder);\n }\n\n contains(text: string): PageElement {\n return new PageElement(this.parentPageElement, ElementLocator.findByTextContent(text));\n }\n\n button(text: string): Button {\n return new Button(this.parentPageElement, text);\n }\n\n matCheckbox(text: string): MatCheckbox {\n return new MatCheckbox(this.parentPageElement, text);\n }\n\n aupStringInput(selector?: string): AupInput<string> {\n return new AupInput.HtmlInput(this.parentPageElement, selector ?? 'aup-string-input');\n }\n\n aupTextInput(selector?: string): AupInput<string> {\n return new AupInput.TextAreaInput(this.parentPageElement, selector ?? 'aup-text-input');\n }\n\n aupPasswordInput(selector?: string): AupInput<string> {\n return new AupInput.HtmlInput(this.parentPageElement, selector ?? 'aup-password-input');\n }\n\n aupNumberInput(selector?: string): AupInput<number> {\n return new AupInput.HtmlInput(this.parentPageElement, selector ?? 'aup-number-input');\n }\n\n aupCommand(selector: string): AupCommand\n // tslint:disable-next-line:unified-signatures\n aupCommand(face: Types.CommandFace): AupCommand\n aupCommand(faceOrSelector: string | Types.CommandFace): AupCommand {\n return new AupCommand(this.parentPageElement, faceOrSelector);\n }\n\n aupTabbedNavigation<T extends object>(): AupNavigation {\n return new AupNavigation(this.parentPageElement, 'aup-tabbed-place-navigation');\n }\n\n aupSideNavigation<T extends object>(): AupNavigation {\n return new AupNavigation(this.parentPageElement, 'aup-list-place-nav');\n }\n\n aupMoreMenu<T extends object>(selector?: string): AupMoreMenu {\n return AupMoreMenu.create(this.parentPageElement, selector);\n }\n\n aupTable(selector?: string): AupTable\n aupTable<T extends object>(builder: Builder.ContainerCallback<T, AupTable>): AupTable & T\n aupTable<T extends object>(selector: string, builder: Builder.ContainerCallback<T, AupTable>): AupTable & T\n aupTable<T extends object>(selectorOrBuilder?: string | Builder.ContainerCallback<T, AupTable>,\n optionalBuilder?: Builder.ContainerCallback<T, AupTable>): AupTable & T {\n return this.component(AupTable, selectorOrBuilder, optionalBuilder);\n }\n\n aupTreeTable(selector?: string): AupTreeTable\n aupTreeTable<T extends object>(builder: Builder.ContainerCallback<T, AupTreeTable>): AupTreeTable & T\n aupTreeTable<T extends object>(selector: string, builder: Builder.ContainerCallback<T, AupTreeTable>): AupTreeTable & T\n aupTreeTable<T extends object>(selectorOrBuilder?: string | Builder.ContainerCallback<T, AupTreeTable>,\n optionalBuilder?: Builder.ContainerCallback<T, AupTreeTable>): AupTreeTable & T {\n return this.component(AupTreeTable, selectorOrBuilder, optionalBuilder);\n }\n\n aupEmptyState(selector?: string): AupEmptyState\n aupEmptyState<T extends object>(builder: Builder.ContainerCallback<T, AupEmptyState>): AupEmptyState & T\n aupEmptyState<T extends object>(selector: string,\n builder: Builder.ContainerCallback<T, AupEmptyState>): AupEmptyState & T\n aupEmptyState<T extends object>(selectorOrBuilder?: string | Builder.ContainerCallback<T, AupEmptyState>,\n optionalBuilder?: Builder.ContainerCallback<T, AupEmptyState>): AupEmptyState & T {\n return this.component(AupEmptyState, selectorOrBuilder, optionalBuilder);\n }\n\n component<E extends PageElement>(klass: Constructable<E>, selector: string): E\n component<T extends object, E extends PageElement>(klass: Constructable<E>, builder: Builder.ContainerCallback<T, E>): E & T\n component<T extends object, E extends PageElement>(klass: Constructable<E>, selector: string, builder: Builder.ContainerCallback<T, E>): E & T\n component<T extends object, E extends PageElement>(klass: Constructable<E>, selectorOrBuilder?: string | Builder.ContainerCallback<T, E>, optionalBuilder?: Builder.ContainerCallback<T, E>): E & T\n component<T extends object, E extends PageElement>(klass: Constructable<E>, selectorOrBuilder?: string | Builder.ContainerCallback<T, E>, optionalBuilder?: Builder.ContainerCallback<T, E>): E & T {\n\n const selector = _.isString(selectorOrBuilder) ? selectorOrBuilder : undefined;\n const builder = _.isFunction(selectorOrBuilder) ? selectorOrBuilder : optionalBuilder;\n\n const element = new klass(this.parentPageElement, selector);\n\n if (builder) {\n // create the B&E type that the builder has access to\n const decoratedElement = CreateMixin.createProxy(element, new Builder(element));\n // create final type that has the E & T type\n return CreateMixin.createProxy(decoratedElement, builder(decoratedElement));\n } else {\n return element as E & T;\n }\n }\n\n}\n\n\nexport namespace Builder {\n export type ElementCallback<T, E extends PageElement = PageElement> = (section: E) => T;\n export type ContainerCallback<T, E extends PageElement = PageElement, B extends Builder = Builder> = (section: B & E) => T;\n}\n","import { Builder } from '../builder';\nimport { ElementLocator } from '../element-locator';\nimport { PageElement } from '../page-element';\nimport { AupCommand } from './aup-command';\n\nexport class AupAbstractActivity extends PageElement {\n\n protected _confirmCommand: AupCommand;\n protected _cancelCommand: AupCommand;\n\n readonly title: PageElement;\n\n constructor(parent: PageElement, selector: string | ElementLocator) {\n // @ts-ignore\n super(parent, selector);\n this.title = this.find('aup-activity-title');\n this._confirmCommand = new Builder(this).aupCommand('[data-cy=confirm-command]');\n this._cancelCommand = new Builder(this).aupCommand('[data-cy=cancel-command]');\n }\n\n}\n","import { ElementLocator } from '../element-locator';\nimport { PageElement } from '../page-element';\nimport { AupAbstractActivity } from './aup-abstract-activity';\nimport { AupCommand } from './aup-command';\n\nexport class AupAlert extends AupAbstractActivity {\n\n constructor(parent: PageElement, selector: string | ElementLocator) {\n super(parent, selector);\n }\n\n get closeCommand(): AupCommand {\n return this._confirmCommand;\n }\n\n clickClose() {\n this.closeCommand.click();\n }\n\n}\n","import { Constructable } from '@coolon/pectin';\nimport { ElementLocator } from '../element-locator';\nimport { PageElement } from '../page-element';\n\nexport function AupModalMixin<T, BC extends Constructable<PageElement>>(Base: BC) {\n return class extends Base {\n constructor(...args: any[]) {\n super(...args);\n }\n\n getDefaultElementLocator(): ElementLocator {\n return (parent: PageElement) => {\n return parent.dom().closest('body').find(this.getDefaultElementSelector());\n };\n }\n\n clickBackdrop() {\n this.dom()\n .closest(`.cdk-overlay-container`)\n .find(`.cdk-overlay-backdrop`).click(-50, -50, { force: true });\n }\n\n };\n}\n","import { ElementLocator } from '../element-locator';\nimport { PageElement } from '../page-element';\nimport { AupAlert } from './aup-alert';\nimport { AupModalMixin } from './aup-modal-mixin';\n\nexport class AupAlertDialog extends AupModalMixin(AupAlert) {\n\n constructor(parent: PageElement, selector: string | ElementLocator) {\n super(parent, selector);\n }\n\n}\n","import { ElementLocator } from '../element-locator';\nimport { PageElement } from '../page-element';\nimport { AupAbstractActivity } from './aup-abstract-activity';\nimport { AupCommand } from './aup-command';\n\nexport class AupConfirm extends AupAbstractActivity {\n\n constructor(parent: PageElement, selector: string | ElementLocator) {\n super(parent, selector);\n }\n\n get confirmCommand(): AupCommand {\n return this._confirmCommand;\n }\n\n clickConfirm() {\n this.confirmCommand.click();\n }\n\n get cancelCommand(): AupCommand {\n return this._cancelCommand;\n }\n\n clickCancel() {\n this.cancelCommand.click();\n }\n\n}\n","import { ElementLocator } from '../element-locator';\nimport { PageElement } from '../page-element';\nimport { AupAlert } from './aup-alert';\nimport { AupConfirm } from './aup-confirm';\nimport { AupModalMixin } from './aup-modal-mixin';\n\nexport class AupConfirmDialog extends AupModalMixin(AupConfirm) {\n\n constructor(parent: PageElement, selector: string | ElementLocator) {\n super(parent, selector);\n }\n\n}\n","import { ElementLocator } from '../element-locator';\nimport { PageElement } from '../page-element';\nimport { AupAbstractActivity } from './aup-abstract-activity';\nimport { AupCommand } from './aup-command';\n\nexport class AupActivity extends AupAbstractActivity {\n\n constructor(parent: PageElement, selector: string | ElementLocator) {\n super(parent, selector);\n }\n\n get confirmCommand(): AupCommand {\n return this._confirmCommand;\n }\n\n get cancelCommand(): AupCommand {\n return this._cancelCommand;\n }\n\n}\n","import { AupActivity } from './aup-activity';\nimport { AupModalMixin } from './aup-modal-mixin';\n\nexport class AupModalActivity extends AupModalMixin(AupActivity) {\n\n}\n","import { Builder } from './builder';\nimport { AupAlertDialog } from './components/aup-alert-dialog';\nimport { AupConfirmDialog } from './components/aup-confirm-dialog';\nimport { AupModalActivity } from './components/aup-modal-activity';\n\nexport class PageBuilder extends Builder {\n\n\n aupModalActivity<T extends object>(selector: string, builder: Builder.ContainerCallback<T, AupModalActivity>): T & AupModalActivity {\n return this.component(AupModalActivity, builder);\n }\n\n aupModalAlert<T extends object>(builder?: Builder.ContainerCallback<T, AupAlertDialog>): T & AupAlertDialog {\n return this.component(AupAlertDialog, builder);\n }\n\n aupModelConfirm<T extends object>(builder?: Builder.ContainerCallback<T, AupConfirmDialog>): T & AupConfirmDialog {\n return this.component(AupConfirmDialog, builder);\n }\n}\n","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 const urlSegments = urlTree.root.children.primary?.segments ?? [];\n urlSegments?.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","import { Mixin } from '@coolon/typescript-utilities';\nimport * as _ from 'lodash';\nimport { Builder } from './builder';\nimport { PageBuilder } from './page-builder';\nimport { PageElement } from './page-element';\nimport { Path } from './path';\n\nexport class Page extends PageElement {\n\n protected rootElementSelector = 'body';\n\n constructor(readonly path: Path) {\n super(undefined, undefined);\n }\n\n dom(): 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 export function create<T extends object>(path: string, builder: Builder.ContainerCallback<T, Page, PageBuilder>): T & Page\n // tslint:disable-next-line:unified-signatures\n export function create<T extends object>(pathBuilder: ((pathBuilder: Path.Builder) => void), builder: Builder.ContainerCallback<T, Page, PageBuilder>): T & Page\n export function create<T extends object>(pathOrPathBuilder: string | ((pathBuilder: Path.Builder) => void), builder: Builder.ContainerCallback<T, Page, PageBuilder>): 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 instance = new Page(pathBuilder.getPath());\n const content = builder.call(instance, new PageBuilder(instance));\n return Mixin.createProxy(content, instance) as T & Page;\n }\n}\n","import { PageElement } from '../page-element';\n\nexport class AupCommandGroup extends PageElement {\n\n}\n","\nimport { PageElement } from '../page-element';\nimport { Types } from './types';\n\nexport class AupToolBar extends PageElement {\n\n static create(parent: PageElement, face: Types.CommandFace) {\n // const findFace = AupCommandFace.createFinder(() => parent.element(), face)\n // return new AupCommandGroup(() => findFace().closest('button'));\n }\n}\n","import { lang } from '@coolon/typescript-utilities';\nimport { PageElement } from '../../page-element';\nimport { AupCommandFace } from '../aup-command-face';\nimport { Types } from '../types';\nimport { AupAbstractPopupMenu } from './aup-abstract-popup-menu';\n\nexport class AupPopupMenu extends AupAbstractPopupMenu {\n\n constructor(parentElementAccessor: PageElement, face: Types.CommandFace) {\n const locator = AupCommandFace.createElementLocator(face)\n super(parentElementAccessor, parent => locator(parent).closest('button'));\n }\n\n static create(parent: PageElement, face: Types.CommandFace) {\n return new AupPopupMenu(parent, face);\n }\n}\n","import { AupTableCell } from './aup-table-cell';\nimport { AupTableRow } from './aup-table-row';\n\nexport class AupTableSelectionCell<TR extends AupTableRow> extends AupTableCell<TR> {\n selectAll() {\n }\n}\n","/**\n * @file Automatically generated by barrelsby.\n */\n\nexport * from \"./builder\";\nexport * from \"./element-locator\";\nexport * from \"./page-builder\";\nexport * from \"./page-element\";\nexport * from \"./page\";\nexport * from \"./path\";\nexport * from \"./components/aup-abstract-activity\";\nexport * from \"./components/aup-abstract-table\";\nexport * from \"./components/aup-activity\";\nexport * from \"./components/aup-alert-dialog\";\nexport * from \"./components/aup-alert\";\nexport * from \"./components/aup-command-face\";\nexport * from \"./components/aup-command-group\";\nexport * from \"./components/aup-command\";\nexport * from \"./components/aup-confirm-dialog\";\nexport * from \"./components/aup-confirm\";\nexport * from \"./components/aup-empty-state\";\nexport * from \"./components/aup-input\";\nexport * from \"./components/aup-modal-activity\";\nexport * from \"./components/aup-modal-mixin\";\nexport * from \"./components/aup-navigation\";\nexport * from \"./components/aup-table\";\nexport * from \"./components/aup-tool-bar\";\nexport * from \"./components/aup-tree-table\";\nexport * from \"./components/button\";\nexport * from \"./components/form-element-mixin\";\nexport * from \"./components/mat-checkbox\";\nexport * from \"./components/types\";\nexport * from \"./components/popup/aup-abstract-popup-menu\";\nexport * from \"./components/popup/aup-more-menu\";\nexport * from \"./components/popup/aup-popup-menu-panel\";\nexport * from \"./components/popup/aup-popup-menu\";\nexport * from \"./components/table/aup-table-cell\";\nexport * from \"./components/table/aup-table-column\";\nexport * from \"./components/table/aup-table-row\";\nexport * from \"./components/table/aup-table-selection-cell\";\nexport * from \"./components/table/aup-table-selection-column\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './exports';\n\nexport {Types as ɵa} from './components/types';"],"names":["CreateMixin"],"mappings":"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"}
|