require "test_helper"
class UserBlocksTest < ActionDispatch::IntegrationTest
- def auth_header(user, pass)
- { "HTTP_AUTHORIZATION" => format("Basic %s", Base64.encode64("#{user}:#{pass}")) }
- end
-
def test_api_blocked
blocked_user = create(:user)
- get "/api/#{API_VERSION}/user/details"
+ get "/api/#{Settings.api_version}/user/details"
assert_response :unauthorized
- get "/api/#{API_VERSION}/user/details", nil, auth_header(blocked_user.display_name, "test")
+ get "/api/#{Settings.api_version}/user/details", :headers => basic_authorization_header(blocked_user.display_name, "test")
assert_response :success
# now block the user
:user_id => blocked_user.id,
:creator_id => create(:moderator_user).id,
:reason => "testing",
- :ends_at => Time.now.getutc + 5.minutes
+ :ends_at => Time.now.utc + 5.minutes,
+ :deactivates_at => Time.now.utc + 5.minutes
)
- get "/api/#{API_VERSION}/user/details", nil, auth_header(blocked_user.display_name, "test")
+ get "/api/#{Settings.api_version}/user/details", :headers => basic_authorization_header(blocked_user.display_name, "test")
assert_response :forbidden
end
:user_id => blocked_user.id,
:creator_id => moderator.id,
:reason => "testing",
- :ends_at => Time.now.getutc + 5.minutes
+ :ends_at => Time.now.utc + 5.minutes,
+ :deactivates_at => Time.now.utc + 5.minutes
)
- get "/api/#{API_VERSION}/user/details", nil, auth_header(blocked_user.display_name, "test")
+ get "/api/#{Settings.api_version}/user/details", :headers => basic_authorization_header(blocked_user.display_name, "test")
assert_response :forbidden
# revoke the ban
get "/login"
assert_response :success
- post "/login", "username" => moderator.email, "password" => "test", :referer => "/blocks/#{block.id}/revoke"
+ post "/login", :params => { "username" => moderator.email, "password" => "test", :referer => "/user_blocks/#{block.id}/edit" }
assert_response :redirect
follow_redirect!
assert_response :success
- assert_template "user_blocks/revoke"
- post "/blocks/#{block.id}/revoke", "confirm" => "yes"
+ assert_template "user_blocks/edit"
+ put "/user_blocks/#{block.id}", :params => { :user_block_period => "0",
+ :user_block => { :needs_view => false, :reason => "Unblocked" } }
assert_response :redirect
follow_redirect!
assert_response :success
reset!
# access the API again. this time it should work
- get "/api/#{API_VERSION}/user/details", nil, auth_header(blocked_user.display_name, "test")
+ get "/api/#{Settings.api_version}/user/details", :headers => basic_authorization_header(blocked_user.display_name, "test")
assert_response :success
end
end