274 lines
9.8 KiB
JavaScript
274 lines
9.8 KiB
JavaScript
import { Selector } from "testcafe";
|
|
import testcafeconfig from "../testcafeconfig";
|
|
import Page from "../page-model";
|
|
|
|
fixture`Test settings`.page`${testcafeconfig.url}`;
|
|
|
|
const page = new Page();
|
|
|
|
test.meta("testID", "settings-general-001")("General Settings", async (t) => {
|
|
await t.expect(Selector(".action-upload").exists, { timeout: 5000 }).ok();
|
|
await page.openNav();
|
|
await t
|
|
.expect(Selector(".nav-browse").innerText)
|
|
.contains("Search")
|
|
.click(Selector(".nav-browse"));
|
|
await page.setFilter("view", "Cards");
|
|
await page.search("photo:true stack:true");
|
|
await page.toggleSelectNthPhoto(0);
|
|
await t
|
|
.click(Selector("button.action-menu"))
|
|
.expect(Selector("button.action-download").visible)
|
|
.ok()
|
|
.expect(Selector("button.action-share").visible)
|
|
.ok()
|
|
.expect(Selector("button.action-edit").visible)
|
|
.ok()
|
|
.expect(Selector("button.action-private").visible)
|
|
.ok();
|
|
await page.editSelected();
|
|
await t
|
|
.click(Selector("#tab-files"))
|
|
.expect(Selector("button.action-download").nth(0).visible)
|
|
.ok()
|
|
.click(Selector("li.v-expansion-panel__container").nth(1))
|
|
.expect(Selector("button.action-download").nth(1).visible)
|
|
.ok()
|
|
.expect(Selector("button.action-delete").visible)
|
|
.ok()
|
|
.click(Selector("button.action-close"));
|
|
await page.clearSelection();
|
|
await t.click(Selector("div.is-photo").nth(0));
|
|
await t
|
|
.expect(Selector("#photo-viewer").visible)
|
|
.ok()
|
|
.expect(Selector(".action-download").exists)
|
|
.ok()
|
|
.hover(Selector('button[title="Close"]'))
|
|
.click(Selector('button[title="Close"]'));
|
|
if (t.browser.os.name !== "macOS") {
|
|
if (await Selector('button[title="Close"]').exists) {
|
|
await t.click(Selector('button[title="Close"]'));
|
|
}
|
|
}
|
|
await t
|
|
.expect(Selector("button.action-location").visible)
|
|
.ok()
|
|
.click(Selector("button.action-title-edit").nth(0))
|
|
.expect(Selector(".input-title input", { timeout: 8000 }).hasAttribute("disabled"))
|
|
.notOk()
|
|
.click(Selector("#tab-labels"))
|
|
.expect(Selector("button.p-photo-label-add").visible)
|
|
.ok()
|
|
.click(Selector("#tab-details"))
|
|
.click(Selector("button.action-close"));
|
|
await page.openNav();
|
|
await t
|
|
.click(Selector(".nav-library"))
|
|
.expect(Selector("#tab-library-import a").visible)
|
|
.ok()
|
|
.expect(Selector("#tab-library-logs a").visible)
|
|
.ok();
|
|
await page.openNav();
|
|
await t.click(Selector("div.nav-browse + div")).click(Selector(".nav-archive"));
|
|
await page.toggleSelectNthPhoto(0);
|
|
await t
|
|
.click(Selector("button.action-menu"))
|
|
.expect(Selector("button.action-delete").exists)
|
|
.ok();
|
|
await page.clearSelection();
|
|
await page.openNav();
|
|
await t
|
|
.expect(Selector(".nav-archive").visible)
|
|
.ok()
|
|
.expect(Selector(".nav-review").visible)
|
|
.ok()
|
|
.click(Selector("div.nav-library + div"))
|
|
.expect(Selector(".nav-originals").visible)
|
|
.ok()
|
|
.click(Selector("div.nav-albums + div"))
|
|
.expect(Selector(".nav-folders").visible)
|
|
.ok()
|
|
.expect(Selector(".nav-moments").visible)
|
|
.ok()
|
|
.expect(Selector(".nav-people").visible)
|
|
.ok()
|
|
.expect(Selector(".nav-labels").visible)
|
|
.ok()
|
|
.expect(Selector(".nav-places").visible)
|
|
.ok()
|
|
.expect(Selector(".nav-private").visible)
|
|
.ok()
|
|
.click(Selector(".nav-settings"))
|
|
.click(Selector(".input-language input"))
|
|
.hover(Selector("div").withText("Deutsch").parent('div[role="listitem"]'))
|
|
.click(Selector("div").withText("Deutsch").parent('div[role="listitem"]'))
|
|
.click(Selector(".input-upload input"))
|
|
.click(Selector(".input-download input"))
|
|
.click(Selector(".input-import input"))
|
|
.click(Selector(".input-archive input"))
|
|
.click(Selector(".input-edit input"))
|
|
.click(Selector(".input-files input"))
|
|
.click(Selector(".input-people input"))
|
|
.click(Selector(".input-moments input"))
|
|
.click(Selector(".input-labels input"))
|
|
.click(Selector(".input-logs input"))
|
|
.click(Selector(".input-share input"))
|
|
.click(Selector(".input-places input"))
|
|
.click(Selector(".input-delete input"))
|
|
.click(Selector(".input-private input"))
|
|
.click(Selector("#tab-settings-library"))
|
|
.click(Selector(".input-review input"));
|
|
await page.openNav();
|
|
await t.eval(() => location.reload());
|
|
await page.openNav();
|
|
await t.click(Selector(".nav-calendar"));
|
|
await page.checkButtonVisibility("download", false, false);
|
|
await page.openNav();
|
|
await t.click(Selector(".nav-calendar"));
|
|
await page.checkButtonVisibility("share", false, false);
|
|
await page.openNav();
|
|
await t.click(Selector(".nav-calendar"));
|
|
await page.checkButtonVisibility("upload", false, false);
|
|
await page.openNav();
|
|
await t.click(Selector(".nav-folders"));
|
|
await page.checkButtonVisibility("download", false, false);
|
|
await page.openNav();
|
|
await t.click(Selector(".nav-folders"));
|
|
await page.checkButtonVisibility("share", false, false);
|
|
await page.openNav();
|
|
await t.click(Selector(".nav-folders"));
|
|
await page.checkButtonVisibility("upload", false, false);
|
|
await page.openNav();
|
|
await t.click(Selector(".nav-albums"));
|
|
await page.checkButtonVisibility("download", false, false);
|
|
await page.openNav();
|
|
await t.click(Selector(".nav-albums"));
|
|
await page.checkButtonVisibility("share", false, false);
|
|
await page.openNav();
|
|
await t.click(Selector(".nav-albums"));
|
|
await page.checkButtonVisibility("upload", false, false);
|
|
await page.openNav();
|
|
await t
|
|
.click(Selector(".nav-browse"))
|
|
.expect(Selector("button.action-upload").exists)
|
|
.notOk()
|
|
.expect(Selector(".nav-browse").innerText)
|
|
.contains("Suche")
|
|
.click(Selector(".nav-browse"));
|
|
await page.search("photo:true stack:true");
|
|
await page.toggleSelectNthPhoto(0);
|
|
await t
|
|
.click(Selector("button.action-menu"))
|
|
.expect(Selector("button.action-download").exists)
|
|
.notOk()
|
|
.expect(Selector("button.action-share").exists)
|
|
.notOk()
|
|
.expect(Selector("button.action-edit").visible)
|
|
.notOk()
|
|
.expect(Selector("button.action-private").exists)
|
|
.notOk()
|
|
.click(Selector("button.action-title-edit").nth(0))
|
|
.click(Selector("#tab-files"))
|
|
.expect(Selector("button.action-download").nth(0).visible)
|
|
.notOk()
|
|
.click(Selector("li.v-expansion-panel__container").nth(1))
|
|
.expect(Selector("button.action-download").nth(1).visible)
|
|
.notOk()
|
|
.expect(Selector("button.action-delete").visible)
|
|
.notOk()
|
|
.click(Selector("button.action-close"));
|
|
await page.search("photo:true");
|
|
await t
|
|
.hover(Selector(".is-photo.type-image").nth(0))
|
|
.click(Selector(".is-photo.type-image .action-fullscreen").nth(0));
|
|
await t
|
|
.expect(Selector("#photo-viewer", { timeout: 5000 }).visible)
|
|
.ok()
|
|
.expect(Selector(".action-download").exists)
|
|
.notOk()
|
|
.hover(Selector('button[title="Schließen"]'))
|
|
.click(Selector('button[title="Schließen"]'));
|
|
if (await Selector('button[title="Schließen"]').visible) {
|
|
await t.click(Selector('button[title="Schließen"]'));
|
|
}
|
|
await page.toggleSelectNthPhoto(0);
|
|
await t
|
|
.expect(Selector("button.action-location").exists)
|
|
.notOk()
|
|
.click(Selector("button.action-title-edit").nth(0))
|
|
.expect(Selector(".input-title input").hasAttribute("disabled"))
|
|
.ok()
|
|
.expect(Selector(".input-latitude input").hasAttribute("disabled"))
|
|
.ok()
|
|
.expect(Selector(".input-timezone input").hasAttribute("disabled"))
|
|
.ok()
|
|
.expect(Selector(".input-country input").hasAttribute("disabled"))
|
|
.ok()
|
|
.expect(Selector(".input-description textarea").hasAttribute("disabled"))
|
|
.ok()
|
|
.expect(Selector(".input-keywords textarea").hasAttribute("disabled"))
|
|
.ok()
|
|
.click(Selector("#tab-labels"))
|
|
.expect(Selector("button.p-photo-label-add").exists)
|
|
.notOk()
|
|
.click(Selector("#tab-details"))
|
|
.click(Selector("button.action-close"));
|
|
await page.openNav();
|
|
await t
|
|
.click(Selector(".nav-library"))
|
|
.expect(Selector("#tab-library-import a").exists)
|
|
.notOk()
|
|
.expect(Selector("#tab-library-logs a").exists)
|
|
.notOk();
|
|
await page.openNav();
|
|
await t
|
|
.click(Selector("div.nav-browse + div"))
|
|
.expect(Selector(".nav-archive").visible)
|
|
.notOk()
|
|
.expect(Selector(".nav-review").exists)
|
|
.notOk()
|
|
.click(Selector("div.nav-library + div"))
|
|
.expect(Selector(".nav-originals").visible)
|
|
.notOk()
|
|
.click(Selector("div.nav-albums + div"))
|
|
.expect(Selector(".nav-moments").visible)
|
|
.notOk()
|
|
.expect(Selector(".nav-people").visible)
|
|
.notOk()
|
|
.expect(Selector(".nav-labels").visible)
|
|
.notOk()
|
|
.expect(Selector(".nav-places").visible)
|
|
.notOk()
|
|
.expect(Selector(".nav-private").visible)
|
|
.notOk()
|
|
|
|
.click(Selector(".nav-settings"))
|
|
.click(Selector(".input-language input"))
|
|
.hover(Selector("div").withText("English").parent('div[role="listitem"]'))
|
|
.click(Selector("div").withText("English").parent('div[role="listitem"]'))
|
|
.click(Selector(".input-upload input"))
|
|
.click(Selector(".input-download input"))
|
|
.click(Selector(".input-import input"))
|
|
.click(Selector(".input-archive input"))
|
|
.click(Selector(".input-edit input"))
|
|
.click(Selector(".input-files input"))
|
|
.click(Selector(".input-moments input"))
|
|
.click(Selector(".input-labels input"))
|
|
.click(Selector(".input-logs input"))
|
|
.click(Selector(".input-share input"))
|
|
.click(Selector(".input-places input"))
|
|
.click(Selector(".input-private input"))
|
|
.click(Selector("#tab-settings-library"))
|
|
.click(Selector(".input-review input"));
|
|
await page.openNav();
|
|
await t.click(Selector("div.nav-browse + div")).click(Selector(".nav-archive"));
|
|
await page.toggleSelectNthPhoto(0);
|
|
await t
|
|
.click(Selector("button.action-menu"))
|
|
.expect(Selector("button.action-delete").exists)
|
|
.notOk();
|
|
await page.clearSelection();
|
|
await page.openNav();
|
|
await t.click(Selector(".nav-settings")).click(Selector(".input-delete input"));
|
|
});
|