@coolon/angular-ui-powerups 12.4.0-alpha.0 → 12.4.0-alpha.10

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.
Files changed (90) hide show
  1. package/assets/empty-state.scss +11 -0
  2. package/assets/styles.scss +1 -0
  3. package/bundles/coolon-angular-ui-powerups-cypress.umd.js +382 -263
  4. package/bundles/coolon-angular-ui-powerups-cypress.umd.js.map +1 -1
  5. package/bundles/coolon-angular-ui-powerups.umd.js +241 -251
  6. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
  7. package/coolon-angular-ui-powerups.metadata.json +1 -1
  8. package/cypress/builder.d.ts +48 -0
  9. package/cypress/components/aup-abstract-activity.d.ts +8 -0
  10. package/cypress/components/aup-activity.d.ts +8 -0
  11. package/cypress/components/aup-alert.d.ts +8 -0
  12. package/cypress/components/aup-command-face.d.ts +7 -0
  13. package/cypress/components/aup-command.d.ts +6 -18
  14. package/cypress/components/aup-empty-state.d.ts +3 -0
  15. package/cypress/components/aup-input.d.ts +8 -8
  16. package/cypress/components/aup-modal-activity.d.ts +4 -0
  17. package/cypress/components/aup-modal-alert.d.ts +6 -0
  18. package/cypress/components/aup-table.d.ts +1 -2
  19. package/cypress/components/button-mixin.d.ts +3 -1
  20. package/cypress/components/button.d.ts +4 -2
  21. package/cypress/coolon-angular-ui-powerups-cypress.metadata.json +1 -1
  22. package/cypress/exports.d.ts +8 -1
  23. package/cypress/page-builder.d.ts +10 -0
  24. package/cypress/page-element.d.ts +5 -2
  25. package/cypress/page.d.ts +10 -32
  26. package/cypress/path.d.ts +1 -1
  27. package/esm2015/cypress/builder.js +80 -0
  28. package/esm2015/cypress/builder.js.map +1 -0
  29. package/esm2015/cypress/builder.metadata.json +1 -0
  30. package/esm2015/cypress/components/aup-abstract-activity.js +11 -0
  31. package/esm2015/cypress/components/aup-abstract-activity.js.map +1 -0
  32. package/esm2015/cypress/components/aup-abstract-activity.metadata.json +1 -0
  33. package/esm2015/cypress/components/aup-activity.js +13 -0
  34. package/esm2015/cypress/components/aup-activity.js.map +1 -0
  35. package/esm2015/cypress/components/aup-activity.metadata.json +1 -0
  36. package/esm2015/cypress/components/aup-alert.js +13 -0
  37. package/esm2015/cypress/components/aup-alert.js.map +1 -0
  38. package/esm2015/cypress/components/aup-alert.metadata.json +1 -0
  39. package/esm2015/cypress/components/aup-command-face.js +20 -18
  40. package/esm2015/cypress/components/aup-command-face.js.map +1 -1
  41. package/esm2015/cypress/components/aup-command-face.metadata.json +1 -1
  42. package/esm2015/cypress/components/aup-command.js +25 -9
  43. package/esm2015/cypress/components/aup-command.js.map +1 -1
  44. package/esm2015/cypress/components/aup-command.metadata.json +1 -1
  45. package/esm2015/cypress/components/aup-empty-state.js +4 -0
  46. package/esm2015/cypress/components/aup-empty-state.js.map +1 -0
  47. package/esm2015/cypress/components/aup-empty-state.metadata.json +1 -0
  48. package/esm2015/cypress/components/aup-input.js +7 -7
  49. package/esm2015/cypress/components/aup-input.js.map +1 -1
  50. package/esm2015/cypress/components/aup-modal-activity.js +7 -0
  51. package/esm2015/cypress/components/aup-modal-activity.js.map +1 -0
  52. package/esm2015/cypress/components/aup-modal-activity.metadata.json +1 -0
  53. package/esm2015/cypress/components/aup-modal-alert.js +12 -0
  54. package/esm2015/cypress/components/aup-modal-alert.js.map +1 -0
  55. package/esm2015/cypress/components/aup-modal-alert.metadata.json +1 -0
  56. package/esm2015/cypress/components/aup-table.js.map +1 -1
  57. package/esm2015/cypress/components/aup-table.metadata.json +1 -1
  58. package/esm2015/cypress/components/button.js.map +1 -1
  59. package/esm2015/cypress/components/button.metadata.json +1 -1
  60. package/esm2015/cypress/exports.js +8 -1
  61. package/esm2015/cypress/exports.js.map +1 -1
  62. package/esm2015/cypress/exports.metadata.json +1 -1
  63. package/esm2015/cypress/page-builder.js +20 -0
  64. package/esm2015/cypress/page-builder.js.map +1 -0
  65. package/esm2015/cypress/page-builder.metadata.json +1 -0
  66. package/esm2015/cypress/page-element.js +9 -3
  67. package/esm2015/cypress/page-element.js.map +1 -1
  68. package/esm2015/cypress/page-element.metadata.json +1 -1
  69. package/esm2015/cypress/page.js +13 -14
  70. package/esm2015/cypress/page.js.map +1 -1
  71. package/esm2015/cypress/page.metadata.json +1 -1
  72. package/esm2015/cypress/path.js +5 -3
  73. package/esm2015/cypress/path.js.map +1 -1
  74. package/esm2015/lib/components/empty-state/empty-state.component.js +1 -1
  75. package/esm2015/lib/components/empty-state/empty-state.component.metadata.json +1 -1
  76. package/esm2015/lib/place/navigation/place-component-deactivation-handler.js +3 -9
  77. package/esm2015/lib/place/navigation/place-component-deactivation-handler.js.map +1 -1
  78. package/esm2015/lib/place/navigation/place-component-deactivation-handler.metadata.json +1 -1
  79. package/esm2015/lib/place/url-snapshot.js +1 -7
  80. package/esm2015/lib/place/url-snapshot.js.map +1 -1
  81. package/esm2015/lib/place/url-snapshot.metadata.json +1 -1
  82. package/fesm2015/coolon-angular-ui-powerups-cypress.js +284 -169
  83. package/fesm2015/coolon-angular-ui-powerups-cypress.js.map +1 -1
  84. package/fesm2015/coolon-angular-ui-powerups.js +225 -235
  85. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  86. package/package.json +1 -1
  87. package/cypress/section.d.ts +0 -49
  88. package/esm2015/cypress/section.js +0 -58
  89. package/esm2015/cypress/section.js.map +0 -1
  90. package/esm2015/cypress/section.metadata.json +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"coolon-angular-ui-powerups-cypress.js","sources":["../../../../libs/angular-ui-powerups/cypress/src/page-element.ts","../../../../libs/angular-ui-powerups/cypress/src/path.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-command-face.ts","../../../../libs/angular-ui-powerups/cypress/src/components/button-mixin.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-command.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-input.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-navigation.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-table.ts","../../../../libs/angular-ui-powerups/cypress/src/components/button.ts","../../../../libs/angular-ui-powerups/cypress/src/section.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-more-menu.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-popup-menu.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-tool-bar.ts","../../../../libs/angular-ui-powerups/cypress/src/exports.ts","../../../../libs/angular-ui-powerups/cypress/src/coolon-angular-ui-powerups-cypress.ts"],"sourcesContent":["import Chainable = Cypress.Chainable;\nimport * as _ from 'lodash';\nimport { lang } from '@coolon/typescript-utilities';\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.element().should;\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 shouldNotExist?(parent: Cypress.Chainable<JQuery>);\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 urlTree.root.children.primary.segments.forEach(s => {\n result = { ...result, ...s.parameters }\n });\n return result;\n }\n\n toUrl(params: object): string {\n return this.segments.map(s => s.toUrlPart(params)).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 { lang } from '@coolon/typescript-utilities';\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.element(), AupCommandFace.createAccessor(face));\n }\n\n static createAccessor(face: Types.CommandFace): PageElement.Accessor {\n // AOT barfs if we return a lambda\n const accessor = {\n findIn(parent: Cypress.Chainable<JQuery>): Cypress.Chainable<JQuery> {\n return face.text ?\n parent.contains(`aup-command-face`, face.text()) :\n face.icon ?\n parent.find(`aup-icon[ng-reflect-icon=${face.icon()}]`).closest('aup-command-face') :\n undefined;\n },\n shouldNotExist(parent: Cypress.Chainable<JQuery>) {\n return face.text ?\n parent.should(\"not.contain\", `aup-command-face`, face.text()) :\n face.icon ?\n parent.should(\"not.contain\", `aup-icon[ng-reflect-icon=${face.icon()}]`) :\n undefined;\n }\n };\n return accessor;\n }\n}\n\n","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","import { lang } from '@coolon/typescript-utilities';\nimport { PageElement } from '../page-element';\nimport { AupCommandFace } from './aup-command-face';\nimport { ButtonMixin } from './button-mixin';\nimport { Types } from './types';\n\nexport class AupCommand extends ButtonMixin(PageElement) {\n\n constructor(parentElementAccessor: () => Cypress.Chainable<JQuery>, face: Types.CommandFace) {\n const faceAccessor = AupCommandFace.createAccessor(face);\n super(parentElementAccessor, {\n findIn(parent: Cypress.Chainable<JQuery>): Cypress.Chainable<JQuery> {\n return faceAccessor.findIn(parent).closest(\"aup-command\");\n }\n });\n }\n \n get should() {\n return this.element().find('button').should;\n }\n\n}\n\n","import { PageElement } from '../page-element';\n\nexport abstract class AupInput<T> extends PageElement {\n\n label() {\n return this.element().find('label');\n }\n\n hint() {\n return this.element().find('mat-hint');\n }\n\n error() {\n return this.element().find('mat-error');\n }\n\n get labelShould() {\n return this.label().should\n }\n\n get hintShould() {\n return this.hint().should\n }\n\n get errorShould() {\n return this.error().should\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 abstract clear();\n\n abstract setValue(value: T);\n\n}\n\nexport namespace AupInput {\n export class HtmlInput<T> extends AupInput<T> {\n input() {\n return this.element().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 get should() {\n return this.input().should;\n }\n\n }\n\n export class TextAreaInput<T> extends AupInput<T> {\n\n get should() {\n return this.input().should;\n }\n\n input() {\n return this.element().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';\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","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","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","import { Constructable } from '@coolon/pectin';\nimport { Mixin as CreateMixin } from '@coolon/typescript-utilities';\nimport { AupCommand } from './components/aup-command';\nimport { AupInput } from './components/aup-input';\nimport { AupNavigation } from './components/aup-navigation';\nimport { AupTable } from './components/aup-table';\nimport { Button } from './components/button';\nimport { Types } from './components/types';\nimport { PageElement } from './page-element';\n\nexport interface Section {\n section<T extends object>(selector: string, section: (section: Section) => T): T & PageElement;\n\n find(selector: string): PageElement;\n\n contains(text: string): PageElement;\n\n button(text: string): Button;\n\n aupStringInput(selector?: string): AupInput<string>;\n\n aupTextInput(selector?: string): AupInput<string>;\n\n aupPasswordInput(selector?: string): AupInput<string>;\n\n aupNumberInput(selector?: string): AupInput<number>;\n\n aupCommand(face: Types.CommandFace): AupCommand;\n\n // aupToolbar<T extends object>(builder: () => T): AupToolBar & T\n //\n // aupToolbar<T extends object>(selector: string, builder: () => T): AupToolBar & T\n //\n // aupToolbar<T extends object>(selectorOrBuilder: string | (() => T), builder?: () => T): AupToolBar & T\n //\n // aupPopupMenu<T extends object>(face: CommandFace, builder: () => T): AupPopupMenu & T\n\n aupTabbedNavigation<T extends object>(): AupNavigation;\n aupSideNavigation<T extends object>(): AupNavigation;\n aupTable(selector?: string):AupTable;\n\n}\n\n\nexport namespace Section {\n\n export function Mixin<BC extends Constructable<PageElement>>(Base: BC) {\n\n return class extends Base implements Section {\n\n section<T extends object>(selector: string, section: (section: Section) => T): T & PageElement {\n const impl = new Impl(() => this.element(), selector);\n return CreateMixin.createProxy(section(impl), impl);\n }\n\n find(selector: string): PageElement {\n return new PageElement(() => this.element(), selector);\n }\n\n contains(text: string): PageElement {\n return new PageElement(() => this.element(), {\n findIn: parent => parent.contains(text),\n shouldNotExist: (parent: Cypress.Chainable<JQuery>) => parent.should(\"not.contain\", text)\n });\n }\n\n button(text: string): Button {\n return new Button(() => this.element(), text);\n }\n\n aupStringInput(selector?: string): AupInput<string> {\n return new AupInput.HtmlInput(() => this.element(), selector ?? 'aup-string-input');\n }\n\n aupTextInput(selector?: string): AupInput<string> {\n return new AupInput.TextAreaInput(() => this.element(), selector ?? 'aup-text-input');\n }\n\n aupPasswordInput(selector?: string): AupInput<string> {\n return new AupInput.HtmlInput(() => this.element(), selector ?? 'aup-password-input');\n }\n\n aupNumberInput(selector?: string): AupInput<number> {\n return new AupInput.HtmlInput(() => this.element(), selector ?? 'aup-number-input');\n }\n\n aupCommand(face: Types.CommandFace): AupCommand {\n return new AupCommand(() => this.element(), face);\n }\n\n aupTabbedNavigation<T extends object>(): AupNavigation {\n return new AupNavigation(() => this.element(), 'aup-tabbed-place-navigation');\n }\n\n aupSideNavigation<T extends object>(): AupNavigation {\n return new AupNavigation(() => this.element(), 'aup-list-place-nav');\n }\n\n aupTable(selector?: string):AupTable {\n return new AupTable(() => this.element(), selector ?? 'aup-table');\n }\n\n // aupToolbar<T extends object>(builder: () => T): AupToolBar\n // aupToolbar<T extends object>(selector: string, builder: () => T): AupToolBar\n // aupToolbar<T extends object>(selectorOrBuilder: string | (() => T), builder?: () => T): AupToolBar {\n // return lang.notImplemented();\n // }\n //\n // aupPopupMenu<T extends object>(face: CommandFace, builder: () => T): AupPopupMenu & T {\n // return lang.notImplemented();\n // }\n //\n // aupMoreMenu<T extends object>(builder: () => T): AupPopupMenu & T {\n // return lang.notImplemented();\n // }\n\n };\n }\n\n class Impl extends Mixin(PageElement) {\n }\n\n\n}\n","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(params?: object) {\n this.tryAndVisit(params);\n this.shouldBeActive(params);\n }\n\n tryAndVisit(params?: object) {\n cy.visit(\"/\" + this.path.toUrl(params ?? {}));\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.window().then(window => {\n cy['waitUntil'](() => {\n return window['aup.PlaceRouter'] && !window['aup.PlaceRouter'].isNavigating();\n });\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","import { PageElement } from '../page-element';\n\nexport class AupCommandGroup extends PageElement {\n\n}\n","import { PageElement } from '../page-element';\n\nexport class AupMoreMenu extends PageElement {\n\n static create(parent: PageElement) {\n return new AupMoreMenu(parent, 'aup-more-menu');\n }\n}\n","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","\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","/**\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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './exports';\n\nexport {Types as ɵa} from './components/types';"],"names":["Mixin","CreateMixin"],"mappings":"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"}
