@coolon/angular-ui-powerups 12.4.0-alpha.17 → 12.4.0-alpha.18

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 (79) hide show
  1. package/bundles/coolon-angular-ui-powerups-cypress.umd.js +238 -93
  2. package/bundles/coolon-angular-ui-powerups-cypress.umd.js.map +1 -1
  3. package/cypress/builder.d.ts +7 -2
  4. package/cypress/components/aup-abstract-activity.d.ts +2 -1
  5. package/cypress/components/aup-activity.d.ts +2 -1
  6. package/cypress/components/aup-alert.d.ts +2 -1
  7. package/cypress/components/aup-command-face.d.ts +5 -4
  8. package/cypress/components/aup-command.d.ts +1 -1
  9. package/cypress/components/aup-modal-alert.d.ts +2 -1
  10. package/cypress/components/aup-popup-menu.d.ts +1 -2
  11. package/cypress/components/aup-table.d.ts +30 -3
  12. package/cypress/components/button.d.ts +8 -6
  13. package/cypress/components/{button-mixin.d.ts → form-element-mixin.d.ts} +7 -6
  14. package/cypress/components/mat-checkbox.d.ts +29 -0
  15. package/cypress/coolon-angular-ui-powerups-cypress.metadata.json +1 -1
  16. package/cypress/element-locator.d.ts +10 -0
  17. package/cypress/exports.d.ts +3 -1
  18. package/cypress/page-element.d.ts +8 -10
  19. package/cypress/page.d.ts +1 -1
  20. package/esm2015/cypress/builder.js +26 -18
  21. package/esm2015/cypress/builder.js.map +1 -1
  22. package/esm2015/cypress/builder.metadata.json +1 -1
  23. package/esm2015/cypress/components/aup-abstract-activity.js +1 -0
  24. package/esm2015/cypress/components/aup-abstract-activity.js.map +1 -1
  25. package/esm2015/cypress/components/aup-abstract-activity.metadata.json +1 -1
  26. package/esm2015/cypress/components/aup-activity.js.map +1 -1
  27. package/esm2015/cypress/components/aup-activity.metadata.json +1 -1
  28. package/esm2015/cypress/components/aup-alert.js.map +1 -1
  29. package/esm2015/cypress/components/aup-alert.metadata.json +1 -1
  30. package/esm2015/cypress/components/aup-command-face.js +6 -6
  31. package/esm2015/cypress/components/aup-command-face.js.map +1 -1
  32. package/esm2015/cypress/components/aup-command-face.metadata.json +1 -1
  33. package/esm2015/cypress/components/aup-command.js +3 -3
  34. package/esm2015/cypress/components/aup-command.js.map +1 -1
  35. package/esm2015/cypress/components/aup-command.metadata.json +1 -1
  36. package/esm2015/cypress/components/aup-empty-state.js +1 -1
  37. package/esm2015/cypress/components/aup-empty-state.js.map +1 -1
  38. package/esm2015/cypress/components/aup-input.js +5 -5
  39. package/esm2015/cypress/components/aup-input.js.map +1 -1
  40. package/esm2015/cypress/components/aup-modal-activity.js +1 -1
  41. package/esm2015/cypress/components/aup-modal-activity.js.map +1 -1
  42. package/esm2015/cypress/components/aup-modal-alert.js +1 -1
  43. package/esm2015/cypress/components/aup-modal-alert.js.map +1 -1
  44. package/esm2015/cypress/components/aup-modal-alert.metadata.json +1 -1
  45. package/esm2015/cypress/components/aup-navigation.js +1 -1
  46. package/esm2015/cypress/components/aup-navigation.js.map +1 -1
  47. package/esm2015/cypress/components/aup-popup-menu.js +3 -3
  48. package/esm2015/cypress/components/aup-popup-menu.js.map +1 -1
  49. package/esm2015/cypress/components/aup-popup-menu.metadata.json +1 -1
  50. package/esm2015/cypress/components/aup-table.js +85 -7
  51. package/esm2015/cypress/components/aup-table.js.map +1 -1
  52. package/esm2015/cypress/components/aup-table.metadata.json +1 -1
  53. package/esm2015/cypress/components/button.js +4 -10
  54. package/esm2015/cypress/components/button.js.map +1 -1
  55. package/esm2015/cypress/components/button.metadata.json +1 -1
  56. package/esm2015/cypress/components/form-element-mixin.js +11 -0
  57. package/esm2015/cypress/components/form-element-mixin.js.map +1 -0
  58. package/esm2015/cypress/components/form-element-mixin.metadata.json +1 -0
  59. package/esm2015/cypress/components/mat-checkbox.js +34 -0
  60. package/esm2015/cypress/components/mat-checkbox.js.map +1 -0
  61. package/esm2015/cypress/components/mat-checkbox.metadata.json +1 -0
  62. package/esm2015/cypress/element-locator.js +22 -0
  63. package/esm2015/cypress/element-locator.js.map +1 -0
  64. package/esm2015/cypress/element-locator.metadata.json +1 -0
  65. package/esm2015/cypress/exports.js +3 -1
  66. package/esm2015/cypress/exports.js.map +1 -1
  67. package/esm2015/cypress/exports.metadata.json +1 -1
  68. package/esm2015/cypress/page-element.js +21 -18
  69. package/esm2015/cypress/page-element.js.map +1 -1
  70. package/esm2015/cypress/page-element.metadata.json +1 -1
  71. package/esm2015/cypress/page.js +1 -1
  72. package/esm2015/cypress/page.js.map +1 -1
  73. package/esm2015/cypress/page.metadata.json +1 -1
  74. package/fesm2015/coolon-angular-ui-powerups-cypress.js +207 -77
  75. package/fesm2015/coolon-angular-ui-powerups-cypress.js.map +1 -1
  76. package/package.json +1 -1
  77. package/esm2015/cypress/components/button-mixin.js +0 -15
  78. package/esm2015/cypress/components/button-mixin.js.map +0 -1
  79. package/esm2015/cypress/components/button-mixin.metadata.json +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"coolon-angular-ui-powerups-cypress.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.js","../../../../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":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","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 shouldContainText(text:string) {\n this.element().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.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 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.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 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.ContainerCallback<T>): T & PageElement {\n return this.createContainerElement(PageElement, 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 aupEmptyState(selector?: string): AupEmptyState\n aupEmptyState<T extends object>(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.createContainerElement(AupEmptyState, selectorOrBuilder, optionalBuilder, 'aup-empty-state');\n }\n\n // TODO: use this in all the element factory methods to allow customisation\n protected createElement<T extends object, E extends PageElement>(klass: Constructable<E>,\n selectorOrBuilder: string | Builder.ElementCallback<T, E>,\n optionalBuilder: Builder.ElementCallback<T, E>,\n defaultSelector?: string): E & T {\n\n const selector = _.isString(selectorOrBuilder) ? selectorOrBuilder : defaultSelector;\n const builder = _.isFunction(selectorOrBuilder) ? selectorOrBuilder : optionalBuilder;\n\n if (!selector) {\n lang.illegalState('This element requires a selector but none was provided');\n }\n\n const element = new klass(this.source, selector);\n if (builder) {\n return CreateMixin.createProxy(element, builder(element));\n } else {\n return element as E & T;\n }\n }\n\n protected createContainerElement<T extends object, E extends PageElement>(klass: Constructable<E>,\n selectorOrBuilder: string | Builder.ContainerCallback<T, E>,\n optionalBuilder: Builder.ContainerCallback<T, E>,\n defaultSelector?: string): E & T {\n\n const selector = _.isString(selectorOrBuilder) ? selectorOrBuilder : defaultSelector;\n const builder = _.isFunction(selectorOrBuilder) ? selectorOrBuilder : optionalBuilder;\n\n if (!selector) {\n lang.illegalState('This element requires a selector but none was provided');\n }\n\n const element = new klass(this.source, selector);\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 { 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';\nimport { Page } from './page';\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.createContainerElement(AupModalActivity,`.dialog-interaction-context ${selector}`, builder);\n }\n\n aupModalAlert<T extends object>(builder?: Builder.ContainerCallback<T, AupModalAlert>): T & AupModalAlert {\n return this.createContainerElement(AupModalAlert, `.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 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, 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","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":["_","lang","AupInput","AupTable","CreateMixin","DefaultUrlSerializer","Path","Mixin","Page"],"mappings":"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"}
1
+ {"version":3,"file":"coolon-angular-ui-powerups-cypress.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.js","../../../../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/aup-navigation.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-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-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":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { PageElement } from './page-element';\n\nexport interface ElementLocator {\n findIn(parent: PageElement): Cypress.Chainable<JQuery>;\n\n shouldNotExist?(parent: PageElement);\n}\n\nexport namespace ElementLocator {\n export function findByCssSelector(selector: string): ElementLocator {\n return {\n findIn: parent => parent.dom().find(selector),\n shouldNotExist: (p) => p.dom().find(selector).should('not.exist')\n };\n }\n\n export function findByTextContent(selector: string, text: string): ElementLocator {\n return {\n findIn(parent: PageElement): Cypress.Chainable<JQuery> {\n return parent.dom().contains(selector, text);\n },\n shouldNotExist(parent: PageElement) {\n return parent.dom().should('not.contain', text);\n }\n };\n }\n\n}\n","/* tslint:disable:unified-signatures */\nimport Chainable = Cypress.Chainable;\nimport { lang } from '@coolon/typescript-utilities';\nimport * as _ from 'lodash';\nimport { ElementLocator } from './element-locator';\n\nexport class PageElement {\n\n readonly elementAccessStrategy: ElementLocator;\n\n constructor(parent: PageElement, selector: string)\n constructor(parent: PageElement, locator: ElementLocator)\n constructor(readonly parent: PageElement, selectorOrLocator: string | ElementLocator) {\n this.elementAccessStrategy = _.isString(selectorOrLocator) ?\n ElementLocator.findByCssSelector(selectorOrLocator) :\n selectorOrLocator;\n }\n\n dom(): Chainable<JQuery> {\n return this.elementAccessStrategy.findIn(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 if (!this.elementAccessStrategy.shouldNotExist) {\n this.dom().should(\"not.exist\")\n } else {\n this.elementAccessStrategy.shouldNotExist(this.parent);\n }\n }\n}\n\nexport namespace PageElement {\n\n // export type ParentLocator = PageElement | (() => Cypress.Chainable<JQuery>);\n // export type ParentLocator = PageElement;\n\n}\n","import { ElementLocator } from '../element-locator';\nimport { PageElement } from '../page-element';\nimport { Types } from './types';\n\nexport class FaceElementLocator implements ElementLocator {\n constructor(readonly face: Types.CommandFace) {\n }\n\n findIn(parent: PageElement): Cypress.Chainable<JQuery> {\n return this.face.text ?\n parent.dom().contains(`aup-command-face`, this.face.text()) :\n this.face.icon ?\n parent.dom().find(`aup-icon[ng-reflect-icon=${this.face.icon()}]`).closest('aup-command-face') :\n undefined;\n }\n\n shouldNotExist(parent: PageElement) {\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, AupCommandFace.createElementLocator(face));\n }\n\n static createElementLocator(face: Types.CommandFace): ElementLocator {\n return new FaceElementLocator(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, faceOrSelector: string | Types.CommandFace) {\n super(parent, {\n findIn(parentElement: PageElement): Cypress.Chainable<JQuery> {\n if (_.isString(faceOrSelector)) {\n return parentElement.dom().find(faceOrSelector);\n } else {\n return AupCommandFace.createElementLocator(faceOrSelector).findIn(parentElement).closest('aup-command');\n }\n },\n shouldNotExist(parentElement: PageElement) {\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.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';\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","/* tslint:disable:unified-signatures */\nimport * as _ from 'lodash';\nimport { ElementLocator } from '../element-locator';\nimport { PageElement } from '../page-element';\n\nexport class AupTable extends PageElement {\n\n row(rowId: any): AupTable.Row {\n return new AupTable.Row(this, AupTable.cssSelectorForTableRowById(rowId));\n }\n\n rowNumber(rowNumber: number): AupTable.Row {\n return new AupTable.Row(this, AupTable.cssSelectorForNthTableRow(rowNumber));\n }\n\n column(columnId: string): AupTable.Column {\n return new AupTable.Column(this, columnId);\n }\n\n selectionColumn(): AupTable.SelectionColumn {\n return new AupTable.SelectionColumn(this, 'selection-column');\n }\n\n}\n\nexport namespace AupTable {\n\n import Chainable = Cypress.Chainable;\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(columnId: string) {\n return `aup-table-cell-renderer[column-id=${columnId}]`;\n }\n\n export function cssSelectorForCell(rowId: string, columnId: string) {\n return `${cssSelectorForTableRowById(rowId)} ${cssSelectorForColumnCellRendererById(columnId)}`;\n }\n\n export class Row extends PageElement {\n\n constructor(readonly table: AupTable, selectorOrLocator: string | ElementLocator) {\n // @ts-ignore\n super(table, selectorOrLocator);\n }\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): Cell\n cell(column: AupTable.Column): Cell\n cell(column: AupTable.SelectionColumn): SelectionColumnCell\n cell(columnOrId: string | AupTable.Column): Cell {\n const self = this;\n const columnId = _.isString(columnOrId) ? columnOrId : columnOrId.columnId;\n return new Cell(this.table, {\n findIn(parent: PageElement): Cypress.Chainable<JQuery> {\n return self.rowId()\n .then(rowId => AupTable.cssSelectorForCell(rowId, columnId))\n .then(selector => parent.dom().find(selector));\n }\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 export class Column extends PageElement {\n\n constructor(readonly table: AupTable, readonly columnId: string) {\n super(table, `aup-table-header-cell-renderer[column-id=\"${columnId}\"]`);\n }\n\n cellContaining(content: string): Cell {\n const self = this;\n return new Cell(this.table, {\n findIn(parent: PageElement): Cypress.Chainable<JQuery> {\n return parent.dom().contains(cssSelectorForColumnCellRendererById(self.columnId), content);\n }\n });\n }\n\n rowContaining(content: string): Row {\n return this.cellContaining(content).row();\n }\n }\n\n export class SelectionColumn extends Column {\n selectAll() {\n\n }\n }\n\n export class Cell extends PageElement {\n\n constructor(readonly table: AupTable, elementLocator: ElementLocator) {\n super(table, elementLocator);\n }\n\n rowId(): Chainable<string> {\n return this.dom().closest('tr').invoke('attr', 'aup-row-id');\n }\n\n row(): Row {\n const self = this;\n return new Row(this.table, {\n findIn(parent: PageElement): Cypress.Chainable<JQuery> {\n return self.rowId()\n .then(rowId => parent.dom().find(AupTable.cssSelectorForTableRowById(rowId)));\n }\n });\n }\n }\n\n export class SelectionColumnCell extends Cell {\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.findByTextContent('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.findByTextContent('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 { 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 { MatCheckbox } from './components/mat-checkbox';\nimport { Types } from './components/types';\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.createContainerElement(PageElement, selector, builder);\n }\n\n contains(text: string): PageElement {\n return new PageElement(this.parentPageElement, {\n findIn(parent) {\n return parent.dom().contains(text);\n },\n shouldNotExist(parent) {\n return parent.dom().should('not.contain', text);\n }\n });\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 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.createContainerElement(AupTable, selectorOrBuilder, optionalBuilder, 'aup-table');\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.createContainerElement(AupEmptyState, selectorOrBuilder, optionalBuilder, 'aup-empty-state');\n }\n\n // TODO: use this in all the element factory methods to allow customisation\n protected createElement<T extends object, E extends PageElement>(klass: Constructable<E>,\n selectorOrBuilder: string | Builder.ElementCallback<T, E>,\n optionalBuilder: Builder.ElementCallback<T, E>,\n defaultSelector?: string): E & T {\n\n const selector = _.isString(selectorOrBuilder) ? selectorOrBuilder : defaultSelector;\n const builder = _.isFunction(selectorOrBuilder) ? selectorOrBuilder : optionalBuilder;\n\n if (!selector) {\n lang.illegalState('This element requires a selector but none was provided');\n }\n\n const element = new klass(this.parentPageElement, selector);\n if (builder) {\n return CreateMixin.createProxy(element, builder(element));\n } else {\n return element as E & T;\n }\n }\n\n protected createContainerElement<T extends object, E extends PageElement>(klass: Constructable<E>,\n selectorOrBuilder: string | Builder.ContainerCallback<T, E>,\n optionalBuilder: Builder.ContainerCallback<T, E>,\n defaultSelector?: string): E & T {\n\n const selector = _.isString(selectorOrBuilder) ? selectorOrBuilder : defaultSelector;\n const builder = _.isFunction(selectorOrBuilder) ? selectorOrBuilder : optionalBuilder;\n\n if (!selector) {\n lang.illegalState('This element requires a selector but none was provided');\n }\n\n const element = new klass(this.parentPageElement, selector);\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 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 { 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 AupModalAlert 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 { Builder } from './builder';\nimport { AupModalActivity } from './components/aup-modal-activity';\nimport { AupModalAlert } from './components/aup-modal-alert';\nimport { Page } from './page';\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.createContainerElement(AupModalActivity,`.dialog-interaction-context ${selector}`, builder);\n }\n\n aupModalAlert<T extends object>(builder?: Builder.ContainerCallback<T, AupModalAlert>): T & AupModalAlert {\n return this.createContainerElement(AupModalAlert, `.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","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, face: Types.CommandFace) {\n const locator = AupCommandFace.createElementLocator(face)\n super(parentElementAccessor, {\n findIn(parent: PageElement): Cypress.Chainable<JQuery> {\n return locator.findIn(parent).closest('button');\n },\n shouldNotExist(parent: PageElement) {\n locator.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 \"./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-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\";\nexport * from \"./components/form-element-mixin\";\nexport * from \"./components/mat-checkbox\";\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":["ElementLocator","_","AupInput","AupTable","lang","CreateMixin","DefaultUrlSerializer","Path","Mixin","Page"],"mappings":"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"}
@@ -5,15 +5,17 @@ import { AupInput } from './components/aup-input';
5
5
  import { AupNavigation } from './components/aup-navigation';
6
6
  import { AupTable } from './components/aup-table';
7
7
  import { Button } from './components/button';
8
+ import { MatCheckbox } from './components/mat-checkbox';
8
9
  import { Types } from './components/types';
9
10
  import { PageElement } from './page-element';
10
11
  export declare class Builder {
11
- readonly source: PageElement;
12
- constructor(source: PageElement);
12
+ readonly parentPageElement: PageElement;
13
+ constructor(parentPageElement: PageElement);
13
14
  find(selector: string): PageElement;
14
15
  section<T extends object>(selector: string, builder: Builder.ContainerCallback<T>): T & PageElement;
15
16
  contains(text: string): PageElement;
16
17
  button(text: string): Button;
18
+ matCheckbox(text: string): MatCheckbox;
17
19
  aupStringInput(selector?: string): AupInput<string>;
18
20
  aupTextInput(selector?: string): AupInput<string>;
19
21
  aupPasswordInput(selector?: string): AupInput<string>;
@@ -23,8 +25,11 @@ export declare class Builder {
23
25
  aupTabbedNavigation<T extends object>(): AupNavigation;
24
26
  aupSideNavigation<T extends object>(): AupNavigation;
25
27
  aupTable(selector?: string): AupTable;
28
+ aupTable<T extends object>(builder: Builder.ContainerCallback<T, AupTable>): AupTable & T;
29
+ aupTable<T extends object>(selector: string, builder: Builder.ContainerCallback<T, AupTable>): AupTable & T;
26
30
  aupEmptyState(selector?: string): AupEmptyState;
27
31
  aupEmptyState<T extends object>(builder: Builder.ContainerCallback<T, AupEmptyState>): AupEmptyState & T;
32
+ aupEmptyState<T extends object>(selector: string, builder: Builder.ContainerCallback<T, AupEmptyState>): AupEmptyState & T;
28
33
  protected createElement<T extends object, E extends PageElement>(klass: Constructable<E>, selectorOrBuilder: string | Builder.ElementCallback<T, E>, optionalBuilder: Builder.ElementCallback<T, E>, defaultSelector?: string): E & T;
29
34
  protected createContainerElement<T extends object, E extends PageElement>(klass: Constructable<E>, selectorOrBuilder: string | Builder.ContainerCallback<T, E>, optionalBuilder: Builder.ContainerCallback<T, E>, defaultSelector?: string): E & T;
30
35
  }
@@ -1,8 +1,9 @@
1
+ import { ElementLocator } from '../element-locator';
1
2
  import { PageElement } from '../page-element';
2
3
  import { AupCommand } from './aup-command';
3
4
  export declare class AupAbstractActivity extends PageElement {
4
5
  protected _confirmCommand: AupCommand;
5
6
  protected _cancelCommand: AupCommand;
6
7
  readonly title: PageElement;
7
- constructor(parent: PageElement.ParentLocator, selector: string | PageElement.Accessor);
8
+ constructor(parent: PageElement, selector: string | ElementLocator);
8
9
  }
@@ -1,8 +1,9 @@
1
+ import { ElementLocator } from '../element-locator';
1
2
  import { PageElement } from '../page-element';
2
3
  import { AupAbstractActivity } from './aup-abstract-activity';
3
4
  import { AupCommand } from './aup-command';
4
5
  export declare class AupActivity extends AupAbstractActivity {
5
- constructor(parent: PageElement.ParentLocator, selector: string | PageElement.Accessor);
6
+ constructor(parent: PageElement, selector: string | ElementLocator);
6
7
  get confirmCommand(): AupCommand;
7
8
  get cancelCommand(): AupCommand;
8
9
  }
@@ -1,8 +1,9 @@
1
+ import { ElementLocator } from '../element-locator';
1
2
  import { PageElement } from '../page-element';
2
3
  import { AupAbstractActivity } from './aup-abstract-activity';
3
4
  import { AupCommand } from './aup-command';
4
5
  export declare class AupAlert extends AupAbstractActivity {
5
- constructor(parent: PageElement.ParentLocator, selector: string | PageElement.Accessor);
6
+ constructor(parent: PageElement, selector: string | ElementLocator);
6
7
  get closeCommand(): AupCommand;
7
8
  clickClose(): void;
8
9
  }
@@ -1,13 +1,14 @@
1
1
  /// <reference types="cypress" />
2
+ import { ElementLocator } from '../element-locator';
2
3
  import { PageElement } from '../page-element';
3
4
  import { Types } from './types';
4
- export declare class FaceAccessor implements PageElement.Accessor {
5
+ export declare class FaceElementLocator implements ElementLocator {
5
6
  readonly face: Types.CommandFace;
6
7
  constructor(face: Types.CommandFace);
7
- findIn(parent: Cypress.Chainable<JQuery>): Cypress.Chainable<JQuery>;
8
- shouldNotExist(parent: Cypress.Chainable<JQuery>): Cypress.Chainable<JQuery<HTMLElement>>;
8
+ findIn(parent: PageElement): Cypress.Chainable<JQuery>;
9
+ shouldNotExist(parent: PageElement): any;
9
10
  }
10
11
  export declare class AupCommandFace extends PageElement {
11
12
  constructor(parentElement: PageElement, face: Types.CommandFace);
12
- static createAccessor(face: Types.CommandFace): PageElement.Accessor;
13
+ static createElementLocator(face: Types.CommandFace): ElementLocator;
13
14
  }
@@ -2,7 +2,7 @@
2
2
  import { PageElement } from '../page-element';
3
3
  import { Types } from './types';
4
4
  export declare class AupCommand extends PageElement {
5
- constructor(parent: PageElement | (() => Cypress.Chainable<JQuery>), faceOrSelector: string | Types.CommandFace);
5
+ constructor(parent: PageElement, faceOrSelector: string | Types.CommandFace);
6
6
  click(): void;
7
7
  getShouldElement(): Cypress.Chainable<JQuery>;
8
8
  shouldBeDisabled(): void;
@@ -1,6 +1,7 @@
1
+ import { ElementLocator } from '../element-locator';
1
2
  import { PageElement } from '../page-element';
2
3
  import { AupAlert } from './aup-alert';
3
4
  export declare class AupModalAlert extends AupAlert {
4
- constructor(parent: PageElement.ParentLocator, selector: string | PageElement.Accessor);
5
+ constructor(parent: PageElement, selector: string | ElementLocator);
5
6
  clickBackdrop(): void;
6
7
  }
@@ -1,7 +1,6 @@
1
- /// <reference types="cypress" />
2
1
  import { PageElement } from '../page-element';
3
2
  import { Types } from './types';
4
3
  export declare class AupPopupMenu extends PageElement {
5
- constructor(parentElementAccessor: PageElement | (() => Cypress.Chainable<JQuery>), face: Types.CommandFace);
4
+ constructor(parentElementAccessor: PageElement, face: Types.CommandFace);
6
5
  static create(parent: PageElement, face: Types.CommandFace): AupPopupMenu;
7
6
  }
@@ -1,18 +1,45 @@
1
+ /// <reference types="cypress" />
2
+ import { ElementLocator } from '../element-locator';
1
3
  import { PageElement } from '../page-element';
2
4
  export declare class AupTable extends PageElement {
3
- constructor(parentElementAccessor: PageElement.ParentLocator, selector: string | PageElement.Accessor);
4
5
  row(rowId: any): AupTable.Row;
6
+ rowNumber(rowNumber: number): AupTable.Row;
5
7
  column(columnId: string): AupTable.Column;
8
+ selectionColumn(): AupTable.SelectionColumn;
6
9
  }
7
10
  export declare namespace AupTable {
11
+ import Chainable = Cypress.Chainable;
12
+ function cssSelectorForTableRowById(rowId: string): string;
13
+ function cssSelectorForNthTableRow(rowNumber: number): string;
14
+ function cssSelectorForColumnCellRendererById(columnId: string): string;
15
+ function cssSelectorForCell(rowId: string, columnId: string): string;
8
16
  class Row extends PageElement {
17
+ readonly table: AupTable;
18
+ constructor(table: AupTable, selectorOrLocator: string | ElementLocator);
19
+ rowId(): Chainable<string>;
20
+ shouldHaveRowId(rowId: string): void;
21
+ cell(columnId: string): Cell;
22
+ cell(column: AupTable.Column): Cell;
23
+ cell(column: AupTable.SelectionColumn): SelectionColumnCell;
24
+ shouldBeSelected(): void;
25
+ shouldNotBeSelected(): void;
9
26
  }
10
- class Column {
27
+ class Column extends PageElement {
11
28
  readonly table: AupTable;
12
29
  readonly columnId: string;
13
30
  constructor(table: AupTable, columnId: string);
14
- cell(content: string): Cell;
31
+ cellContaining(content: string): Cell;
32
+ rowContaining(content: string): Row;
33
+ }
34
+ class SelectionColumn extends Column {
35
+ selectAll(): void;
15
36
  }
16
37
  class Cell extends PageElement {
38
+ readonly table: AupTable;
39
+ constructor(table: AupTable, elementLocator: ElementLocator);
40
+ rowId(): Chainable<string>;
41
+ row(): Row;
42
+ }
43
+ class SelectionColumnCell extends Cell {
17
44
  }
18
45
  }
@@ -1,22 +1,24 @@
1
1
  /// <reference types="cypress" />
2
+ import { ElementLocator } from '../element-locator';
2
3
  import { PageElement } from '../page-element';
3
4
  declare const Button_base: {
4
5
  new (...args: any[]): {
5
- click(): Cypress.Chainable<JQuery<HTMLElement>>;
6
6
  shouldBeDisabled(): void;
7
- readonly elementAccessStrategy: PageElement.Accessor;
8
- readonly parentElementAccessor: () => Cypress.Chainable<JQuery<HTMLElement>>;
9
- element(): Cypress.Chainable<JQuery<HTMLElement>>;
10
- getParentElement(): Cypress.Chainable<JQuery<HTMLElement>>;
7
+ readonly elementAccessStrategy: ElementLocator;
8
+ readonly parent: PageElement;
9
+ dom(): Cypress.Chainable<JQuery<HTMLElement>>;
11
10
  find(selector: string): PageElement;
11
+ click(text?: string): void;
12
12
  readonly should: any;
13
13
  getShoulder(element: Cypress.Chainable<JQuery<HTMLElement>>): any;
14
14
  getShouldElement(): Cypress.Chainable<JQuery<HTMLElement>>;
15
15
  shouldBeVisible(): void;
16
16
  shouldNotBeVisible(): void;
17
+ shouldExist(): void;
18
+ shouldNotExist(): void;
17
19
  };
18
20
  } & typeof PageElement;
19
21
  export declare class Button extends Button_base {
20
- constructor(parentElementAccessor: PageElement.ParentLocator, buttonText: string);
22
+ constructor(parentElementAccessor: PageElement, buttonText: string);
21
23
  }
22
24
  export {};
@@ -1,19 +1,20 @@
1
1
  /// <reference types="cypress" />
2
2
  import { Constructable } from '@coolon/typescript-utilities';
3
3
  import { PageElement } from '../page-element';
4
- export declare function ButtonMixin<T, BC extends Constructable<PageElement>>(Base: BC): {
4
+ export declare function FormElementMixin<T, BC extends Constructable<PageElement>>(Base: BC): {
5
5
  new (...args: any[]): {
6
- click(): Cypress.Chainable<JQuery<HTMLElement>>;
7
6
  shouldBeDisabled(): void;
8
- readonly elementAccessStrategy: PageElement.Accessor;
9
- readonly parentElementAccessor: () => Cypress.Chainable<JQuery<HTMLElement>>;
10
- element(): Cypress.Chainable<JQuery<HTMLElement>>;
11
- getParentElement(): Cypress.Chainable<JQuery<HTMLElement>>;
7
+ readonly elementAccessStrategy: import("../element-locator").ElementLocator;
8
+ readonly parent: PageElement;
9
+ dom(): Cypress.Chainable<JQuery<HTMLElement>>;
12
10
  find(selector: string): PageElement;
11
+ click(text?: string): void;
13
12
  readonly should: any;
14
13
  getShoulder(element: Cypress.Chainable<JQuery<HTMLElement>>): any;
15
14
  getShouldElement(): Cypress.Chainable<JQuery<HTMLElement>>;
16
15
  shouldBeVisible(): void;
17
16
  shouldNotBeVisible(): void;
17
+ shouldExist(): void;
18
+ shouldNotExist(): void;
18
19
  };
19
20
  } & BC;