1 # frozen_string_literal: true
 
   7     class ActiveListsControllerTest < ActionDispatch::IntegrationTest
 
   9       # test all routes which lead to this controller
 
  12           { :path => "/api/0.6/user/blocks/active", :method => :get },
 
  13           { :controller => "api/user_blocks/active_lists", :action => "show" }
 
  16           { :path => "/api/0.6/user/blocks/active.json", :method => :get },
 
  17           { :controller => "api/user_blocks/active_lists", :action => "show", :format => "json" }
 
  21       def test_show_no_auth_header
 
  22         get api_user_blocks_active_list_path
 
  23         assert_response :unauthorized
 
  26       def test_show_no_permission
 
  28         user_auth_header = bearer_authorization_header(user, :scopes => %w[])
 
  30         get api_user_blocks_active_list_path, :headers => user_auth_header
 
  31         assert_response :forbidden
 
  36         user_auth_header = bearer_authorization_header(user, :scopes => %w[read_prefs])
 
  37         create(:user_block, :expired, :user => user)
 
  39         get api_user_blocks_active_list_path, :headers => user_auth_header
 
  40         assert_response :success
 
  41         assert_dom "user_block", :count => 0
 
  45         user = create(:moderator_user)
 
  46         user_auth_header = bearer_authorization_header(user, :scopes => %w[read_prefs])
 
  47         create(:user_block, :expired, :user => user)
 
  48         block0 = create(:user_block, :user => user)
 
  49         block1 = create(:user_block, :user => user)
 
  51         create(:user_block, :creator => user)
 
  53         get api_user_blocks_active_list_path, :headers => user_auth_header
 
  54         assert_response :success
 
  55         assert_dom "user_block", :count => 2 do |dom_blocks|
 
  56           assert_dom dom_blocks[0], "> @id", block1.id.to_s
 
  57           assert_dom dom_blocks[1], "> @id", block0.id.to_s
 
  62         user = create(:moderator_user)
 
  63         user_auth_header = bearer_authorization_header(user, :scopes => %w[read_prefs])
 
  64         create(:user_block, :expired, :user => user)
 
  65         block0 = create(:user_block, :user => user)
 
  66         block1 = create(:user_block, :user => user)
 
  68         create(:user_block, :creator => user)
 
  70         get api_user_blocks_active_list_path(:format => "json"), :headers => user_auth_header
 
  71         assert_response :success
 
  72         js = ActiveSupport::JSON.decode(@response.body)
 
  74         assert_equal 2, js["user_blocks"].count
 
  75         assert_equal block1.id, js["user_blocks"][0]["id"]
 
  76         assert_equal block0.id, js["user_blocks"][1]["id"]