UNPKG

@sharegainltd/ngrid-cypress

Version:

Cypress Test Helpers For @sharegainltd/ngrid

60 lines 11.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.NGridCypressHarnessActions = void 0; const getCypressElementCoordinates_1 = require("../cypress-real-events/getCypressElementCoordinates"); const mouseUp_1 = require("../cypress-real-events/mouseUp"); const mouseDown_1 = require("../cypress-real-events/mouseDown"); const mouseMove_1 = require("../cypress-real-events/mouseMove"); class NGridCypressHarnessActions { constructor(harness) { this.harness = harness; } dragMoveColumns(sourceColumnId, targetColumnId, opts) { const sourceEl = this.harness.element.querySelector(`.cdk-column-${sourceColumnId}.cdk-drag`); const targetEl = this.harness.element.querySelector(`.cdk-column-${targetColumnId}.cdk-drag`); if (!sourceEl) { throw new Error(`Invalid column: ${sourceColumnId}`); } if (!targetEl) { throw new Error(`Invalid column: ${targetColumnId}`); } opts = Cypress._.defaults(opts, { delay: 0, steps: 0, smooth: false }); if (opts.smooth) { opts.steps = Math.max(opts.steps || 0, 10); } const _log = Cypress.log({ $el: Cypress.$(sourceEl), name: 'drag to', message: targetColumnId, }); const fromCoords = (0, getCypressElementCoordinates_1.getCypressElementCoordinates)(Cypress.$(sourceEl), 'center', false); const toCoords = (0, getCypressElementCoordinates_1.getCypressElementCoordinates)(Cypress.$(targetEl), 'center', false); _log.set({ consoleProps: () => ({ coords: toCoords }) }); var sEl = Cypress.$(sourceEl); var tEl = Cypress.$(targetEl); return cy.then(() => { return Cypress.Promise.resolve((0, mouseDown_1.realMouseDown)(sEl, { position: "center" })) .then(() => Cypress.Promise.resolve((0, mouseMove_1.realMouseMove)(sEl, toCoords.x - fromCoords.x, toCoords.y, { position: "center" }))) .then(() => Cypress.Promise.delay(200)) .then(() => { const steps = opts.steps; if (steps <= 0) { return; } const dx = (toCoords.x - fromCoords.x) / steps; const dy = (toCoords.y - fromCoords.y) / steps; return Cypress.Promise.map(Array(steps).fill(null), (v, i) => { i = steps - 1 - i; return Cypress.Promise.resolve((0, mouseMove_1.realMouseMove)(tEl, fromCoords.x + dx * (i), fromCoords.y + dy * (i), {}, 'absolute')) .then(() => Cypress.Promise.delay(opts.delay)); }, { concurrency: 1 }); }) .then(() => Cypress.Promise.delay(opts.delay)) .then(() => Cypress.Promise.resolve((0, mouseUp_1.realMouseUp)(tEl, toCoords.x, toCoords.y, {}, 'absolute'))) .then(() => Cypress.Promise.delay(opts.delay)) .then(() => this.harness); }); } } exports.NGridCypressHarnessActions = NGridCypressHarnessActions; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvbmdyaWQtY3lwcmVzcy9zcmMvbGliL25ncmlkLWhhcm5lc3MvYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzR0FBbUc7QUFFbkcsNERBQTZEO0FBQzdELGdFQUFpRTtBQUNqRSxnRUFBaUU7QUFtQmpFLE1BQWEsMEJBQTBCO0lBQ3JDLFlBQTZCLE9BQTRCO1FBQTVCLFlBQU8sR0FBUCxPQUFPLENBQXFCO0lBQUksQ0FBQztJQUU5RCxlQUFlLENBQUMsY0FBc0IsRUFBRSxjQUFzQixFQUFFLElBQWtCO1FBQ2hGLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxlQUFlLGNBQWMsV0FBVyxDQUFnQixDQUFDO1FBQzdHLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxlQUFlLGNBQWMsV0FBVyxDQUFnQixDQUFDO1FBRTdHLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDYixNQUFNLElBQUksS0FBSyxDQUFDLG1CQUFtQixjQUFjLEVBQUUsQ0FBQyxDQUFDO1NBQ3REO1FBQ0QsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMsbUJBQW1CLGNBQWMsRUFBRSxDQUFDLENBQUM7U0FDdEQ7UUFFRCxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBRXZFLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsRUFB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Q0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQzdDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFBLHFCQUFXLEVBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztpQkFDN0YsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFFN0MsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQS9ERCxnRUErREMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRDeXByZXNzRWxlbWVudENvb3JkaW5hdGVzIH0gZnJvbSAnLi4vY3lwcmVzcy1yZWFsLWV2ZW50cy9nZXRDeXByZXNzRWxlbWVudENvb3JkaW5hdGVzJztcbmltcG9ydCB7IE5HcmlkQ3lwcmVzc0hhcm5lc3MgfSBmcm9tICcuL25ncmlkLWhhcm5lc3MnO1xuaW1wb3J0IHsgcmVhbE1vdXNlVXAgfSBmcm9tICcuLi9jeXByZXNzLXJlYWwtZXZlbnRzL21vdXNlVXAnO1xuaW1wb3J0IHsgcmVhbE1vdXNlRG93biB9IGZyb20gJy4uL2N5cHJlc3MtcmVhbC1ldmVudHMvbW91c2VEb3duJztcbmltcG9ydCB7IHJlYWxNb3VzZU1vdmUgfSBmcm9tICcuLi9jeXByZXNzLXJlYWwtZXZlbnRzL21vdXNlTW92ZSc7XG5leHBvcnQgaW50ZXJmYWNlIERyYWdPcHRpb25zIHtcbiAgLyoqXG4gICAqIGRlbGF5IGluIGJldHdlZW4gc3RlcHNcbiAgICogQGRlZmF1bHQgMFxuICAgKi9cbiAgZGVsYXk/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBpbnRlcnBvbGF0aW9uIGJldHdlZW4gY29vcmRzXG4gICAqIEBkZWZhdWx0IDBcbiAgICovXG4gIHN0ZXBzPzogbnVtYmVyO1xuICAvKipcbiAgICogPj0xMCBzdGVwc1xuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgc21vb3RoPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIE5HcmlkQ3lwcmVzc0hhcm5lc3NBY3Rpb25zIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBoYXJuZXNzOiBOR3JpZEN5cHJlc3NIYXJuZXNzKSB7IH1cblxuICBkcmFnTW92ZUNvbHVtbnMoc291cmNlQ29sdW1uSWQ6IHN0cmluZywgdGFyZ2V0Q29sdW1uSWQ6IHN0cmluZywgb3B0cz86IERyYWdPcHRpb25zKTogQ3lwcmVzcy5DaGFpbmFibGU8TkdyaWRDeXByZXNzSGFybmVzcz4ge1xuICAgIGNvbnN0IHNvdXJjZUVsID0gdGhpcy5oYXJuZXNzLmVsZW1lbnQucXVlcnlTZWxlY3RvcihgLmNkay1jb2x1bW4tJHtzb3VyY2VDb2x1bW5JZH0uY2RrLWRyYWdgKSBhcyBIVE1MRWxlbWVudDtcbiAgICBjb25zdCB0YXJnZXRFbCA9IHRoaXMuaGFybmVzcy5lbGVtZW50LnF1ZXJ5U2VsZWN0b3IoYC5jZGstY29sdW1uLSR7dGFyZ2V0Q29sdW1uSWR9LmNkay1kcmFnYCkgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICBpZiAoIXNvdXJjZUVsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY29sdW1uOiAke3NvdXJjZUNvbHVtbklkfWApO1xuICAgIH1cbiAgICBpZiAoIXRhcmdldEVsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY29sdW1uOiAke3RhcmdldENvbHVtbklkfWApO1xuICAgIH1cblxuICAgIG9wdHMgPSBDeXByZXNzLl8uZGVmYXVsdHMob3B0cywgeyBkZWxheTogMCwgc3RlcHM6IDAsIHNtb290aDogZmFsc2UgfSk7XG5cbiAgICBpZiAob3B0cy5zbW9vdGgpIHtcbiAgICAgIG9wdHMuc3RlcHMgPSBNYXRoLm1heChvcHRzLnN0ZXBzIHx8IDAsIDEwKTtcbiAgICB9XG5cbiAgICBjb25zdCBfbG9nID0gQ3lwcmVzcy5sb2coe1xuICAgICAgJGVsOiBDeXByZXNzLiQoc291cmNlRWwgYXMgYW55KSxcbiAgICAgIG5hbWU6ICdkcmFnIHRvJyxcbiAgICAgIG1lc3NhZ2U6IHRhcmdldENvbHVtbklkLFxuICAgIH0pO1xuICAgIFxuICAgIGNvbnN0IGZyb21Db29yZHMgPSBnZXRDeXByZXNzRWxlbWVudENvb3JkaW5hdGVzKEN5cHJlc3MuJChzb3VyY2VFbCksICdjZW50ZXInLCBmYWxzZSk7XG4gICAgY29uc3QgdG9Db29yZHMgPSBnZXRDeXByZXNzRWxlbWVudENvb3JkaW5hdGVzKEN5cHJlc3MuJCh0YXJnZXRFbCksICdjZW50ZXInLCBmYWxzZSk7XG5cbiAgICBfbG9nLnNldCh7IGNvbnNvbGVQcm9wczogKCkgPT4gKHsgY29vcmRzOiB0b0Nvb3JkcyB9KSB9KTtcblxuICAgIHZhciBzRWwgPSBDeXByZXNzLiQoc291cmNlRWwpO1xuICAgIHZhciB0RWwgPSBDeXByZXNzLiQodGFyZ2V0RWwpO1xuXG4gICAgcmV0dXJuIGN5LnRoZW4oKCkgPT4ge1xuICAgICAgcmV0dXJuIEN5cHJlc3MuUHJvbWlzZS5yZXNvbHZlKHJlYWxNb3VzZURvd24oc0VsLCB7IHBvc2l0aW9uOiBcImNlbnRlclwiIH0pKVxuICAgICAgICAudGhlbigoKSA9PiBDeXByZXNzLlByb21pc2UucmVzb2x2ZShyZWFsTW91c2VNb3ZlKHNFbCwgdG9Db29yZHMueCAtIGZyb21Db29yZHMueCwgdG9Db29yZHMueSwgeyBwb3NpdGlvbjogXCJjZW50ZXJcIiB9KSkpXG4gICAgICAgIC50aGVuKCgpID0+IEN5cHJlc3MuUHJvbWlzZS5kZWxheSgyMDApKVxuICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgY29uc3Qgc3RlcHMgPSBvcHRzLnN0ZXBzO1xuICAgICAgICAgIFxuICAgICAgICAgIGlmIChzdGVwcyA8PSAwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICBcbiAgICAgICAgICBjb25zdCBkeCA9ICh0b0Nvb3Jkcy54IC0gZnJvbUNvb3Jkcy54KSAvIHN0ZXBzO1xuICAgICAgICAgIGNvbnN0IGR5ID0gKHRvQ29vcmRzLnkgLSBmcm9tQ29vcmRzLnkpIC8gc3RlcHM7XG4gIFxuICAgICAgICAgIHJldHVybiBDeXByZXNzLlByb21pc2UubWFwKEFycmF5KHN0ZXBzKS5maWxsKG51bGwpLCAodiwgaSkgPT4ge1xuICAgICAgICAgICAgaSA9IHN0ZXBzIC0gMSAtIGk7XG4gIFxuICAgICAgICAgICAgcmV0dXJuIEN5cHJlc3MuUHJvbWlzZS5yZXNvbHZlKHJlYWxNb3VzZU1vdmUodEVsLCBmcm9tQ29vcmRzLnggKyBkeCAqIChpKSwgZnJvbUNvb3Jkcy55ICsgZHkgKiAoaSksIHt9LCAnYWJzb2x1dGUnKSlcbiAgICAgICAgICAgIC50aGVuKCgpID0+IEN5cHJlc3MuUHJvbWlzZS5kZWxheShvcHRzLmRlbGF5KSk7XG4gIFxuICAgICAgICAgIH0sIHsgY29uY3VycmVuY3k6IDEgfSk7XG4gICAgICAgIH0pXG4gICAgICAgIC50aGVuKCgpID0+IEN5cHJlc3MuUHJvbWlzZS5kZWxheShvcHRzLmRlbGF5KSlcbiAgICAgICAgLnRoZW4oKCkgPT4gQ3lwcmVzcy5Qcm9taXNlLnJlc29sdmUocmVhbE1vdXNlVXAodEVsLCB0b0Nvb3Jkcy54LCB0b0Nvb3Jkcy55LCB7fSwgJ2Fic29sdXRlJykpKVxuICAgICAgICAudGhlbigoKSA9PiBDeXByZXNzLlByb21pc2UuZGVsYXkob3B0cy5kZWxheSkpXG5cbiAgICAgICAgLnRoZW4oKCkgPT4gdGhpcy5oYXJuZXNzKTtcbiAgICB9KTtcbiAgfVxufVxuXG4iXX0=