photoprism/frontend/tests/acceptance/originals.js

73 lines
2.9 KiB
JavaScript
Raw Normal View History

2020-06-03 08:42:56 +02:00
import { Selector } from 'testcafe';
import testcafeconfig from './testcafeconfig';
import Page from "./page-model";
fixture `Test files`
2020-06-04 18:25:29 +02:00
.page`${testcafeconfig.url}`;
2020-06-03 08:42:56 +02:00
const page = new Page();
2021-01-14 17:57:38 +01:00
test
.meta('testID', 'originals-001')
('Add original files to album', async t => {
2020-06-03 08:42:56 +02:00
await page.openNav();
await t.click(Selector('.nav-albums'));
2020-06-03 08:42:56 +02:00
await t
2020-06-03 13:06:06 +02:00
.typeText(Selector('.p-albums-search input'), 'KanadaVacation')
2020-06-03 08:42:56 +02:00
.pressKey('enter');
await t
.expect(Selector('h3').innerText).eql('Couldn\'t find anything');
2020-06-03 08:42:56 +02:00
await t
.click(Selector('div.nav-library + div'))
.click(Selector('.nav-originals'))
2020-06-03 13:06:06 +02:00
.click(Selector('button').withText('Vacation'));
const FirstItemInVacation = await Selector('div.result').nth(0).innerText;
const KanadaUid = await Selector('div.result').nth(0).getAttribute('data-uid');
const SecondItemInVacation = await Selector('div.result').nth(1).innerText;
2020-06-03 08:42:56 +02:00
await t
2020-06-03 13:06:06 +02:00
.expect(FirstItemInVacation).contains('Kanada')
.expect(SecondItemInVacation).contains('Korsika')
.click(Selector('button').withText('Kanada'));
2020-06-03 08:42:56 +02:00
const FirstItemInKanada = await Selector('div.result').nth(0).innerText;
const SecondItemInKanada = await Selector('div.result').nth(1).innerText;
2020-06-03 08:42:56 +02:00
await t
2020-06-03 13:06:06 +02:00
.expect(FirstItemInKanada).contains('BotanicalGarden')
2021-01-14 17:57:38 +01:00
.expect(SecondItemInKanada).contains('originals-001_2.jpg')
2020-06-03 13:06:06 +02:00
.click(Selector('button').withText('BotanicalGarden'))
2020-06-05 18:03:22 +02:00
.click(Selector('a[href="/library/files/Vacation"]'));
await page.selectPhotoFromUID(KanadaUid);
2020-12-10 18:26:33 +01:00
const clipboardCount = await Selector('span.count-clipboard', {timeout: 5000});
2020-06-23 13:06:55 +02:00
await t
.expect(clipboardCount.textContent).eql("1");
await page.addSelectedToAlbum('KanadaVacation');
2020-06-03 08:42:56 +02:00
await t
.click(Selector('.nav-albums'))
2020-06-03 13:06:06 +02:00
.typeText(Selector('.p-albums-search input'), 'KanadaVacation')
.pressKey('enter');
const AlbumUid = await Selector('a.is-album').nth(0).getAttribute('data-uid');
2020-06-03 13:06:06 +02:00
await t
.click(Selector('a.is-album').nth(0));
const PhotoCountAfterAdd = await Selector('div.is-photo', {timeout: 5000}).count;
2020-06-03 08:42:56 +02:00
await t
2020-06-03 13:06:06 +02:00
.expect(PhotoCountAfterAdd).eql(2)
.click(Selector('.nav-albums'));
2020-06-03 13:06:06 +02:00
await page.selectFromUID(AlbumUid);
2020-06-23 13:06:55 +02:00
await page.deleteSelected();
2020-06-03 13:06:06 +02:00
});
2021-01-14 17:57:38 +01:00
test
.meta('testID', 'originals-002')
('Download original files', async t => {
2020-06-03 13:06:06 +02:00
await page.openNav();
2020-06-03 08:42:56 +02:00
await t
.click(Selector('div.nav-library + div'))
.click(Selector('.nav-originals'));
const FirstFile = await Selector('div.is-file').nth(0).getAttribute('data-uid');
await page.selectPhotoFromUID(FirstFile);
2020-12-10 18:26:33 +01:00
const clipboardCount = await Selector('span.count-clipboard', {timeout: 5000});
2020-06-03 08:42:56 +02:00
await t
2020-06-03 13:06:06 +02:00
.expect(clipboardCount.textContent).eql("1")
2020-06-23 13:06:55 +02:00
.click(Selector('button.action-menu'))
.expect(Selector('button.action-download').visible).ok();
2020-06-04 18:25:29 +02:00
});