fixed user tests
This commit is contained in:
@@ -6,6 +6,7 @@ class FavoriteTest < ActiveSupport::TestCase
|
||||
CurrentUser.user = user
|
||||
CurrentUser.ip_addr = "127.0.0.1"
|
||||
MEMCACHE.flush_all
|
||||
Favorite # need to force loading the favorite model
|
||||
end
|
||||
|
||||
teardown do
|
||||
@@ -23,30 +24,26 @@ class FavoriteTest < ActiveSupport::TestCase
|
||||
p1.add_favorite(user1)
|
||||
p2.add_favorite(user1)
|
||||
p1.add_favorite(user2)
|
||||
|
||||
favorites = user1.favorite_posts
|
||||
assert_equal(2, favorites.size)
|
||||
assert_equal(p2.id, favorites[0].id)
|
||||
assert_equal(p1.id, favorites[1].id)
|
||||
|
||||
favorites = user2.favorite_posts
|
||||
assert_equal(1, favorites.size)
|
||||
assert_equal(p1.id, favorites[0].id)
|
||||
favorites = user1.favorites.order("id desc")
|
||||
assert_equal(2, favorites.count)
|
||||
assert_equal(p2.id, favorites[0].post_id)
|
||||
assert_equal(p1.id, favorites[1].post_id)
|
||||
|
||||
favorites = user2.favorites.order("id desc")
|
||||
assert_equal(1, favorites.count)
|
||||
assert_equal(p1.id, favorites[0].post_id)
|
||||
end
|
||||
|
||||
should "filter before a given id" do
|
||||
should "not allow duplicates" do
|
||||
user1 = Factory.create(:user)
|
||||
p1 = Factory.create(:post)
|
||||
p2 = Factory.create(:post)
|
||||
p3 = Factory.create(:post)
|
||||
|
||||
p1.add_favorite(user1)
|
||||
p2.add_favorite(user1)
|
||||
p3.add_favorite(user1)
|
||||
favorites = user1.favorite_posts
|
||||
favorites = user1.favorite_posts(:before_id => favorites.first.favorite_id)
|
||||
assert_equal(2, favorites.count)
|
||||
assert_equal(p2.id, favorites[0].id)
|
||||
assert_equal(p1.id, favorites[1].id)
|
||||
p1.add_favorite(user1)
|
||||
|
||||
assert_equal(1, user1.favorites.count)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -85,8 +85,8 @@ class PostTest < ActiveSupport::TestCase
|
||||
c1.add_favorite(user)
|
||||
c1.delete!
|
||||
p1.reload
|
||||
assert(!Favorite.exists?(:post_id => c1.id, :user_id => user.id))
|
||||
assert(Favorite.exists?(:post_id => p1.id, :user_id => user.id))
|
||||
assert(!Favorite.model_for(user.id).exists?(:post_id => c1.id, :user_id => user.id))
|
||||
assert(Favorite.model_for(user.id).exists?(:post_id => p1.id, :user_id => user.id))
|
||||
end
|
||||
|
||||
should "update the parent's has_children flag" do
|
||||
@@ -335,22 +335,22 @@ class PostTest < ActiveSupport::TestCase
|
||||
post.add_favorite(user)
|
||||
post.reload
|
||||
assert_equal("fav:#{user.id}", post.fav_string)
|
||||
assert(Favorite.exists?(:user_id => user.id, :post_id => post.id))
|
||||
assert(Favorite.model_for(user.id).exists?(:user_id => user.id, :post_id => post.id))
|
||||
|
||||
post.add_favorite(user)
|
||||
post.reload
|
||||
assert_equal("fav:#{user.id}", post.fav_string)
|
||||
assert(Favorite.exists?(:user_id => user.id, :post_id => post.id))
|
||||
assert(Favorite.model_for(user.id).exists?(:user_id => user.id, :post_id => post.id))
|
||||
|
||||
post.remove_favorite(user)
|
||||
post.reload
|
||||
assert_equal("", post.fav_string)
|
||||
assert(!Favorite.exists?(:user_id => user.id, :post_id => post.id))
|
||||
assert(!Favorite.model_for(user.id).exists?(:user_id => user.id, :post_id => post.id))
|
||||
|
||||
post.remove_favorite(user)
|
||||
post.reload
|
||||
assert_equal("", post.fav_string)
|
||||
assert(!Favorite.exists?(:user_id => user.id, :post_id => post.id))
|
||||
assert(!Favorite.model_for(user.id).exists?(:user_id => user.id, :post_id => post.id))
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
require_relative '../test_helper'
|
||||
|
||||
class UserTest < ActiveSupport::TestCase
|
||||
setup do
|
||||
user = Factory.create(:user)
|
||||
CurrentUser.user = user
|
||||
CurrentUser.ip_addr = "127.0.0.1"
|
||||
MEMCACHE.flush_all
|
||||
end
|
||||
|
||||
teardown do
|
||||
CurrentUser.user = nil
|
||||
CurrentUser.ip_addr = nil
|
||||
end
|
||||
|
||||
context "A user" do
|
||||
setup do
|
||||
@user = Factory.create(:user)
|
||||
CurrentUser.user = @user
|
||||
CurrentUser.ip_addr = "127.0.0.1"
|
||||
MEMCACHE.flush_all
|
||||
end
|
||||
|
||||
teardown do
|
||||
CurrentUser.user = nil
|
||||
CurrentUser.ip_addr = nil
|
||||
end
|
||||
|
||||
should "not validate if the originating ip address is banned" do
|
||||
Factory.create(:ip_ban)
|
||||
user = Factory.build(:user)
|
||||
@@ -23,59 +23,55 @@ class UserTest < ActiveSupport::TestCase
|
||||
end
|
||||
|
||||
should "limit post uploads" do
|
||||
user = Factory.create(:user)
|
||||
assert(!user.can_upload?)
|
||||
user.update_attribute(:is_contributor, true)
|
||||
assert(user.can_upload?)
|
||||
user.update_attribute(:is_contributor, false)
|
||||
assert(!@user.can_upload?)
|
||||
@user.update_attribute(:is_contributor, true)
|
||||
assert(@user.can_upload?)
|
||||
@user.update_attribute(:is_contributor, false)
|
||||
|
||||
40.times do
|
||||
Factory.create(:post, :uploader => user, :is_deleted => true)
|
||||
Factory.create(:post, :uploader => @user, :is_deleted => true)
|
||||
end
|
||||
|
||||
assert(!user.can_upload?)
|
||||
assert(!@user.can_upload?)
|
||||
end
|
||||
|
||||
should "limit comment votes" do
|
||||
user = Factory.create(:user)
|
||||
assert(user.can_comment_vote?)
|
||||
12.times do
|
||||
assert(@user.can_comment_vote?)
|
||||
10.times do
|
||||
comment = Factory.create(:comment)
|
||||
Factory.create(:comment_vote, :user => user, :comment_id => comment.id)
|
||||
Factory.create(:comment_vote, :comment_id => comment.id)
|
||||
end
|
||||
assert(!user.can_comment_vote?)
|
||||
|
||||
assert(!@user.can_comment_vote?)
|
||||
CommentVote.update_all("created_at = '1990-01-01'")
|
||||
assert(user.can_comment_vote?)
|
||||
assert(@user.can_comment_vote?)
|
||||
end
|
||||
|
||||
should "limit comments" do
|
||||
user = Factory.create(:user)
|
||||
assert(!user.can_comment?)
|
||||
user.update_attribute(:is_privileged, true)
|
||||
assert(user.can_comment?)
|
||||
user.update_attribute(:is_privileged, false)
|
||||
user.update_attribute(:created_at, 1.year.ago)
|
||||
assert(user.can_comment?)
|
||||
(Danbooru.config.member_comment_limit + 1).times do
|
||||
Factory.create(:comment, :creator => user)
|
||||
assert(!@user.can_comment?)
|
||||
@user.update_attribute(:is_privileged, true)
|
||||
assert(@user.can_comment?)
|
||||
@user.update_attribute(:is_privileged, false)
|
||||
@user.update_attribute(:created_at, 1.year.ago)
|
||||
assert(@user.can_comment?)
|
||||
(Danbooru.config.member_comment_limit).times do
|
||||
Factory.create(:comment)
|
||||
end
|
||||
assert(!user.can_comment?)
|
||||
assert(!@user.can_comment?)
|
||||
end
|
||||
|
||||
should "verify" do
|
||||
user = Factory.create(:user)
|
||||
assert(user.is_verified?)
|
||||
user = Factory.create(:user)
|
||||
user.generate_email_verification_key
|
||||
user.save
|
||||
assert(!user.is_verified?)
|
||||
assert_raise(User::Error) {user.verify!("bbb")}
|
||||
assert_nothing_raised {user.verify!(user.email_verification_key)}
|
||||
assert(user.is_verified?)
|
||||
assert(@user.is_verified?)
|
||||
@user = Factory.create(:user)
|
||||
@user.generate_email_verification_key
|
||||
@user.save
|
||||
assert(!@user.is_verified?)
|
||||
assert_raise(User::Error) {@user.verify!("bbb")}
|
||||
assert_nothing_raised {@user.verify!(@user.email_verification_key)}
|
||||
assert(@user.is_verified?)
|
||||
end
|
||||
|
||||
should "authenticate" do
|
||||
@user = Factory.create(:user)
|
||||
assert(User.authenticate(@user.name, "password"), "Authentication should have succeeded")
|
||||
assert(!User.authenticate(@user.name, "password2"), "Authentication should not have succeeded")
|
||||
assert(User.authenticate_hash(@user.name, @user.password_hash), "Authentication should have succeeded")
|
||||
|
||||
Reference in New Issue
Block a user