new version
This commit is contained in:
110
tests/specs/shared/playLevels.js
Normal file
110
tests/specs/shared/playLevels.js
Normal file
@@ -0,0 +1,110 @@
|
||||
const find = require("../../lib/PromiseSelector");
|
||||
const $ = find.one;
|
||||
const $$ = find.multiple;
|
||||
const functions = require("../../lib/functions.js");
|
||||
|
||||
async function solveLevel() {
|
||||
await functions.pause(500);
|
||||
await browser.executeAsync(async (delayFactor, done) => {
|
||||
const delay = 100*delayFactor;
|
||||
|
||||
let promise = Promise.resolve();
|
||||
document.querySelectorAll(".segment.segment-parent.rotate-270").forEach(elem => {
|
||||
promise = promise.then(() => new Promise(r => {
|
||||
elem.dispatchEvent(new MouseEvent("mousedown", {
|
||||
bubbles: true
|
||||
}));
|
||||
elem.dispatchEvent(new MouseEvent("mouseup"));
|
||||
setTimeout(r, delay);
|
||||
}))
|
||||
});
|
||||
document.querySelectorAll(".segment.segment-parent.rotate-180").forEach(elem => {
|
||||
promise = promise.then(() => new Promise(r => {
|
||||
elem.dispatchEvent(new MouseEvent("mousedown", {
|
||||
bubbles: true
|
||||
}));
|
||||
elem.dispatchEvent(new MouseEvent("mouseup"));
|
||||
setTimeout(r, delay);
|
||||
}))
|
||||
promise = promise.then(() => new Promise(r => {
|
||||
elem.dispatchEvent(new MouseEvent("mousedown", {
|
||||
bubbles: true
|
||||
}));
|
||||
elem.dispatchEvent(new MouseEvent("mouseup"));
|
||||
setTimeout(r, delay);
|
||||
}))
|
||||
});
|
||||
document.querySelectorAll(".segment.segment-parent.rotate-90").forEach(elem => {
|
||||
promise = promise.then(() => new Promise(r => {
|
||||
elem.dispatchEvent(new MouseEvent("mousedown", {
|
||||
bubbles: true
|
||||
}));
|
||||
elem.dispatchEvent(new MouseEvent("mouseup"));
|
||||
setTimeout(r, delay);
|
||||
}))
|
||||
promise = promise.then(() => new Promise(r => {
|
||||
elem.dispatchEvent(new MouseEvent("mousedown", {
|
||||
bubbles: true
|
||||
}));
|
||||
elem.dispatchEvent(new MouseEvent("mouseup"));
|
||||
setTimeout(r, delay);
|
||||
}))
|
||||
promise = promise.then(() => new Promise(r => {
|
||||
elem.dispatchEvent(new MouseEvent("mousedown", {
|
||||
bubbles: true
|
||||
}));
|
||||
elem.dispatchEvent(new MouseEvent("mouseup"));
|
||||
setTimeout(r, delay);
|
||||
}))
|
||||
});
|
||||
promise.then(() => done());
|
||||
}, browser.config.delayFactor)
|
||||
|
||||
await find.one("#won-text").isDisplayed();
|
||||
await find.one("#continue-button").click();
|
||||
}
|
||||
|
||||
describe("fsj suite", () => {
|
||||
jasmine.DEFAULT_TIMEOUT_INTERVAL = 3*60*60 * 1000 ;
|
||||
|
||||
let baseUrl = null;
|
||||
beforeAll(async () => {
|
||||
|
||||
if (browser.config.baseUrl.trim() !== "") {
|
||||
baseUrl = browser.config.baseUrl;
|
||||
} else {
|
||||
baseUrl = await browser.getUrl();
|
||||
}
|
||||
|
||||
await browser.setTimeout({
|
||||
implicit: 5000
|
||||
});
|
||||
});
|
||||
|
||||
beforeEach(async function () {
|
||||
|
||||
await browser.url(baseUrl);
|
||||
|
||||
await browser.waitUntil(async () => {
|
||||
let element = $("#main-content");
|
||||
return await element.isDisplayed()
|
||||
});
|
||||
|
||||
// await functions.acceptCookies();
|
||||
|
||||
await find.one("#play-button").click();
|
||||
});
|
||||
|
||||
it("play all levels", async function () {
|
||||
|
||||
await find.one("#level .segment").isDisplayed();
|
||||
await solveLevel();
|
||||
await find.one(".help-action").click();
|
||||
while (await find.one("#level").isDisplayed()) {
|
||||
await solveLevel();
|
||||
}
|
||||
|
||||
// await functions.pause(5000);
|
||||
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user