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 page.openNav(); await t .expect(Selector('.action-upload').exists, {timeout: 5000}).ok() .expect(Selector('.nav-browse').innerText).contains('Search'); 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.toggleSelectNthPhoto(0); await t .click(Selector('div.is-photo').nth(0)); await t .expect(Selector('#p-photo-viewer').visible).ok() .expect(Selector('.action-download').exists).ok() .click(Selector('.action-close')) .expect(Selector('button.action-location').visible).ok() .click(Selector('button.action-title-edit').nth(0)) .expect(Selector('.input-title input', {timeout: 5000}).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')) .click(Selector('.nav-library')) .expect(Selector('#tab-library-import a').visible).ok() .expect(Selector('#tab-library-logs a').visible).ok() .click(Selector('div.nav-browse + div')) .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-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('.nav-settings')) .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('#tab-settings-library')) .click(Selector('.input-private input')) .click(Selector('.input-review input')) .click(Selector('.nav-browse')); await t.eval(() => location.reload()); await page.openNav(); await t .expect(Selector('button.action-upload').exists).notOk() .expect(Selector('.nav-browse').innerText).contains('Suche'); 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(); await page.toggleSelectNthPhoto(0); await t .click(Selector('div.is-photo').nth(0)); await t .expect(Selector('#p-photo-viewer').visible).ok() .expect(Selector('.action-download').exists).notOk() .click(Selector('.action-close')) .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')) .click(Selector('.nav-library')) .expect(Selector('#tab-library-import a').exists).notOk() //TODO Fix bug //.expect(Selector('#tab-library-logs a').exists).notOk() .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-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('.nav-settings')) .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('#tab-settings-library')) .click(Selector('.input-private input')) .click(Selector('.input-review input')); });