registration tests

This commit is contained in:
Tyler Renelle
2013-01-28 17:31:10 -05:00
parent 832ae5f249
commit c3810cf7ea
2 changed files with 69 additions and 40 deletions

View File

@@ -1,39 +1,56 @@
utils = require('utils')
module.exports = ->
url: 'http://localhost:3000/?play=1'
random = Math.random().toString(36).substring(7)
casper: require("casper").create
casper = require("casper").create
clientScripts: 'test/includes/lodash.min.js'
utils: require('utils')
{
casper: casper
getUser: -> casper.evaluate -> window.DERBY.app.model.get('_user')
url: 'http://localhost:3000'
addTasks: ->
['habit', 'daily', 'todo', 'reward'].forEach (type) ->
# Add 15 of each task type
num = 0
casper.repeat 15, ->
casper.fill "form#new-#{type}", {'new-task': "#{type}-#{num}"} # why can't I use true here?
casper.click "form#new-#{type} input[type=submit]"
utils: utils
reset: -> casper.evaluate -> window.DERBY.app.reset()
getUser: ->
casper.evaluate -> window.DERBY.app.model.get('_user')
userBeforeAfter: (callback) ->
user = {}
user.before = getUser()
callback()
user.after = getUser()
user
addTasks: ->
['habit', 'daily', 'todo', 'reward'].forEach (type) ->
# Add 15 of each task type
num = 0
casper.repeat 15, ->
casper.fill "form#new-#{type}", {'new-task': "#{type}-#{num}"} # why can't I use true here?
casper.click "form#new-#{type} input[type=submit]"
runCron: ->
casper.evaluate -> window.DERBY.model.set('_user.lastCron', new Date('01/10/2013'))
casper.reload()
reset: ->
casper.evaluate -> window.DERBY.app.reset()
register: ->
casper.fill 'form#derby-auth-register',
username: 'lefnire'
email: 'x@x.com'
'email-confirmation': 'x@x.com'
password: 'habitrpg123'
, true
userBeforeAfter: (callback) ->
user = {}
user.before = getUser()
callback()
user.after = getUser()
user
runCron: ->
casper.evaluate -> window.DERBY.model.set('_user.lastCron', new Date('01/25/2013'))
casper.reload()
register: ->
casper.fill 'form#derby-auth-register',
username: random
email: random + '@gmail.com'
'email-confirmation': random + '@gmail.com'
password: random
, true
login: ->
casper.fill 'form#derby-auth-login',
username: random
password: random
, true
}

View File

@@ -1,23 +1,35 @@
helpers = require('./helpers')
casper = helpers.casper
utils = helpers.utils
url = helpers.url
helper = new require('./test/casper/helpers')()
casper = helper.casper
utils = helper.utils
url = helper.url
casper.start url + '/?play=1'
# ---------- Register ------------
user = undefined
casper.then -> helper.register()
casper.then -> user = helper.getUser()
casper.then -> casper.reload()
casper.then ->
helpers.register()
casper.then -> user = helpers.getUser()
casper.then -> reload()
casper.then ->
nowUser = getUser()
nowUser = helper.getUser()
casper.then ->
casper.test.assertEqual user.id, nowUser.id, 'user registered and maintained session'
# ---------- Log Out ------------
casper.thenOpen helper.url + '/logout'
casper.thenOpen helper.url + '/?play=1'
casper.then ->
nowUser = helper.getUser()
casper.then ->
casper.test.assertNotEquals user.id, nowUser.id, 'user logged out'
# ---------- Login ------------
#TODO logout
#TODO login
#TODO make sure same id
casper.then -> helper.login()
casper.then -> utils.dump casper.debugHTML '#derby-auth-login'
casper.then ->
nowUser = helper.getUser()
casper.then ->
casper.test.assertEqual user.id, nowUser.id, 'user logged in'
# ---------- Run ------------
casper.run ->