From 92d4e393e8332a7c293bd6946aae5c968d32b9df Mon Sep 17 00:00:00 2001 From: Tyler Renelle Date: Sun, 20 Jan 2013 15:39:34 -0500 Subject: [PATCH] fix up some tests --- test/browser.casper.coffee | 51 +++++++++++++++++++++++++------------- 1 file changed, 34 insertions(+), 17 deletions(-) diff --git a/test/browser.casper.coffee b/test/browser.casper.coffee index d846574ff1..63d9acd398 100644 --- a/test/browser.casper.coffee +++ b/test/browser.casper.coffee @@ -3,6 +3,9 @@ utils = require('utils') casper = require("casper").create clientScripts: 'test/includes/lodash.min.js' +# ---------- Util Functions ------------ +getUser = () -> casper.evaluate -> window.DERBY.app.model.get('_user') + # ---------- Init ------------ casper.start url, -> @@ -17,9 +20,37 @@ casper.then -> casper.fill "form#new-#{type}", {'new-task': "#{type}-#{num}"} # why can't I use true here? casper.click "form#new-#{type} input[type=submit]" -# ---------- Cron ------------ -getUser = () -> casper.evaluate -> window.DERBY.app.model.get('_user') +# ---------- Habit ------------ +casper.then -> + userBefore = getUser() + @click '.habits a[data-direction="down"]' + userAfter = getUser() + @test.assert userBefore.stats.hp > userAfter.stats.hp, '-habit: -hp' + @test.assert userBefore.stats.exp == userAfter.stats.exp, '-habit: =exp' + @then -> + useBefore = getUser() + @click '.habits a[data-direction="up"]' + userAfter = getUser() + @test.assert userBefore.stats.exp < userAfter.stats.exp, '+habit: +exp' + @test.assert userBefore.stats.hp == userAfter.stats.hp, '+habit: =hp' + +# Test Death +casper.then -> + @repeat 50, -> + @click '.habits a[data-direction="down"]' + + @then -> + userStats = @evaluate -> + window.DERBY.app.model.get('_user.stats') + utils.dump userStats + + @test.assert(@visible('#dead-modal'), 'Revive Modal Visible') + @test.assert(userStats.hp == 0, 'User HP: 0') + @test.assert(userStats.lvl == 0, 'User Lvl: 0') + @test.assert(userStats.money == 0, 'User GP: 0') + +# ---------- Cron ------------ casper.then -> tasksBefore = @evaluate -> @@ -45,21 +76,7 @@ casper.then -> @test.assert tasksBefore.todos[0].value < tasksAfter.todos[0].value, "Todo gained value on cron" @test.assert user.stats.hp < 50, 'User lost HP on cron' -# ---------- User Death ------------ -casper.then -> - @repeat 55, -> - @click '.habits a[data-direction="down"]' - -casper.then -> - userStats = @evaluate -> - window.DERBY.app.model.get('_user.stats') - utils.dump userStats - - @test.assert(@visible('#dead-modal'), 'Revive Modal Visible') - @test.assert(userStats.hp == 0, 'User HP: 0') - @test.assert(userStats.lvl == 0, 'User Lvl: 0') - @test.assert(userStats.money == 0, 'User GP: 0') - + # ---------- Misc Pages ------------ casper.thenOpen "#{url}/terms", ->