mirror of
https://github.com/maputnik/editor.git
synced 2025-12-24 23:20:00 +00:00
## Launch Checklist This PR replace react-sortable-hoc which is unmaintained with dnd-kit - Resolves #1016 - Replaces the following PR: #1259 I've tested it locally to make sure it does what it should. I'll see if I can add a test... - [x] Briefly describe the changes in this PR. - [x] Link to related issues. - [x] Write tests for all new functionality. - [x] Add an entry to `CHANGELOG.md` under the `## main` section. --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
41 lines
1.1 KiB
TypeScript
41 lines
1.1 KiB
TypeScript
import { v1 as uuid } from "uuid";
|
|
import MaputnikCypressHelper from "./maputnik-cypress-helper";
|
|
|
|
export default class ModalDriver {
|
|
private helper = new MaputnikCypressHelper();
|
|
|
|
public when = {
|
|
fillLayers: (opts: { type: string; layer?: string; id?: string }) => {
|
|
// Having logic in test code is an anti pattern.
|
|
// This should be splitted to multiple single responsibility functions
|
|
const type = opts.type;
|
|
const layer = opts.layer;
|
|
let id;
|
|
if (opts.id) {
|
|
id = opts.id;
|
|
} else {
|
|
id = `${type}:${uuid()}`;
|
|
}
|
|
this.helper.when.selectOption("add-layer.layer-type.select", type);
|
|
this.helper.when.type("add-layer.layer-id.input", id);
|
|
|
|
if (layer) {
|
|
this.helper.when.doWithin(() => {
|
|
this.helper.get.element("input").clear().type(layer!);
|
|
}, "add-layer.layer-source-block");
|
|
}
|
|
this.helper.when.click("add-layer");
|
|
|
|
return id;
|
|
},
|
|
|
|
open: () => {
|
|
this.helper.when.click("layer-list:add-layer");
|
|
},
|
|
|
|
close: (key: string) => {
|
|
this.helper.when.click(key + ".close-modal");
|
|
},
|
|
};
|
|
}
|