Add active blocks list api endpoint with empty response
This commit is contained in:
parent
f5af8befa9
commit
6d558003aa
4 changed files with 61 additions and 0 deletions
|
@ -30,6 +30,8 @@ class ApiAbility
|
||||||
can [:read, :update, :destroy], Message if scopes.include?("consume_messages")
|
can [:read, :update, :destroy], Message if scopes.include?("consume_messages")
|
||||||
can :create, Message if scopes.include?("send_messages")
|
can :create, Message if scopes.include?("send_messages")
|
||||||
|
|
||||||
|
can :read, :active_user_blocks_list if scopes.include?("read_prefs")
|
||||||
|
|
||||||
if user.terms_agreed?
|
if user.terms_agreed?
|
||||||
can [:create, :update, :upload, :close, :subscribe, :unsubscribe], Changeset if scopes.include?("write_map")
|
can [:create, :update, :upload, :close, :subscribe, :unsubscribe], Changeset if scopes.include?("write_map")
|
||||||
can :create, ChangesetComment if scopes.include?("write_changeset_comments")
|
can :create, ChangesetComment if scopes.include?("write_changeset_comments")
|
||||||
|
|
13
app/controllers/api/user_blocks/active_lists_controller.rb
Normal file
13
app/controllers/api/user_blocks/active_lists_controller.rb
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
module Api
|
||||||
|
module UserBlocks
|
||||||
|
class ActiveListsController < ApiController
|
||||||
|
before_action :authorize
|
||||||
|
|
||||||
|
authorize_resource :class => :active_user_blocks_list
|
||||||
|
|
||||||
|
before_action :set_request_formats
|
||||||
|
|
||||||
|
def show; end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -122,6 +122,9 @@ OpenStreetMap::Application.routes.draw do
|
||||||
end
|
end
|
||||||
|
|
||||||
resources :user_blocks, :only => :show, :id => /\d+/, :controller => "user_blocks"
|
resources :user_blocks, :only => :show, :id => /\d+/, :controller => "user_blocks"
|
||||||
|
namespace :user_blocks, :path => "user/blocks" do
|
||||||
|
resource :active_list, :path => "active", :only => :show
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
# Data browsing
|
# Data browsing
|
||||||
|
|
|
@ -0,0 +1,43 @@
|
||||||
|
require "test_helper"
|
||||||
|
|
||||||
|
module Api
|
||||||
|
module UserBlocks
|
||||||
|
class ActiveListsControllerTest < ActionDispatch::IntegrationTest
|
||||||
|
##
|
||||||
|
# test all routes which lead to this controller
|
||||||
|
def test_routes
|
||||||
|
assert_routing(
|
||||||
|
{ :path => "/api/0.6/user/blocks/active", :method => :get },
|
||||||
|
{ :controller => "api/user_blocks/active_lists", :action => "show" }
|
||||||
|
)
|
||||||
|
assert_routing(
|
||||||
|
{ :path => "/api/0.6/user/blocks/active.json", :method => :get },
|
||||||
|
{ :controller => "api/user_blocks/active_lists", :action => "show", :format => "json" }
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_show_no_auth_header
|
||||||
|
get api_user_blocks_active_list_path
|
||||||
|
assert_response :unauthorized
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_show_no_permission
|
||||||
|
user = create(:user)
|
||||||
|
user_auth_header = bearer_authorization_header(user, :scopes => %w[])
|
||||||
|
|
||||||
|
get api_user_blocks_active_list_path, :headers => user_auth_header
|
||||||
|
assert_response :forbidden
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_show_empty
|
||||||
|
user = create(:user)
|
||||||
|
user_auth_header = bearer_authorization_header(user, :scopes => %w[read_prefs])
|
||||||
|
create(:user_block, :expired, :user => user)
|
||||||
|
|
||||||
|
get api_user_blocks_active_list_path, :headers => user_auth_header
|
||||||
|
assert_response :success
|
||||||
|
assert_dom "user_block", :count => 0
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
Loading…
Add table
Add a link
Reference in a new issue