Refactor driver for E2E (#843)

This is basically the content of #841 with the code review changes and
relevant fixes to tests/driver code to pass the tests.
CC: @ShellyDCMS

After this we should lint the project and add the lint to the CI to make
sure it doesn't break.

---------

Co-authored-by: ShellyDCMS <60476837+ShellyDCMS@users.noreply.github.com>
Co-authored-by: shelly_goldblit <shelly_goldblit@dell.com>
This commit is contained in:
Harel M
2023-12-20 16:34:46 +02:00
committed by GitHub
parent f219ff1e17
commit 4d1e2e6893
19 changed files with 3386 additions and 4278 deletions
+76 -59
View File
@@ -1,80 +1,97 @@
import driver from "./driver";
import MaputnikDriver from "./driver";
describe("history", () => {
let { beforeAndAfter, given, when, get, should } = new MaputnikDriver();
beforeAndAfter();
let undoKeyCombo: string;
let redoKeyCombo: string;
before(() => {
const isMac = driver.isMac();
undoKeyCombo = isMac ? '{meta}z' : '{ctrl}z';
redoKeyCombo = isMac ? '{meta}{shift}z' : '{ctrl}y';
driver.beforeEach();
const isMac = get.isMac();
undoKeyCombo = isMac ? "{meta}z" : "{ctrl}z";
redoKeyCombo = isMac ? "{meta}{shift}z" : "{ctrl}y";
});
it("undo/redo", () => {
driver.setStyle('geojson');
driver.openLayersModal();
when.setStyle("geojson");
when.openLayersModal();
driver.isStyleStoreEqual((a: any) => a.layers, []);
should.equalStyleStore((a: any) => a.layers, []);
driver.fillLayersModal({
when.fillLayersModal({
id: "step 1",
type: "background"
})
type: "background",
});
driver.isStyleStoreEqual((a: any) => a.layers, [
{
"id": "step 1",
"type": 'background'
}
]);
should.equalStyleStore(
(a: any) => a.layers,
[
{
id: "step 1",
type: "background",
},
]
);
driver.openLayersModal();
driver.fillLayersModal({
when.openLayersModal();
when.fillLayersModal({
id: "step 2",
type: "background"
})
type: "background",
});
driver.isStyleStoreEqual((a: any) => a.layers, [
{
"id": "step 1",
"type": 'background'
},
{
"id": "step 2",
"type": 'background'
}
]);
should.equalStyleStore(
(a: any) => a.layers,
[
{
id: "step 1",
type: "background",
},
{
id: "step 2",
type: "background",
},
]
);
driver.typeKeys(undoKeyCombo);
driver.isStyleStoreEqual((a: any) => a.layers, [
{
"id": "step 1",
"type": 'background'
}
]);
when.typeKeys(undoKeyCombo);
should.equalStyleStore(
(a: any) => a.layers,
[
{
id: "step 1",
type: "background",
},
]
);
driver.typeKeys(undoKeyCombo)
driver.isStyleStoreEqual((a: any) => a.layers, []);
when.typeKeys(undoKeyCombo);
should.equalStyleStore((a: any) => a.layers, []);
driver.typeKeys(redoKeyCombo)
driver.isStyleStoreEqual((a: any) => a.layers, [
{
"id": "step 1",
"type": 'background'
}
]);
when.typeKeys(redoKeyCombo);
should.equalStyleStore(
(a: any) => a.layers,
[
{
id: "step 1",
type: "background",
},
]
);
driver.typeKeys(redoKeyCombo)
driver.isStyleStoreEqual((a: any) => a.layers, [
{
"id": "step 1",
"type": 'background'
},
{
"id": "step 2",
"type": 'background'
}
]);
when.typeKeys(redoKeyCombo);
should.equalStyleStore(
(a: any) => a.layers,
[
{
id: "step 1",
type: "background",
},
{
id: "step 2",
type: "background",
},
]
);
});
})
});