photoprism/frontend/tests/acceptance/places.js

55 lines
1.7 KiB
JavaScript
Raw Normal View History

2021-01-15 16:02:39 +00:00
import { Selector } from "testcafe";
import { ClientFunction } from "testcafe";
2020-05-31 17:32:02 +00:00
import testcafeconfig from "./testcafeconfig.json";
import Page from "./page-model";
2020-05-31 17:32:02 +00:00
const getLocation = ClientFunction(() => document.location.href);
2021-01-15 16:02:39 +00:00
fixture`Test places page`.page`${testcafeconfig.url}`;
const page = new Page();
2020-05-31 17:32:02 +00:00
2021-01-15 16:02:39 +00:00
test.meta("testID", "places-001")("Test places", async (t) => {
await page.openNav();
2021-01-15 16:02:39 +00:00
await t
.click(Selector(".nav-places"))
.expect(Selector("#map").exists, { timeout: 15000 })
.ok()
.expect(Selector("div.p-map-control").visible)
.ok();
await t.typeText(Selector('input[aria-label="Search"]'), "Berlin").pressKey("enter");
await t
.expect(Selector("div.p-map-control").visible)
.ok()
.expect(getLocation())
2021-09-20 18:09:41 +00:00
.contains("Berlin")
.click(Selector(".nav-browse"))
.expect(Selector("div.is-photo").exists)
.ok()
.click(Selector(".nav-places"))
.expect(Selector("#map").exists, { timeout: 15000 })
.ok()
.expect(Selector("div.p-map-control").visible)
.ok();
2020-07-21 11:57:16 +00:00
});
2020-07-15 10:23:04 +00:00
2021-01-15 16:02:39 +00:00
test.meta("testID", "places-002")("Open photo from places", async (t) => {
//TODO replace wait
if (t.browser.name === "Firefox") {
console.log("Test skipped in firefox");
} else {
await page.openNav();
2021-01-15 16:02:39 +00:00
await t
.click(Selector(".nav-places"))
.expect(Selector("#is-photo-viewer").visible)
.notOk()
.expect(Selector("#map").exists, { timeout: 15000 })
.ok()
.typeText(Selector('input[aria-label="Search"]'), "Berlin")
.pressKey("enter")
.wait(30000)
.click(Selector("div.marker").nth(0), { timeout: 9000 })
2021-02-15 14:57:28 +00:00
.expect(Selector("#photo-viewer").visible)
2021-01-15 16:02:39 +00:00
.ok();
}
});