Tests: Add component test for mobile toolbar

This commit is contained in:
theresa 2022-08-30 13:23:35 +02:00
parent d8093519db
commit fcb5ef33cb

View file

@ -1,10 +1,14 @@
import { Selector } from "testcafe"; import { Selector } from "testcafe";
import testcafeconfig from "../../testcafeconfig.json"; import testcafeconfig from "../../testcafeconfig.json";
import Toolbar from "../page-model/toolbar"; import Toolbar from "../page-model/toolbar";
import Menu from "../page-model/menu";
import Photoviewer from "../page-model/photoviewer";
fixture`Test components`.page`${testcafeconfig.url}`; fixture`Test components`.page`${testcafeconfig.url}`;
const toolbar = new Toolbar(); const toolbar = new Toolbar();
const menu = new Menu();
const photoviewer = new Photoviewer();
test.meta("testID", "components-001").meta({ type: "short", mode: "public" })( test.meta("testID", "components-001").meta({ type: "short", mode: "public" })(
"Common: Test filter options", "Common: Test filter options",
@ -16,7 +20,9 @@ test.meta("testID", "components-001").meta({ type: "short", mode: "public" })(
test.meta("testID", "components-002").meta({ type: "short", mode: "public" })( test.meta("testID", "components-002").meta({ type: "short", mode: "public" })(
"Common: Fullscreen mode", "Common: Fullscreen mode",
async (t) => { async (t) => {
await t.click(Selector("div.type-image div.image.clickable").nth(0)); await toolbar.search("photo:true");
await photoviewer.openPhotoViewer("nth", 0);
if (await Selector("#photo-viewer").visible) { if (await Selector("#photo-viewer").visible) {
await t await t
@ -61,9 +67,10 @@ test.meta("testID", "components-005").meta({ type: "short", mode: "public" })(
"Common: Card view", "Common: Card view",
async (t) => { async (t) => {
await toolbar.setFilter("view", "Cards"); await toolbar.setFilter("view", "Cards");
await toolbar.search("photo:true");
await t await t
.expect(Selector("div.type-image div.image.clickable").visible) .expect(Selector("div.type-image div.clickable").visible)
.ok() .ok()
.expect(Selector("div.is-photo div.caption").visible) .expect(Selector("div.is-photo div.caption").visible)
.ok() .ok()
@ -71,3 +78,66 @@ test.meta("testID", "components-005").meta({ type: "short", mode: "public" })(
.notOk(); .notOk();
} }
); );
test.meta("testID", "components-006").meta({ mode: "public" })(
"Common: Mobile Toolbar",
async (t) => {
if (t.browser.platform === "mobile") {
await menu.openPage("browse");
if (await toolbar.openMobileToolbar.visible) {
await t.click(toolbar.openMobileToolbar);
}
await toolbar.checkMobileMenuActionAvailability("login", false);
await toolbar.checkMobileMenuActionAvailability("logout", false);
await toolbar.checkMobileMenuActionAvailability("reload", true);
await toolbar.checkMobileMenuActionAvailability("logs", true);
await toolbar.checkMobileMenuActionAvailability("settings", true);
await toolbar.checkMobileMenuActionAvailability("upload", true);
await toolbar.checkMobileMenuActionAvailability("reload", true);
await toolbar.checkMobileMenuActionAvailability("search", false);
await toolbar.checkMobileMenuActionAvailability("albums", true);
await toolbar.checkMobileMenuActionAvailability("library", true);
await toolbar.checkMobileMenuActionAvailability("files", true);
await toolbar.checkMobileMenuActionAvailability("sync", true);
await toolbar.checkMobileMenuActionAvailability("account", true);
await toolbar.checkMobileMenuActionAvailability("manual", true);
await toolbar.triggerMobileMenuAction("albums");
if (await toolbar.openMobileToolbar.visible) {
await t.click(toolbar.openMobileToolbar);
}
await toolbar.checkMobileMenuActionAvailability("login", false);
await toolbar.checkMobileMenuActionAvailability("logout", false);
await toolbar.checkMobileMenuActionAvailability("reload", true);
await toolbar.checkMobileMenuActionAvailability("logs", true);
await toolbar.checkMobileMenuActionAvailability("settings", true);
await toolbar.checkMobileMenuActionAvailability("upload", true);
await toolbar.checkMobileMenuActionAvailability("reload", true);
await toolbar.checkMobileMenuActionAvailability("search", true);
await toolbar.checkMobileMenuActionAvailability("albums", false);
await toolbar.checkMobileMenuActionAvailability("library", true);
await toolbar.checkMobileMenuActionAvailability("files", true);
await toolbar.checkMobileMenuActionAvailability("sync", true);
await toolbar.checkMobileMenuActionAvailability("account", true);
await toolbar.checkMobileMenuActionAvailability("manual", true);
await toolbar.triggerMobileMenuAction("logs");
if (await toolbar.openMobileToolbar.visible) {
await t.click(toolbar.openMobileToolbar);
}
await toolbar.checkMobileMenuActionAvailability("login", false);
await toolbar.checkMobileMenuActionAvailability("logout", false);
await toolbar.checkMobileMenuActionAvailability("reload", true);
await toolbar.checkMobileMenuActionAvailability("logs", false);
await toolbar.checkMobileMenuActionAvailability("settings", true);
await toolbar.checkMobileMenuActionAvailability("upload", true);
await toolbar.checkMobileMenuActionAvailability("reload", true);
await toolbar.checkMobileMenuActionAvailability("search", true);
await toolbar.checkMobileMenuActionAvailability("albums", true);
await toolbar.checkMobileMenuActionAvailability("library", false);
await toolbar.checkMobileMenuActionAvailability("files", true);
await toolbar.checkMobileMenuActionAvailability("sync", true);
await toolbar.checkMobileMenuActionAvailability("account", true);
await toolbar.checkMobileMenuActionAvailability("manual", true);
}
}
);