more todos/dailies test cleanup

This commit is contained in:
Tyler Renelle 2013-01-28 18:09:04 -05:00
parent d5f36a291c
commit 26462be457
3 changed files with 62 additions and 35 deletions

View file

@ -31,35 +31,15 @@ casper.then ->
helper.addTasks()
casper.then ->
user = {before:helper.getUser()}
tasks =
before:
daily: @evaluate -> window.DERBY.app.model.get('_dailyList')
todo: @evaluate -> window.DERBY.app.model.get('_todoList')
helper.runCron()
@then ->
@wait 1050, -> # user's hp is updated after 1s for animation
user.after = helper.getUser()
@test.assertEqual user.before.id, user.after.id, 'user id equal after cron'
tasks.after =
daily: @evaluate -> window.DERBY.app.model.get('_dailyList')
todo: @evaluate -> window.DERBY.app.model.get('_todoList')
@test.assertEqual user.before.tasks.length, user.after.tasks.length, "Didn't lose anything on cron"
#TODO make sure true for all dailies
dailyId = tasks.before.daily[0].id
utils.dump tasks.before.daily
utils.dump
dailyBefore:user.before.tasks[dailyId].value
dailyAfter:user.before.tasks[dailyId].value
@test.assert user.before.tasks[dailyId].value < user.before.tasks[dailyId].value, "todo gained value on cron"
@test.assert user.before.stats.hp < user.after.stats.hp, 'user lost HP on cron'
#TODO make sure true for all todos
todoId = tasks.before.todo[0].id
@test.assert user.before.tasks[todoId].value < user.before.tasks[todoId].value, "todo gained value on cron"
helper.cronBeforeAfter (beforeAfter) ->
casper.then ->
#TODO make sure true for all dailies
dailyId = beforeAfter.before.tasks.daily[0].id
# utils.dump
# dailyBefore:user.before.tasks[dailyId].value
# dailyAfter:user.before.tasks[dailyId].value
casper.test.assert beforeAfter.before.user.tasks[dailyId].value < beforeAfter.after.user.tasks[dailyId].value, "daily:cron:daily gained value"
casper.test.assert beforeAfter.before.user.stats.hp < beforeAfter.after.user.stats.hp, 'daily:cron:hp lost value'
# ---------- Run ------------

View file

@ -39,6 +39,36 @@ module.exports = ->
casper.evaluate -> window.DERBY.model.set('_user.lastCron', new Date('01/25/2013'))
casper.reload()
cronBeforeAfter: (cb) ->
that = @
getLists = ->
{
habit: casper.evaluate -> window.DERBY.app.model.get('_habitList')
daily: casper.evaluate -> window.DERBY.app.model.get('_dailyList')
todo: casper.evaluate -> window.DERBY.app.model.get('_todoList')
reward: casper.evaluate -> window.DERBY.app.model.get('_rewardList')
}
beforeAfter =
before:
user: that.getUser()
tasks: getLists()
casper.then -> that.runCron()
casper.then ->
casper.wait 1050, -> # user's hp is updated after 1s for animation
beforeAfter.after =
user: that.getUser()
tasks: getLists()
casper.then ->
casper.test.assertEqual beforeAfter.before.user.id, beforeAfter.after.user.id, 'user id equal after cron'
casper.test.assertEqual beforeAfter.before.user.tasks.length, beforeAfter.after.user.tasks.length, "Didn't lose anything on cron"
cb(beforeAfter)
register: ->
casper.fill 'form#derby-auth-register',
username: random

View file

@ -13,16 +13,33 @@ casper.then ->
# Gained exp on +daily
casper.then ->
user = helper.userBeforeAfter (-> casper.click '.todos input[type="checkbox"]')
@test.assertEquals user.before.stats.hp, user.after.stats.hp, '+daily =hp'
@test.assert user.before.stats.exp < user.after.stats.exp, '+daily +exp'
@test.assert user.before.stats.money < user.after.stats.money, '+daily +money'
@test.assertEquals user.before.stats.hp, user.after.stats.hp, '+todo =hp'
@test.assert user.before.stats.exp < user.after.stats.exp, '+todo +exp'
@test.assert user.before.stats.money < user.after.stats.money, '+todo +money'
# -daily acts as undo
casper.then ->
user = helper.userBeforeAfter (-> casper.click '.todos input[type="checkbox"]')
@test.assertEquals user.before.stats.hp, user.after.stats.hp, '-daily =hp'
@test.assert user.before.stats.exp > user.after.stats.exp, '-daily -exp'
@test.assert user.before.stats.money > user.after.stats.money, '-daily -money'
@test.assertEquals user.before.stats.hp, user.after.stats.hp, '-todo =hp'
@test.assert user.before.stats.exp > user.after.stats.exp, '-todo -exp'
@test.assert user.before.stats.money > user.after.stats.money, '-todo -money'
# ---------- Cron ------------
casper.then ->
helper.reset()
helper.addTasks()
casper.then ->
helper.cronBeforeAfter (beforeAfter) ->
casper.then ->
#TODO make sure true for all todos
todoId = beforeAfter.before.tasks.todo[0].id
# utils.dump
# dailyBefore:user.before.tasks[dailyId].value
# dailyAfter:user.before.tasks[dailyId].value
casper.test.assert beforeAfter.before.user.tasks[todoId].value < beforeAfter.after.user.tasks[todoId].value, "todo:cron:todo gained value"
casper.test.assertEqual beforeAfter.before.user.stats.hp, beforeAfter.after.user.stats.hp, 'todo:cron:hp no change'
# ---------- Run ------------
casper.run ->