52 lines
1.7 KiB
JavaScript
52 lines
1.7 KiB
JavaScript
import { describe, it, before, after } from 'mocha'
|
|
import { assert, expect } from 'chai'
|
|
import { By } from 'selenium-webdriver'
|
|
import {
|
|
getRootAndWait,
|
|
getActionButtons,
|
|
getNavigationLinks,
|
|
openSidebar,
|
|
closeSidebar,
|
|
takeScreenshotOnFailure,
|
|
} from '../../lib/elements.js'
|
|
|
|
describe('config: onlyDashboards', function () {
|
|
before(async function () {
|
|
await runner.start('onlyDashboards')
|
|
})
|
|
|
|
after(async () => {
|
|
await runner.stop()
|
|
})
|
|
|
|
afterEach(function () {
|
|
takeScreenshotOnFailure(this.currentTest, webdriver);
|
|
});
|
|
|
|
it('When there are only dashboards, actions are hidden', async function () {
|
|
await getRootAndWait()
|
|
|
|
await openSidebar()
|
|
|
|
const navLinks = await getNavigationLinks()
|
|
expect(navLinks).to.not.be.empty
|
|
|
|
for (const link of navLinks) {
|
|
console.log(await link.getAttribute('title'))
|
|
}
|
|
|
|
const firstLink = await navLinks[0];
|
|
assert.isNotNull(firstLink, 'Actions link should not be null')
|
|
|
|
assert.equal(await firstLink.getAttribute('title'), 'My Dashboard', 'First link should have the title "My Dashboard"')
|
|
|
|
const firstDashboardLink = await webdriver.findElement(By.css('li[title="My Dashboard"]'), 'The first dashboard link should be present')
|
|
assert.isNotNull(firstDashboardLink, 'First dashboard link should not be null')
|
|
assert.isTrue(await firstDashboardLink.isDisplayed(), 'First dashboard link should be displayed')
|
|
|
|
const actionButtonsOnDashboard = await getActionButtons()
|
|
assert.isArray(actionButtonsOnDashboard, 'Action buttons on dashboard should be an array')
|
|
assert.lengthOf(actionButtonsOnDashboard, 3, 'Action buttons on dashboard should have 3 buttons')
|
|
})
|
|
})
|