1
+ {"version":3,"file":"coolon-angular-ui-powerups-cypress.js","sources":["../../../../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/aup-navigation.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-table.ts","../../../../libs/angular-ui-powerups/cypress/src/components/button-mixin.ts","../../../../libs/angular-ui-powerups/cypress/src/components/button.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-activity.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-modal-activity.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-alert.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-modal-alert.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-more-menu.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-popup-menu.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-tool-bar.ts","../../../../libs/angular-ui-powerups/cypress/src/exports.ts","../../../../libs/angular-ui-powerups/cypress/src/coolon-angular-ui-powerups-cypress.ts"],"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.ParentLocator, 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.find(selector).should('not.exist')\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\n export type ParentLocator = PageElement | (() => Cypress.Chainable<JQuery>);\n\n export interface Accessor {\n findIn(parent: Cypress.Chainable<JQuery>): Cypress.Chainable<JQuery>;\n\n shouldNotExist?(parent: Cypress.Chainable<JQuery>);\n }\n}\n","import { PageElement } from '../page-element';\nimport { Types } from './types';\n\nexport class FaceAccessor implements PageElement.Accessor{\n constructor(readonly face: Types.CommandFace) {\n }\n findIn(parent: Cypress.Chainable<JQuery>): Cypress.Chainable<JQuery> {\n return this.face.text ?\n parent.contains(`aup-command-face`, this.face.text()) :\n this.face.icon ?\n parent.find(`aup-icon[ng-reflect-icon=${this.face.icon()}]`).closest('aup-command-face') :\n undefined;\n }\n shouldNotExist(parent: Cypress.Chainable<JQuery>) {\n return this.face.text ?\n parent.should('not.contain', `aup-command-face`, this.face.text()) :\n this.face.icon ?\n parent.should('not.contain', `aup-icon[ng-reflect-icon=${this.face.icon()}]`) :\n undefined;\n }\n}\n\nexport class AupCommandFace extends PageElement {\n\n constructor(parentElement: PageElement, face: Types.CommandFace) {\n super(() => parentElement.element(), AupCommandFace.createAccessor(face));\n }\n\n static createAccessor(face: Types.CommandFace): PageElement.Accessor {\n return new FaceAccessor(face);\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 | (() => Cypress.Chainable<JQuery>), faceOrSelector: string | Types.CommandFace) {\n super(parent, {\n findIn(parentElement: Cypress.Chainable<JQuery>): Cypress.Chainable<JQuery> {\n if (_.isString(faceOrSelector)) {\n return parentElement.find(faceOrSelector);\n } else {\n return AupCommandFace.createAccessor(faceOrSelector).findIn(parentElement).closest('aup-command');\n }\n },\n shouldNotExist(parentElement: Cypress.Chainable<JQuery>) {\n this.findIn(parentElement).should(\"not.exist\");\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.element().find('button');\n }\n\n}\n\n","import { PageElement } from '../page-element';\n\nexport class AupEmptyState extends PageElement {\n\n}\n","import { PageElement } from '../page-element';\n\nexport abstract class AupInput<T> extends PageElement {\n\n label() {\n return this.element().find('label');\n }\n\n hint() {\n return this.element().find('mat-hint');\n }\n\n error() {\n return this.element().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 abstract clear();\n\n abstract setValue(value: T);\n\n}\n\nexport namespace AupInput {\n export class HtmlInput<T> extends AupInput<T> {\n input() {\n return this.element().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.element().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';\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","import { PageElement } from '../page-element';\nimport { Builder } from '../builder';\n\nexport class AupTable extends PageElement {\n\n constructor(parentElementAccessor: PageElement.ParentLocator, 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","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","import { PageElement } from '../page-element';\nimport { ButtonMixin } from './button-mixin';\n\nexport class Button extends ButtonMixin(PageElement) {\n\n constructor(parentElementAccessor: PageElement.ParentLocator, 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","import { 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 { AupNavigation } from './components/aup-navigation';\nimport { AupTable } from './components/aup-table';\nimport { Button } from './components/button';\nimport { Types } from './components/types';\nimport { PageElement } from './page-element';\n\nexport class Builder {\n\n private _sectionFactory: Builder.FactoryMethod<PageElement> = Builder.createFactoryMethod(this.source, PageElement);\n\n readonly aupEmptyState: Builder.FactoryMethod<AupEmptyState> = Builder.createFactoryMethod(this.source, AupEmptyState, 'aup-empty-state');\n\n constructor(readonly source: PageElement) {\n }\n\n find(selector: string): PageElement {\n return new PageElement(this.source, selector);\n }\n\n section<T extends object>(selector: string, builder: Builder.Callback<T>): T & PageElement {\n return this._sectionFactory(selector, builder);\n }\n\n contains(text: string): PageElement {\n return new PageElement(this.source, {\n findIn: parent => parent.contains(text),\n shouldNotExist: (parent: Cypress.Chainable<JQuery>) => parent.should('not.contain', text)\n });\n }\n\n button(text: string): Button {\n return new Button(this.source, text);\n }\n\n aupStringInput(selector?: string): AupInput<string> {\n return new AupInput.HtmlInput(this.source, selector ?? 'aup-string-input');\n }\n\n aupTextInput(selector?: string): AupInput<string> {\n return new AupInput.TextAreaInput(this.source, selector ?? 'aup-text-input');\n }\n\n aupPasswordInput(selector?: string): AupInput<string> {\n return new AupInput.HtmlInput(this.source, selector ?? 'aup-password-input');\n }\n\n aupNumberInput(selector?: string): AupInput<number> {\n return new AupInput.HtmlInput(this.source, 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.source, faceOrSelector);\n }\n\n aupTabbedNavigation<T extends object>(): AupNavigation {\n return new AupNavigation(this.source, 'aup-tabbed-place-navigation');\n }\n\n aupSideNavigation<T extends object>(): AupNavigation {\n return new AupNavigation(this.source, 'aup-list-place-nav');\n }\n\n aupTable(selector?: string): AupTable {\n return new AupTable(this.source, selector ?? 'aup-table');\n }\n}\n\n\nexport namespace Builder {\n\n // tslint:disable-next-line:no-shadowed-variable\n export type Callback<T, B extends Builder = Builder> = (section: B) => T;\n\n export interface FactoryMethod<C extends PageElement> {\n <T extends object>(): C & T;\n\n // tslint:disable-next-line:unified-signatures\n <T extends object>(selector: string): C & T;\n\n // tslint:disable-next-line:unified-signatures\n <T extends object>(builder: Builder.Callback<T>): C & T;\n\n // tslint:disable-next-line:unified-signatures\n <T extends object>(selector: string, builder: Builder.Callback<T>): C & T;\n }\n\n export class Factory<E extends PageElement> {\n\n constructor(readonly parent: PageElement, readonly klass: Constructable<E>, readonly defaultSelector?: string) {\n }\n\n create<T extends object>(): E & T;\n // tslint:disable-next-line:unified-signatures\n create<T extends object>(builder: Builder.Callback<T>): E & T;\n // tslint:disable-next-line:unified-signatures\n create<T extends object>(selector: string): E & T;\n // tslint:disable-next-line:unified-signatures\n create<T extends object>(selector: string, builder: Builder.Callback<T>): E & T;\n create<T extends object>(selectorOrBuilder?: string | Builder.Callback<T>, optionalBuilder?: Builder.Callback<T>): E & T {\n\n const selector = _.isFunction(selectorOrBuilder) ? this.defaultSelector : selectorOrBuilder;\n\n if (!selector) {\n lang.illegalState('This element requires a selector but none was provided');\n }\n const callback = _.isFunction(selectorOrBuilder) ? selectorOrBuilder : optionalBuilder;\n\n const element = new this.klass(this.parent, selector);\n return callback ? CreateMixin.createProxy(element, callback(new Builder(this.parent))) : element as E & T;\n }\n }\n\n export function createFactoryMethod<C extends PageElement>(element: PageElement, klass: Constructable<C>, defaultSelector?: string): FactoryMethod<C> {\n const factory = new Factory<C>(element, klass, defaultSelector);\n return factory.create.bind(factory);\n }\n\n}\n","import { Builder } from '../builder';\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.ParentLocator, selector: string | PageElement.Accessor) {\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 { 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.ParentLocator, selector: string | PageElement.Accessor) {\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.element().closest(`.cdk-overlay-backdrop`).click(-50, -50, { force: true });\n }\n\n}\n","import { 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.ParentLocator, selector: string | PageElement.Accessor) {\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 { PageElement } from '../page-element';\nimport { AupAlert } from './aup-alert';\n\nexport class AupModalAlert extends AupAlert {\n\n constructor(parent: PageElement.ParentLocator, selector: string | PageElement.Accessor) {\n super(parent, selector);\n }\n\n clickBackdrop() {\n this.element()\n .closest(`.cdk-overlay-container`)\n .find(`.cdk-overlay-backdrop`).click(-50, -50, { force: true });\n }\n\n}\n","import { Builder } from './builder';\nimport { AupModalActivity } from './components/aup-modal-activity';\nimport { AupModalAlert } from './components/aup-modal-alert';\n\nexport class PageBuilder extends Builder {\n\n private _modalInteractionFactory: Builder.FactoryMethod<AupModalActivity> = Builder.createFactoryMethod(this.source, AupModalActivity);\n private _modalAlertFactory: Builder.FactoryMethod<AupModalAlert> = Builder.createFactoryMethod(this.source, AupModalAlert);\n\n\n aupModalActivity<T extends object>(selector: string, builder: Builder.Callback<T>): T & AupModalActivity {\n return this._modalInteractionFactory(`.dialog-interaction-context ${selector}`, builder);\n }\n\n aupModalAlert<T extends object>(builder?: Builder.Callback<T>): T & AupModalAlert {\n return this._modalAlertFactory(`.dialog-interaction-context aup-alert-dialog`, builder);\n }\n\n aupModelConfirm<T extends object>(builder?: Builder.Callback<T>): T & AupModalActivity {\n return this._modalInteractionFactory(`.dialog-interaction-context aup-confirm-dialog`, builder);\n }\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 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 export function create<T extends object>(path: string, page: Builder.Callback<T, PageBuilder>): T & Page\n // tslint:disable-next-line:unified-signatures\n export function create<T extends object>(pathBuilder: ((pathBuilder: Path.Builder) => void), page: Builder.Callback<T, PageBuilder>): T & Page\n export function create<T extends object>(pathOrPathBuilder: string | ((pathBuilder: Path.Builder) => void), page: Builder.Callback<T, 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 return Mixin.createProxy(page(new PageBuilder(instance)), instance) as T & Page;\n }\n}\n","import { PageElement } from '../page-element';\n\nexport class AupCommandGroup extends PageElement {\n\n}\n","import { PageElement } from '../page-element';\n\nexport class AupMoreMenu extends PageElement {\n\n static create(parent: PageElement) {\n return new AupMoreMenu(parent, 'aup-more-menu');\n }\n}\n","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","\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","/**\n * @file Automatically generated by barrelsby.\n */\n\nexport * from \"./builder\";\nexport * from \"./page-builder\";\nexport * from \"./page-element\";\nexport * from \"./page\";\nexport * from \"./path\";\nexport * from \"./components/aup-abstract-activity\";\nexport * from \"./components/aup-activity\";\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-modal-alert\";\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","/**\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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"}