Files
habitica/test/test2/lib/helpers.coffee
T
2013-04-02 22:05:36 +08:00

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
})()