From fcb5ef33cbeaa50f73d658286020869617f37f88 Mon Sep 17 00:00:00 2001 From: theresa Date: Tue, 30 Aug 2022 13:23:35 +0200 Subject: [PATCH] Tests: Add component test for mobile toolbar --- .../acceptance-public/components.js | 74 ++++++++++++++++++- 1 file changed, 72 insertions(+), 2 deletions(-) diff --git a/frontend/tests/acceptance/acceptance-public/components.js b/frontend/tests/acceptance/acceptance-public/components.js index af1039c26..d172e3866 100644 --- a/frontend/tests/acceptance/acceptance-public/components.js +++ b/frontend/tests/acceptance/acceptance-public/components.js @@ -1,10 +1,14 @@ import { Selector } from "testcafe"; import testcafeconfig from "../../testcafeconfig.json"; import Toolbar from "../page-model/toolbar"; +import Menu from "../page-model/menu"; +import Photoviewer from "../page-model/photoviewer"; fixture`Test components`.page`${testcafeconfig.url}`; const toolbar = new Toolbar(); +const menu = new Menu(); +const photoviewer = new Photoviewer(); test.meta("testID", "components-001").meta({ type: "short", mode: "public" })( "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" })( "Common: Fullscreen mode", 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) { await t @@ -61,9 +67,10 @@ test.meta("testID", "components-005").meta({ type: "short", mode: "public" })( "Common: Card view", async (t) => { await toolbar.setFilter("view", "Cards"); + await toolbar.search("photo:true"); await t - .expect(Selector("div.type-image div.image.clickable").visible) + .expect(Selector("div.type-image div.clickable").visible) .ok() .expect(Selector("div.is-photo div.caption").visible) .ok() @@ -71,3 +78,66 @@ test.meta("testID", "components-005").meta({ type: "short", mode: "public" })( .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); + } + } +);