46 lines
1.6 KiB
CoffeeScript
46 lines
1.6 KiB
CoffeeScript
utils = require('utils')
|
|
|
|
#enable this to get remote console output, useful for debug.
|
|
casper.on "remote.message", (msg)->
|
|
casper.echo "Remote console: " + msg
|
|
|
|
casper.helpers = (->
|
|
baseUrl = 'http://localhost:3000'
|
|
getModel = (cb)->
|
|
casper.waitFor(
|
|
-> #check function
|
|
casper.evaluate ->
|
|
user = window.DERBY.app.model.get('_user')
|
|
#wait till all fields get ready
|
|
check = (user?.stats?.exp?)
|
|
#assign to the window so we can access it later
|
|
window.userCopy = userCopy =
|
|
{}
|
|
#dirty hack to get all fields in the object
|
|
for k of user
|
|
userCopy[k] = user[k]
|
|
check
|
|
-> #run this if check passed
|
|
model = casper.evaluate ->
|
|
{user: window.userCopy}
|
|
cb null, model
|
|
)
|
|
evalTest = (check, text, variables) ->
|
|
casper.waitFor(
|
|
-> #check function
|
|
casper.evaluate check, variables
|
|
-> #run this if check passed
|
|
casper.test.assert(true, text)
|
|
-> #run this if timeout
|
|
casper.test.assert(false, text)
|
|
)
|
|
|
|
{
|
|
casper: casper
|
|
baseUrl: baseUrl
|
|
playUrl: baseUrl + '/?play=1'
|
|
getModel: getModel
|
|
uid: Math.random().toString(36).substring(2) + Math.random().toString(36).substring(2)
|
|
evalTest: evalTest
|
|
})()
|