Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require 'spec_helper'
- #Failures:
- # 1) User quests association when fail is true, it should deduct points for experience
- # Failure/Error: @user.quests[1].fail.should == true
- # expected: true,
- # got: false (using ==)
- # ./spec/models/user_spec.rb:79:in `block (3 levels) in <top (required)>'
- describe User do
- before(:each) do
- @attr = {
- :username => "kiba",
- :email => "hackerkiba@gmail.com",
- :password => "boo33",
- :password_confirmation => "boo33",
- :experience => 0
- }
- end
- describe "quests association" do
- before(:each) do
- @user = User.create(@attr)
- @q2 = Factory(:quest,:user => @user, :deadline => Date.tomorrow + 3)
- @q1 = Factory(:quest,:user => @user, :deadline => Date.tomorrow)
- @attr = Factory(:quest)
- end
- it "should have username and such" do
- @user.username.should == "kiba"
- end
- it "should have a quests attribute" do
- @user.should respond_to(:quests)
- end
- it "should have the quests in the right order" do
- @user.quests.should == [@q2,@q1]
- end
- it "should destory associated quests" do
- @user.destroy()
- [@q1,@q2].each do |quest|
- Quest.find_by_id(quest.id).should be_nil
- end
- end
- it "when completed should increase users experience" do
- @q1.should == @user.quests[1]
- @q1.complete()
- @q1.save()
- @q1.completed.should == true
- @user.reload()
- @user.quests[1].completed.should == true
- @user.calculate()
- @user.experience.should == 24
- end
- it "when fail is true, it should deduct points for experience" do
- @q1.should == @user.quests[1]
- @q1.deadline = Date.yesterday
- @q1.check_deadline()
- @q1.fail.should == true
- @q1.save()
- @user.reload()
- @user.quests[1].fail.should == true #Problem area.
- @user.calculate()
- @user.experience.should == -24
- end
- end
- end
Add Comment
Please, Sign In to add comment