photoprism/frontend/tests/acceptance/views.js

58 lines
2.1 KiB
JavaScript
Raw Normal View History

2019-05-21 17:00:46 +02:00
import { Selector } from 'testcafe';
import testcafeconfig from './testcafeconfig';
import Page from "./page-model";
fixture`Test views`
.page`${testcafeconfig.url}`;
const page = new Page();
test('Open photo in fullscreen', async t => {
await t
.click(Selector('div.v-image__image').nth(0))
.expect(Selector('#p-photo-viewer').visible).ok()
.expect(Selector('img.pswp__img').visible).ok();
}),
2019-06-22 15:41:44 +02:00
test('Open details view via button', async t => {
2019-05-21 17:00:46 +02:00
await t
2019-06-22 15:41:44 +02:00
.click('#advancedMenu')
.click(Selector('i').withText('view_column'))
2019-05-21 17:00:46 +02:00
.expect(Selector('div.v-image__image').visible).ok()
.expect(Selector('div.caption').visible).ok()
.expect(Selector('#p-photo-viewer').visible).notOk()
2019-06-22 15:41:44 +02:00
.expect(Selector('i').withText('view_column').exists).notOk()
.expect(Selector('i').withText('view_list').visible).ok()
2019-05-21 17:00:46 +02:00
}),
2019-06-22 15:41:44 +02:00
test('Open mosaic view via select', async t => {
2019-05-21 17:00:46 +02:00
await t
.click('#advancedMenu');
await page.setFilter('view', 'Mosaic');
await t
.expect(Selector('div.v-image__image').visible).ok()
.expect(Selector('div.p-photo-mosaic').visible).ok()
.expect(Selector('div.caption').exists).notOk()
.expect(Selector('#p-photo-viewer').visible).notOk();
}),
2019-06-22 15:41:44 +02:00
test('Open list view via select', async t => {
2019-05-21 17:00:46 +02:00
await t
.click('#advancedMenu');
await page.setFilter('view', 'List');
await t
.expect(Selector('table.v-datatable').visible).ok()
.expect(Selector('div.v-image__image').exists).notOk()
.expect(Selector('div.p-photo-list').visible).ok();
}),
2019-06-22 15:41:44 +02:00
test('Open tile view via select', async t => {
2019-05-21 17:00:46 +02:00
await t
.click('#advancedMenu');
await page.setFilter('view', 'List');
await t
.expect(Selector('div.p-photo-list').visible).ok();
await page.setFilter('view', 'Tile');
await t
.expect(Selector('div.v-image__image').visible).ok()
.expect(Selector('div.p-photo-tiles').visible).ok()
.expect(Selector('div.caption').exists).notOk()
.expect(Selector('#p-photo-viewer').visible).notOk();
});