mirror of
https://github.com/maputnik/editor.git
synced 2026-07-12 17:07:28 +00:00
2e0b7cdb8c
## Launch Checklist This PR replaces cypress with playwright. <img width="1907" height="933" alt="image" src="https://github.com/user-attachments/assets/b52075b3-eb3b-45dc-93dc-8c5e9cfd35dd" /> I hope this will make the end-to-end debugging and fixing easier due to the async await support of playwright which is missing in cypress. This is a pure refactoring change. - [x] Briefly describe the changes in this PR. - [x] Add an entry to `CHANGELOG.md` under the `## main` section. --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
39 lines
1.3 KiB
TypeScript
39 lines
1.3 KiB
TypeScript
import { v1 as uuid } from "uuid";
|
|
import { PlaywrightHelper } from "./playwright-helper";
|
|
|
|
export class ModalDriver {
|
|
private readonly helper = new PlaywrightHelper();
|
|
|
|
public when = {
|
|
fillLayers: async (opts: { type: string; layer?: string; id?: string }) => {
|
|
const { when, get, then } = this.helper;
|
|
const id = opts.id ?? `${opts.type}:${uuid()}`;
|
|
|
|
await when.select("add-layer.layer-type.select", opts.type);
|
|
await when.type("add-layer.layer-id.input", id);
|
|
|
|
if (opts.layer) {
|
|
const input = get.elementByTestId("add-layer.layer-source-block").locator("input");
|
|
await input.click();
|
|
await input.fill(opts.layer);
|
|
// The source input is a controlled downshift combobox; wait for React to
|
|
// settle on the typed value before submitting.
|
|
await then(input).shouldHaveValue(opts.layer);
|
|
// Close the autocomplete menu so it does not intercept the add button.
|
|
await get.elementByTestId("add-layer.layer-id.input").click();
|
|
}
|
|
await when.click("add-layer");
|
|
|
|
return id;
|
|
},
|
|
|
|
open: async () => {
|
|
await this.helper.when.click("layer-list:add-layer");
|
|
},
|
|
|
|
close: async (key: string) => {
|
|
await this.helper.when.click(key + ".close-modal");
|
|
},
|
|
};
|
|
}
|