Skip to content

Instantly share code, notes, and snippets.

@Zeukkari
Created July 23, 2015 13:30
Show Gist options
  • Save Zeukkari/70aa9843db736bfad529 to your computer and use it in GitHub Desktop.
Save Zeukkari/70aa9843db736bfad529 to your computer and use it in GitHub Desktop.
assert = require('assert')
async = require('async')
describe 'Test navigation widget', ->
it 'Should contain top-level category "Terveys"', (done) ->
wd = @wd
mochaOptions = @mochaOptions
browser = @browser
asserters = wd.asserters
browseButtonSelector = '//*[@id="browse-region"]'
serviceTreeItemSelector = '//*[@id="service-tree-container"]/ul/li//span[text() = "Terveys"]'
async.waterfall [
(cb) ->
browser.get 'http://localhost:9001', cb
return
(cb) ->
browser.waitForElementByXPath browseButtonSelector, asserters.isDisplayed, 2000, 100, (err, el) ->
browser.clickElement el, (err) ->
cb()
return
return
(cb) ->
browser.waitForElementByXPath serviceTreeItemSelector, asserters.isDisplayed, 2000, 100, (err, el) ->
el.getAttribute 'innerHTML', (err, val) ->
try
assert.equal val, 'Terveys'
cb()
catch e
cb e
return
return
], done
return
return
describe 'Test look ahead', ->
it 'Should find item "Kallion kirjasto"', (done) ->
wd = @wd
mochaOptions = @mochaOptions
browser = @browser
asserters = wd.asserters
baseUrl = 'http://localhost:9001'
searchFieldPath = '//*[@id="search-region"]/div/form/span[1]/input'
typeaheadResultPath = '//*[@id="search-region"]//span[@class="twitter-typeahead"]//span[@class="tt-suggestions"]//div[text() = "Kallion kirjasto"]'
searchText = 'kallion kirjasto'
searchResult = 'Kallion kirjasto'
async.waterfall [
(cb) ->
browser.get baseUrl, cb
return
(cb) ->
browser.waitForElementByXPath searchFieldPath, asserters.isDisplayed, 2000, 100, (err, el) ->
browser.clickElement el, (err) ->
el.type searchText, (err) ->
cb()
return
return
return
(cb) ->
browser.waitForElementByXPath typeaheadResultPath, asserters.isDisplayed, 2000, 100, (err, el) ->
el.getAttribute 'innerHTML', (err, val) ->
try
assert.equal val, searchResult
cb()
catch e
cb e
return
return
], done
return
return
describe 'Test search', ->
it 'Should find item "Kallion kirjasto"', (done) ->
wd = @wd
mochaOptions = @mochaOptions
browser = @browser
asserters = wd.asserters
baseUrl = 'http://localhost:9001'
searchFieldPath = '//*[@id="search-region"]/div/form/span[1]/input'
typeaheadResultPath = '//*[@id="search-region"]//span[@class="twitter-typeahead"]//span[@class="tt-suggestions"]//div[text() = "Kallion kirjasto"]'
searchResultPath = '//*[@id="navigation-contents"]//li//*[contains(.,"Kallion kirjasto")]'
searchButton = '#search-region > div > form > span.action-button.search-button > span'
searchText = 'kallion kirjasto'
searchResult = 'Kallion kirjasto'
async.waterfall [
(cb) ->
browser.get baseUrl, cb
return
(cb) ->
browser.waitForElementByXPath searchFieldPath, asserters.isDisplayed, 2000, 100, (err, el) ->
browser.clickElement el, (err) ->
el.type searchText, (err) ->
cb()
return
return
return
(cb) ->
browser.waitForElementByCssSelector searchButton, asserters.isDisplayed, 2000, 100, (err, el) ->
browser.clickElement el, (err) ->
cb()
(cb) ->
browser.waitForElementByXPath searchResultPath, 20000, 100, (err, el) ->
el.getAttribute 'innerHTML', (err, val) ->
console.log "Text", val
console.log "Err", err
try
assert.ok val
cb()
catch e
cb e
return
return
], done
return
return
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment