2020-06-02 13:07:18 +02:00
|
|
|
import { Selector } from 'testcafe';
|
|
|
|
import testcafeconfig from './testcafeconfig';
|
|
|
|
import Page from "./page-model";
|
|
|
|
|
|
|
|
fixture `Test labels`
|
2021-01-13 12:05:43 +01:00
|
|
|
.page`${testcafeconfig.url}`;
|
2020-06-02 13:07:18 +02:00
|
|
|
|
|
|
|
const page = new Page();
|
|
|
|
|
2021-01-14 17:57:38 +01:00
|
|
|
test
|
|
|
|
.meta('testID', 'labels-001')
|
|
|
|
('Remove/Activate Add/Delete Label from photo', async t => {
|
2020-07-03 14:48:43 +02:00
|
|
|
await t.click(Selector('.nav-labels'));
|
2021-01-13 12:05:43 +01:00
|
|
|
const countImportantLabels = await Selector('a.is-label').count;
|
2020-06-02 13:07:18 +02:00
|
|
|
await t
|
|
|
|
.click(Selector('button.action-show-all'));
|
2021-01-13 12:05:43 +01:00
|
|
|
const countAllLabels = await Selector('a.is-label').count;
|
2020-06-02 13:07:18 +02:00
|
|
|
await t
|
|
|
|
.expect(countAllLabels).gt(countImportantLabels)
|
|
|
|
.click(Selector('button.action-show-important'));
|
|
|
|
await page.search('beacon');
|
2021-01-13 12:05:43 +01:00
|
|
|
const LabelBeacon = await Selector('a.is-label').nth(0).getAttribute('data-uid');
|
2020-06-02 13:07:18 +02:00
|
|
|
await t
|
2021-01-13 12:05:43 +01:00
|
|
|
.click(Selector('a.is-label').withAttribute('data-uid', LabelBeacon));
|
|
|
|
const PhotoBeacon = await Selector('div.is-photo').nth(0).getAttribute('data-uid');
|
2020-06-02 13:07:18 +02:00
|
|
|
await t
|
|
|
|
.click(Selector('.action-title-edit').withAttribute('data-uid', PhotoBeacon));
|
|
|
|
const PhotoKeywords = await (Selector('.input-keywords textarea').value);
|
|
|
|
await t
|
|
|
|
.expect(PhotoKeywords).contains('beacon')
|
2020-06-23 13:06:55 +02:00
|
|
|
.click(Selector('#tab-labels'))
|
2020-06-26 16:36:02 +02:00
|
|
|
.click(Selector('button.action-remove'), {timeout: 5000})
|
2020-06-02 13:07:18 +02:00
|
|
|
.typeText(Selector('.input-label input'), 'Test')
|
|
|
|
.click(Selector('button.p-photo-label-add'))
|
2020-06-23 13:06:55 +02:00
|
|
|
.click(Selector('#tab-details'));
|
2020-06-02 13:07:18 +02:00
|
|
|
const PhotoKeywordsAfterEdit = await (Selector('.input-keywords textarea').value);
|
|
|
|
await t
|
|
|
|
.expect(PhotoKeywordsAfterEdit).contains('test')
|
|
|
|
.expect(PhotoKeywordsAfterEdit).notContains('beacon')
|
|
|
|
.click(Selector('.action-close'))
|
2020-07-03 14:48:43 +02:00
|
|
|
.click(Selector('.nav-labels'));
|
2020-06-02 13:07:18 +02:00
|
|
|
await page.search('beacon');
|
|
|
|
await t
|
2020-07-15 09:51:16 +02:00
|
|
|
.expect(Selector('h3').withText('Couldn\'t find anything').visible).ok();
|
2020-06-02 13:07:18 +02:00
|
|
|
await page.search('test');
|
2021-01-13 12:05:43 +01:00
|
|
|
const LabelTest = await Selector('a.is-label').nth(0).getAttribute('data-uid');
|
2020-06-02 13:07:18 +02:00
|
|
|
await t
|
2021-01-13 12:05:43 +01:00
|
|
|
.click(Selector('a.is-label').withAttribute('data-uid', LabelTest))
|
2020-06-02 13:07:18 +02:00
|
|
|
.click(Selector('.action-title-edit').withAttribute('data-uid', PhotoBeacon))
|
2020-06-23 13:06:55 +02:00
|
|
|
.click(Selector('#tab-labels'))
|
2020-06-26 16:36:02 +02:00
|
|
|
.click(Selector('.action-delete'), {timeout: 5000})
|
2020-06-02 13:07:18 +02:00
|
|
|
.click(Selector('.action-on'))
|
2020-06-23 13:06:55 +02:00
|
|
|
.click(Selector('#tab-details'));
|
2020-06-02 13:07:18 +02:00
|
|
|
const PhotoKeywordsAfterUndo = await (Selector('.input-keywords textarea').value);
|
|
|
|
await t
|
|
|
|
.expect(PhotoKeywordsAfterUndo).contains('beacon')
|
|
|
|
.expect(PhotoKeywordsAfterUndo).notContains('test')
|
|
|
|
.click(Selector('.action-close'))
|
2020-07-03 14:48:43 +02:00
|
|
|
.click(Selector('.nav-labels'));
|
2020-06-02 13:07:18 +02:00
|
|
|
await page.search('test');
|
|
|
|
await t
|
2020-07-15 09:51:16 +02:00
|
|
|
.expect(Selector('h3').withText('Couldn\'t find anything').visible).ok();
|
2020-06-02 13:07:18 +02:00
|
|
|
await page.search('beacon');
|
|
|
|
await t
|
2021-01-13 12:05:43 +01:00
|
|
|
.expect(Selector('a').withAttribute('data-uid', LabelBeacon).visible).ok();
|
2020-06-02 13:07:18 +02:00
|
|
|
});
|
|
|
|
|
2021-01-14 17:57:38 +01:00
|
|
|
test
|
|
|
|
.meta('testID', 'labels-002')
|
|
|
|
('Rename Label', async t => {
|
2020-07-03 14:48:43 +02:00
|
|
|
await t.click(Selector('.nav-labels'));
|
2020-06-02 13:07:18 +02:00
|
|
|
await page.search('zebra');
|
2021-01-13 12:05:43 +01:00
|
|
|
const LabelZebra = await Selector('a.is-label').nth(0).getAttribute('data-uid');
|
2020-06-02 13:07:18 +02:00
|
|
|
await t
|
2021-01-13 12:05:43 +01:00
|
|
|
.click(Selector('a.is-label').nth(0));
|
|
|
|
const FirstPhotoZebra = await Selector('div.is-photo', {timeout: 5000}).nth(0).getAttribute('data-uid');
|
|
|
|
const SecondPhotoZebra = await Selector('div.is-photo', {timeout: 5000}).nth(1).getAttribute('data-uid');
|
2020-06-02 13:07:18 +02:00
|
|
|
await t
|
|
|
|
.click(Selector('.action-title-edit').withAttribute('data-uid', FirstPhotoZebra));
|
2020-12-10 18:26:20 +01:00
|
|
|
const FirstPhotoTitle = await (Selector('.input-title input', {timeout: 5000}).value);
|
|
|
|
const FirstPhotoKeywords = await (Selector('.input-keywords textarea', {timeout: 5000}).value);
|
2020-06-02 13:07:18 +02:00
|
|
|
await t
|
|
|
|
.expect(FirstPhotoTitle).contains('Zebra')
|
|
|
|
.expect(FirstPhotoKeywords).contains('zebra')
|
2020-06-23 13:06:55 +02:00
|
|
|
.click(Selector('#tab-labels'))
|
2020-06-02 13:07:18 +02:00
|
|
|
.click(Selector('div.p-inline-edit'))
|
|
|
|
.typeText(Selector('.input-rename input'), 'Horse', { replace: true })
|
|
|
|
.pressKey('enter')
|
2020-06-23 13:06:55 +02:00
|
|
|
.click(Selector('#tab-details'));
|
2020-12-10 18:26:20 +01:00
|
|
|
const FirstPhotoTitleAfterEdit = await (Selector('.input-title input', {timeout: 5000}).value);
|
|
|
|
const FirstPhotoKeywordsAfterEdit = await (Selector('.input-keywords textarea', {timeout: 5000}).value);
|
2020-06-02 13:07:18 +02:00
|
|
|
await t
|
|
|
|
.expect(FirstPhotoTitleAfterEdit).contains('Horse')
|
|
|
|
.expect(FirstPhotoKeywordsAfterEdit).contains('horse')
|
|
|
|
.expect(FirstPhotoTitleAfterEdit).notContains('Zebra')
|
|
|
|
.click(Selector('.action-close'))
|
2020-07-03 14:48:43 +02:00
|
|
|
.click(Selector('.nav-labels'));
|
2020-06-02 13:07:18 +02:00
|
|
|
await page.search('horse');
|
|
|
|
await t
|
2021-01-13 12:05:43 +01:00
|
|
|
.expect(Selector('a').withAttribute('data-uid', LabelZebra).visible).ok()
|
|
|
|
.click(Selector('a.is-label').withAttribute('data-uid', LabelZebra))
|
2020-06-02 13:07:18 +02:00
|
|
|
.expect(Selector('div').withAttribute('data-uid', SecondPhotoZebra).visible).ok()
|
|
|
|
.click(Selector('.action-title-edit').withAttribute('data-uid', FirstPhotoZebra))
|
2020-06-23 13:06:55 +02:00
|
|
|
.click(Selector('#tab-labels'))
|
2020-06-02 13:07:18 +02:00
|
|
|
.click(Selector('div.p-inline-edit'))
|
|
|
|
.typeText(Selector('.input-rename input'), 'Zebra', { replace: true })
|
|
|
|
.pressKey('enter')
|
|
|
|
.click(Selector('.action-close'))
|
2020-07-03 14:48:43 +02:00
|
|
|
.click(Selector('.nav-labels'));
|
2020-06-02 13:07:18 +02:00
|
|
|
await page.search('horse');
|
|
|
|
await t
|
2020-07-15 09:51:16 +02:00
|
|
|
.expect(Selector('h3').withText('Couldn\'t find anything').visible).ok();
|
2020-06-02 13:07:18 +02:00
|
|
|
});
|
|
|
|
|
2021-01-14 17:57:38 +01:00
|
|
|
test
|
|
|
|
.meta('testID', 'labels-003')
|
|
|
|
('Add label to album', async t => {
|
2020-06-02 13:07:18 +02:00
|
|
|
await t
|
2020-07-03 14:48:43 +02:00
|
|
|
.click(Selector('.nav-albums'))
|
2020-06-02 13:07:18 +02:00
|
|
|
.typeText(Selector('.p-albums-search input'), 'Christmas')
|
|
|
|
.pressKey('enter');
|
2021-01-13 12:05:43 +01:00
|
|
|
const AlbumUid = await Selector('a.is-album').nth(0).getAttribute('data-uid');
|
2020-06-02 13:07:18 +02:00
|
|
|
await t
|
2021-01-13 12:05:43 +01:00
|
|
|
.click(Selector('a.is-album').withAttribute('data-uid', AlbumUid));
|
|
|
|
const PhotoCount = await Selector('div.is-photo').count;
|
2020-06-02 13:07:18 +02:00
|
|
|
await t
|
2020-07-03 14:48:43 +02:00
|
|
|
.click(Selector('.nav-labels'));
|
2020-06-02 13:07:18 +02:00
|
|
|
await page.search('landscape');
|
2021-01-13 12:05:43 +01:00
|
|
|
const LabelLandscape = await Selector('a.is-label').nth(1).getAttribute('data-uid');
|
2020-06-02 13:07:18 +02:00
|
|
|
await t
|
2021-01-13 12:05:43 +01:00
|
|
|
.click(Selector('a.is-label').withAttribute('data-uid', LabelLandscape));
|
|
|
|
const FirstPhotoLandscape = await Selector('div.is-photo').nth(0).getAttribute('data-uid');
|
|
|
|
const SecondPhotoLandscape = await Selector('div.is-photo').nth(1).getAttribute('data-uid');
|
2021-01-14 17:57:38 +01:00
|
|
|
const ThirdPhotoLandscape = await Selector('div.is-photo').nth(2).getAttribute('data-uid');
|
2020-06-02 13:07:18 +02:00
|
|
|
await t
|
2020-07-03 14:48:43 +02:00
|
|
|
.click('.nav-labels');
|
2020-06-02 13:07:18 +02:00
|
|
|
await page.selectFromUID(LabelLandscape);
|
2020-05-28 10:00:09 +02:00
|
|
|
|
2020-06-23 13:06:55 +02:00
|
|
|
const clipboardCount = await Selector('span.count-clipboard');
|
|
|
|
await t
|
|
|
|
.expect(clipboardCount.textContent).eql("1");
|
|
|
|
await page.addSelectedToAlbum('Christmas');
|
|
|
|
await t
|
2020-07-03 14:48:43 +02:00
|
|
|
.click(Selector('.nav-albums'))
|
2021-01-13 12:05:43 +01:00
|
|
|
.click(Selector('a.is-album').withAttribute('data-uid', AlbumUid));
|
|
|
|
const PhotoCountAfterAdd = await Selector('div.is-photo', {timeout: 5000}).count;
|
2020-06-02 13:07:18 +02:00
|
|
|
await t
|
2021-01-14 10:29:01 +01:00
|
|
|
.expect(PhotoCountAfterAdd).eql(PhotoCount + 3);
|
2021-01-13 12:05:43 +01:00
|
|
|
await page.selectPhotoFromUID(FirstPhotoLandscape);
|
|
|
|
await page.selectPhotoFromUID(SecondPhotoLandscape);
|
2021-01-14 17:57:38 +01:00
|
|
|
await page.selectPhotoFromUID(ThirdPhotoLandscape);
|
2020-06-02 13:07:18 +02:00
|
|
|
await page.removeSelected();
|
|
|
|
await t
|
|
|
|
.click('.action-reload');
|
2021-01-13 12:05:43 +01:00
|
|
|
const PhotoCountAfterDelete = await Selector('div.is-photo', {timeout: 5000}).count;
|
2020-06-02 13:07:18 +02:00
|
|
|
await t
|
2021-01-14 17:57:38 +01:00
|
|
|
.expect(PhotoCountAfterDelete).eql(PhotoCountAfterAdd - 3);
|
2020-06-03 08:42:56 +02:00
|
|
|
});
|
2020-05-28 10:00:09 +02:00
|
|
|
|
2021-01-14 17:57:38 +01:00
|
|
|
test
|
|
|
|
.meta('testID', 'labels-004')
|
|
|
|
('Delete label', async t => {
|
2020-06-02 13:07:18 +02:00
|
|
|
await t
|
2020-07-03 14:48:43 +02:00
|
|
|
.click(Selector('.nav-labels'));
|
2020-06-02 13:07:18 +02:00
|
|
|
await page.search('dome');
|
2021-01-13 12:05:43 +01:00
|
|
|
const LabelDome = await Selector('a.is-label', {timeout: 5000}).nth(0).getAttribute('data-uid');
|
2020-06-02 13:07:18 +02:00
|
|
|
await t
|
2021-01-13 12:05:43 +01:00
|
|
|
.click(Selector('a.is-label').withAttribute('data-uid', LabelDome));
|
|
|
|
const FirstPhotoDome = await Selector('div.is-photo', {timeout: 5000}).nth(0).getAttribute('data-uid');
|
2020-06-02 13:07:18 +02:00
|
|
|
await t
|
2021-01-13 12:05:43 +01:00
|
|
|
.click('.nav-labels');
|
2020-06-02 13:07:18 +02:00
|
|
|
await page.selectFromUID(LabelDome);
|
2020-12-10 18:26:20 +01:00
|
|
|
const clipboardCount = await Selector('span.count-clipboard', {timeout: 5000});
|
2020-06-02 13:07:18 +02:00
|
|
|
await t
|
2020-06-23 13:06:55 +02:00
|
|
|
.expect(clipboardCount.textContent).eql("1");
|
|
|
|
await page.deleteSelected();
|
2020-06-02 13:07:18 +02:00
|
|
|
await page.search('dome');
|
|
|
|
await t
|
2020-07-15 09:51:16 +02:00
|
|
|
.expect(Selector('h3').withText('Couldn\'t find anything').visible).ok()
|
2021-01-13 12:05:43 +01:00
|
|
|
.click('.nav-browse')
|
2020-06-02 13:07:18 +02:00
|
|
|
.click(Selector('.action-title-edit').withAttribute('data-uid', FirstPhotoDome))
|
2020-06-23 13:06:55 +02:00
|
|
|
.click(Selector('#tab-labels'))
|
2020-06-03 13:06:06 +02:00
|
|
|
.expect(Selector('td').withText('No labels found').visible).ok()
|
|
|
|
.typeText(Selector('.input-label input'), 'Dome')
|
|
|
|
.click(Selector('button.p-photo-label-add'));
|
2020-06-02 13:07:18 +02:00
|
|
|
});
|