3 class UserBlocksTest < ActionDispatch::IntegrationTest
5 blocked_user = create(:user)
7 get "/api/#{Settings.api_version}/user/details"
8 assert_response :unauthorized
10 get "/api/#{Settings.api_version}/user/details", :headers => basic_authorization_header(blocked_user.display_name, "test")
11 assert_response :success
15 :user_id => blocked_user.id,
16 :creator_id => create(:moderator_user).id,
18 :ends_at => Time.now.utc + 5.minutes
20 get "/api/#{Settings.api_version}/user/details", :headers => basic_authorization_header(blocked_user.display_name, "test")
21 assert_response :forbidden
25 blocked_user = create(:user)
26 moderator = create(:moderator_user)
28 block = UserBlock.create(
29 :user_id => blocked_user.id,
30 :creator_id => moderator.id,
32 :ends_at => Time.now.utc + 5.minutes
34 get "/api/#{Settings.api_version}/user/details", :headers => basic_authorization_header(blocked_user.display_name, "test")
35 assert_response :forbidden
39 assert_response :success
40 post "/login", :params => { "username" => moderator.email, "password" => "test", :referer => "/blocks/#{block.id}/revoke" }
41 assert_response :redirect
43 assert_response :success
44 assert_template "user_blocks/revoke"
45 post "/blocks/#{block.id}/revoke", :params => { "confirm" => "yes" }
46 assert_response :redirect
48 assert_response :success
49 assert_template "user_blocks/show"
52 # access the API again. this time it should work
53 get "/api/#{Settings.api_version}/user/details", :headers => basic_authorization_header(blocked_user.display_name, "test")
54 assert_response :success