bans: add test for logging in with expired ban.
This commit is contained in:
@@ -13,8 +13,9 @@ FactoryGirl.define do
|
|||||||
bit_prefs 0
|
bit_prefs 0
|
||||||
|
|
||||||
factory(:banned_user) do
|
factory(:banned_user) do
|
||||||
|
transient { ban_duration 3 }
|
||||||
is_banned true
|
is_banned true
|
||||||
after(:create) { |user| create(:ban, user: user) }
|
after(:create) { |user, ctx| create(:ban, user: user, duration: ctx.ban_duration) }
|
||||||
end
|
end
|
||||||
|
|
||||||
factory(:member_user) do
|
factory(:member_user) do
|
||||||
|
|||||||
@@ -21,6 +21,21 @@ class SessionsControllerTest < ActionController::TestCase
|
|||||||
assert_equal(@user.id, session[:user_id])
|
assert_equal(@user.id, session[:user_id])
|
||||||
assert_not_nil(@user.last_ip_addr)
|
assert_not_nil(@user.last_ip_addr)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
should "unban user if user has expired ban" do
|
||||||
|
CurrentUser.scoped(@user, "127.0.0.1") do
|
||||||
|
@banned = FactoryGirl.create(:banned_user, ban_duration: 3)
|
||||||
|
end
|
||||||
|
|
||||||
|
travel_to(4.days.from_now) do
|
||||||
|
post :create, {name: @banned.name, password: "password"}
|
||||||
|
SessionLoader.new(session, {}, request, {}).load
|
||||||
|
|
||||||
|
assert_equal(@banned.id, session[:user_id])
|
||||||
|
assert_equal(true, @banned.ban_expired?)
|
||||||
|
assert_equal(false, @banned.reload.is_banned)
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context "destroy action" do
|
context "destroy action" do
|
||||||
|
|||||||
Reference in New Issue
Block a user