Skip to content

Commit ff6bb97

Browse files
Add initial test
1 parent 5f1bef6 commit ff6bb97

File tree

3 files changed

+63
-4
lines changed

3 files changed

+63
-4
lines changed

selenium/test/pageobjects/QueuePage.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
const { By, Key, until, Builder } = require('selenium-webdriver')
22

33
const BasePage = require('./BasePage')
4+
const { goTo } = require('../utils')
45

56

67
const QUEUE_NAME = By.css('div#main h1 b')
@@ -15,6 +16,9 @@ module.exports = class QueuePage extends BasePage {
1516
async getName() {
1617
return this.getText(QUEUE_NAME)
1718
}
19+
async goToQueue(vhost, queue) {
20+
return goTo('#/queues/' + encodeURIComponent(vhost) + '/' + encodeURIComponent(queue))
21+
}
1822
async ensureDeleteQueueSectionIsVisible() {
1923
await this.click(DELETE_SECTION)
2024
return this.driver.findElement(DELETE_SECTION).isDisplayed()
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
const { By, Key, until, Builder } = require('selenium-webdriver')
2+
require('chromedriver')
3+
const assert = require('assert')
4+
const { buildDriver, goToHome, captureScreensFor, teardown, delay, goToExchanges } = require('../utils')
5+
const { createQueue, deleteQueue, getManagementUrl } = require('../mgt-api')
6+
7+
const LoginPage = require('../pageobjects/LoginPage')
8+
const OverviewPage = require('../pageobjects/OverviewPage')
9+
const QueuesAndStreamsPage = require('../pageobjects/QueuesAndStreamsPage')
10+
const QueuePage = require('../pageobjects/QueuePage')
11+
const StreamPage = require('../pageobjects/StreamPage')
12+
13+
describe('Given a quorum queue', function () {
14+
let login
15+
let queuesAndStreams
16+
let queuePage
17+
let queueName
18+
let stream
19+
let overview
20+
let captureScreen
21+
22+
before(async function () {
23+
driver = buildDriver()
24+
await goToHome(driver)
25+
login = new LoginPage(driver)
26+
overview = new OverviewPage(driver)
27+
queuesAndStreams = new QueuesAndStreamsPage(driver)
28+
queuePage = new QueuePage(driver)
29+
stream = new StreamPage(driver)
30+
captureScreen = captureScreensFor(driver, __filename)
31+
32+
await login.login('management', 'guest')
33+
if (!await overview.isLoaded()) {
34+
throw new Error('Failed to login')
35+
}
36+
await overview.selectRefreshOption("Do not refresh")
37+
await overview.clickOnQueuesTab()
38+
queueName = "test_" + Math.floor(Math.random() * 1000)
39+
40+
createQueue(getManagementUrl(), queueName, "/", "quorum")
41+
42+
})
43+
44+
it('add quorum queue and view it', async function () {
45+
await queuePage.goToQueue("/", queueName)
46+
await queuePage.isLoaded()
47+
assert.equal(queueName, await queuePage.getName())
48+
49+
})
50+
51+
after(async function () {
52+
await teardown(driver, this, captureScreen)
53+
deleteQueue(getManagementUrl(), "/", queueName)
54+
})
55+
})

selenium/test/utils.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -127,11 +127,11 @@ module.exports = {
127127
},
128128

129129
goToExchanges: (d) => {
130-
return d.driver.get(d.baseUrl + '#/exchanges')
130+
return this.goTo('#/exchanges')
131131
},
132-
133-
goTo: (d, address) => {
134-
return d.get(address)
132+
133+
goTo: (d, path) => {
134+
return d.ddriver.get(d.baseUrl + path)
135135
},
136136

137137
delay: async (msec, ref) => {

0 commit comments

Comments
 (0)