diff --git a/test/rest.casper.coffee b/test/rest.casper.coffee index d7bacf6c7e..a57a5cb792 100644 --- a/test/rest.casper.coffee +++ b/test/rest.casper.coffee @@ -1,18 +1,31 @@ url = 'http://localhost:3000' utils = require('utils') casper = require("casper").create() -uid = undefined + +user1 = {} +user2 = {} # ---------- Main Stuff ------------ -casper.start url, -> - uid = @evaluate -> window.DERBY.model.get("_user.id") +casper.start "#{url}/?play=1", -> + user1 = casper.evaluate -> window.DERBY.app.model.get("_user") + @fill 'form#derby-auth-register', + username: user1.id + email: "{user1.id}@gmail.com" + 'email-confirmation': "{user1.id}@gmail.com" + password: 'habitrpg123' + , true +casper.thenOpen "#{url}/logout" +casper.thenOpen "#{url}/?play=1", -> + user2 = @evaluate -> window.DERBY.app.model.get("_user") + casper.then -> @test.assertNotEquals user1.id, user2.id, '2 new users created' + # ---------- REST API ------------ - # casper.thenOpen "#{url}/users/#{uid}" - # casper.thenOpen "#{url}/users/#{uid}/tasks" - # casper.thenOpen "#{url}/users/#{uid}/tasks/{taskId}" + # casper.thenOpen "#{url}/users/#{user.id}" + # casper.thenOpen "#{url}/users/#{user.id}/tasks" + # casper.thenOpen "#{url}/users/#{user.id}/tasks/{taskId}" taskId = 'productivity' pomodoro = { @@ -21,15 +34,36 @@ casper.start url, -> 'icon': 'http://www.veryicon.com/icon/16/Food%20%26%20Drinks/Paradise%20Fruits/Tomato.png' } - @thenOpen "#{url}/users/#{uid}/tasks/#{taskId}/up", { - method: 'post', - data: pomodoro - } + # ---------- v1 ------------ - @thenOpen "#{url}/users/#{uid}/tasks/#{taskId}/down", { + @thenOpen "#{url}/users/#{user1.id}/tasks/#{taskId}/up", { method: 'post', data: pomodoro - } + }, -> + result = JSON.parse @getPageContent() + @test.assertEqual user1.stats.hp, result.hp, 'REST +habit =hp' + @test.assert user1.stats.exp < result.exp, 'REST +habit +exp' + @test.assert user1.stats.money < result.money, 'REST +habit +money' + utils.dump result + + @thenOpen "#{url}/users/#{user2.id}/tasks/#{taskId}/down", { + method: 'post', + data: pomodoro + }, -> + result = JSON.parse @getPageContent() + @test.assert user2.stats.hp > result.hp, 'REST -habit -hp' + @test.assertEqual user2.stats.exp, result.exp, 'REST -habit =exp' + @test.assertEqual user2.stats.money, result.money, 'REST -habit =money' + utils.dump result + + @thenOpen "" + + # ---------- v2 ------------ + +# @thenOpen "#{url}/v2/users/#{uid}/tasks/#{taskId}/down", { +# method: 'post', +# data: pomodoro +# } # ---------- Run ------------