|
|
|
@ -8,21 +8,26 @@ describe Carto::Api::OrganizationsController do
|
|
|
|
|
include Rack::Test::Methods
|
|
|
|
|
include Warden::Test::Helpers
|
|
|
|
|
|
|
|
|
|
describe 'users' do
|
|
|
|
|
describe 'users unauthenticated behaviour' do
|
|
|
|
|
|
|
|
|
|
it 'returns 401 for not logged users' do
|
|
|
|
|
get api_v1_1_organization_users_url(id: @organization.id), @headers
|
|
|
|
|
last_response.status.should == 401
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
it 'returns 401 for users requesting an organization that they are not owners of' do
|
|
|
|
|
describe 'users' do
|
|
|
|
|
|
|
|
|
|
before(:each) do
|
|
|
|
|
login(@org_user_1)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
it 'returns 401 for users requesting an organization that they are not owners of' do
|
|
|
|
|
get api_v1_1_organization_users_url(id: @organization_2.id, api_key: @org_user_1.api_key), @headers
|
|
|
|
|
last_response.status.should == 401
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
it 'returns organization users sorted by username' do
|
|
|
|
|
login(@org_user_1)
|
|
|
|
|
get api_v1_1_organization_users_url(id: @organization.id, api_key: @org_user_1.api_key), @headers
|
|
|
|
|
last_response.status.should == 200
|
|
|
|
|
json_body = JSON.parse(last_response.body)
|
|
|
|
@ -32,8 +37,6 @@ describe Carto::Api::OrganizationsController do
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
it 'returns organization users paged' do
|
|
|
|
|
login(@org_user_1)
|
|
|
|
|
|
|
|
|
|
get api_v1_1_organization_users_url(id: @organization.id, api_key: @org_user_1.api_key, page: 1, per_page: 1), @headers
|
|
|
|
|
last_response.status.should == 200
|
|
|
|
|
json_body = JSON.parse(last_response.body)
|
|
|
|
@ -49,6 +52,30 @@ describe Carto::Api::OrganizationsController do
|
|
|
|
|
ids[0].should == @org_user_2.id
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
it 'returns users matching username query' do
|
|
|
|
|
username = @org_user_2.username
|
|
|
|
|
[username, username[1, 10], username[-4, 10]].each { |q|
|
|
|
|
|
get api_v1_1_organization_users_url(id: @organization.id, api_key: @org_user_1.api_key, q: q), @headers
|
|
|
|
|
last_response.status.should == 200
|
|
|
|
|
json_body = JSON.parse(last_response.body)
|
|
|
|
|
ids = json_body['users'].map { |u| u['id'] }
|
|
|
|
|
ids.count.should == 1
|
|
|
|
|
ids[0].should == @org_user_2.id
|
|
|
|
|
}
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
it 'returns users matching email query' do
|
|
|
|
|
email = @org_user_2.email
|
|
|
|
|
[email].each { |q|
|
|
|
|
|
get api_v1_1_organization_users_url(id: @organization.id, api_key: @org_user_1.api_key, q: q), @headers
|
|
|
|
|
last_response.status.should == 200
|
|
|
|
|
json_body = JSON.parse(last_response.body)
|
|
|
|
|
ids = json_body['users'].map { |u| u['id'] }
|
|
|
|
|
ids.count.should == 1
|
|
|
|
|
ids[0].should == @org_user_2.id
|
|
|
|
|
}
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|