From a5d9995bb8a670fb2dcea9b01aaa215201cf132d Mon Sep 17 00:00:00 2001 From: theresa Date: Tue, 30 Aug 2022 10:26:50 +0200 Subject: [PATCH] Tests: Add tests for mobile toolbar --- .../acceptance-private/components.js | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 frontend/tests/acceptance/acceptance-private/components.js diff --git a/frontend/tests/acceptance/acceptance-private/components.js b/frontend/tests/acceptance/acceptance-private/components.js new file mode 100644 index 000000000..faf3659f5 --- /dev/null +++ b/frontend/tests/acceptance/acceptance-private/components.js @@ -0,0 +1,46 @@ +import { Selector } from "testcafe"; +import testcafeconfig from "../../testcafeconfig.json"; +import Toolbar from "../page-model/toolbar"; +import Menu from "../page-model/menu"; +import Page from "../page-model/page"; + +fixture`Test components`.page`${testcafeconfig.url}`; + +const toolbar = new Toolbar(); +const menu = new Menu(); +const page = new Page(); + +test.meta("testID", "components-001").only.meta({ mode: "private" })( + "Common: Mobile Toolbar", + async (t) => { + if (t.browser.platform === "mobile") { + await t.expect(toolbar.openMobileToolbar.visible).notOk(); + await page.login("admin", "photoprism"); + + if (await toolbar.openMobileToolbar.visible) { + await t.click(toolbar.openMobileToolbar); + } + await toolbar.checkMobileMenuActionAvailability("login", false); + await toolbar.checkMobileMenuActionAvailability("logout", true); + 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("logout"); + await t + .expect(page.nameInput.visible) + .ok() + .expect(Selector(".input-search input").visible) + .notOk(); + } + } +);