test/integration/navigation_test.rb in merit-0.3.0 vs test/integration/navigation_test.rb in merit-0.3.1
- old
+ new
@@ -26,44 +26,44 @@
fill_in 'Comment', :with => 'Hi bro!'
fill_in 'User', :with => user.id
click_button('Create Comment')
user = User.where(:name => 'test-user').first
- assert_equal [Badge.by_name('commenter').by_level(10).first], user.badges
+ assert_equal [Badge.by_name('commenter').by_level(10).first], user.badges.to_a
# Vote (to 5) a user's comment, assert relevant-commenter badge granted
relevant_comment = user.comments.where(:votes => 8).first
visit '/comments'
within("tr#c_#{relevant_comment.id}") do
click_link '2'
end
relevant_badge = Badge.by_name('relevant-commenter').first
- user_badges = User.where(:name => 'test-user').first.badges
+ user_badges = User.where(:name => 'test-user').first.badges.to_a
assert user_badges.include?(relevant_badge), "User badges: #{user.badges.collect(&:name).inspect} should contain relevant-commenter badge."
# Edit user's name by long name
# tests ruby code in grant_on is being executed, and gives badge
user = User.where(:name => 'test-user').first
- user_badges = user.badges
+ user_badges = user.badges.to_a
visit "/users/#{user.id}/edit"
fill_in 'Name', :with => 'long_name!'
click_button('Update User')
user = User.where(:name => 'long_name!').first
autobiographer_badge = Badge.by_name('autobiographer').first
- assert user.badges.include?(autobiographer_badge), "User badges: #{user.badges.collect(&:name).inspect} should contain autobiographer badge."
+ assert user.badges.to_a.include?(autobiographer_badge), "User badges: #{user.badges.collect(&:name).inspect} should contain autobiographer badge."
# Edit user's name by short name
# tests ruby code in grant_on is being executed, and removes badge
visit "/users/#{user.id}/edit"
fill_in 'Name', :with => 'abc'
click_button('Update User')
user = User.where(:name => 'abc').first
- assert !user.badges.include?(autobiographer_badge), "User badges: #{user.badges.collect(&:name).inspect} should remove autobiographer badge."
+ assert !user.badges.to_a.include?(autobiographer_badge), "User badges: #{user.badges.collect(&:name).inspect} should remove autobiographer badge."
end
test 'user workflow should add up points at some times' do
user = User.first
assert_equal 0, user.points, 'User should start with 0 points'
@@ -105,28 +105,29 @@
click_button('Update User')
user = User.where(:name => 'ab').first
stars2 = Badge.by_name(:stars).by_level(2).first
MeritRankRules.new.check_rank_rules
- assert_equal user.badges, [stars2], "User badges: #{user.badges.collect(&:name).inspect} should contain only 2-stars badge."
+ assert_equal user.badges.to_a, [stars2], "User badges: #{user.badges.collect(&:name).inspect} should contain only 2-stars badge."
# Edit user's name by short name. Doesn't go back to previous rank.
visit "/users/#{user.id}/edit"
fill_in 'Name', :with => 'a'
click_button('Update User')
user = User.where(:name => 'a').first
MeritRankRules.new.check_rank_rules
- assert_equal user.badges, [stars2], "User badges: #{user.badges.collect(&:name).inspect} should contain only 2-stars badge."
+ assert_equal user.badges.to_a, [stars2], "User badges: #{user.badges.collect(&:name).inspect} should contain only 2-stars badge."
# Edit user's name by 5 chars name
visit "/users/#{user.id}/edit"
fill_in 'Name', :with => 'abcde'
click_button('Update User')
user = User.where(:name => 'abcde').first
stars5 = Badge.by_name(:stars).by_level(5).first
assert_equal Badge.find_by_id(user.sash.badge_ids).by_name(:stars).count, 1, "Should not contain more than 2 stars ranking."
MeritRankRules.new.check_rank_rules
- assert user.badges.include?(stars5), "User badges: #{user.badges.collect(&:name).inspect} should contain 5-stars badge."
+ user.reload
+ assert user.badges.to_a.include?(stars5), "User badges: #{user.badges.collect(&:inspect)} should contain 5-stars badge."
end
end