habitica/test/casper/dailies.casper.coffee

67 lines
2.4 KiB
CoffeeScript
Raw Normal View History

2013-01-28 22:42:48 +00:00
helper = new require('./test/casper/helpers')()
casper = helper.casper
utils = helper.utils
url = helper.url
2013-01-26 19:57:47 +00:00
2013-01-28 22:42:48 +00:00
casper.start url + '/?play=1'
2013-01-26 19:57:47 +00:00
# ---------- Daily ------------
casper.then ->
2013-01-28 22:42:48 +00:00
helper.reset()
helper.addTasks()
2013-01-26 19:57:47 +00:00
# Gained exp on +daily
casper.then ->
2013-01-28 22:42:48 +00:00
user = helper.userBeforeAfter (-> casper.click '.dailys input[type="checkbox"]')
2013-01-26 19:57:47 +00:00
@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'
# -daily acts as undo
casper.then ->
2013-01-28 22:42:48 +00:00
user = helper.userBeforeAfter (-> casper.click '.dailys input[type="checkbox"]')
2013-01-26 19:57:47 +00:00
@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'
# ---------- Cron ------------
casper.then ->
2013-01-28 22:42:48 +00:00
helper.reset()
helper.addTasks()
2013-01-26 19:57:47 +00:00
casper.then ->
2013-01-28 22:42:48 +00:00
user = {before:helper.getUser()}
2013-01-26 19:57:47 +00:00
tasks =
before:
daily: @evaluate -> window.DERBY.app.model.get('_dailyList')
todo: @evaluate -> window.DERBY.app.model.get('_todoList')
2013-01-28 22:42:48 +00:00
helper.runCron()
2013-01-26 19:57:47 +00:00
@then ->
@wait 1050, -> # user's hp is updated after 1s for animation
2013-01-28 22:42:48 +00:00
user.after = helper.getUser()
2013-01-26 19:57:47 +00:00
@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"
# ---------- Run ------------
casper.run ->
@test.renderResults true