@sharegainltd/ngrid-cypress
Version:
Cypress Test Helpers For @sharegainltd/ngrid
60 lines • 11.5 kB
JavaScript
;
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=