107 lines
2.6 KiB
Ruby
107 lines
2.6 KiB
Ruby
module NavigationHelpers
|
|
def homepage
|
|
"/"
|
|
end
|
|
|
|
def login_path
|
|
"#{CartoDB.hostname}/login"
|
|
end
|
|
|
|
def logout_path
|
|
"/logout"
|
|
end
|
|
|
|
def dashboard_path
|
|
"/dashboard"
|
|
end
|
|
|
|
def public_path
|
|
"/dashboard/public"
|
|
end
|
|
|
|
def api_query_url
|
|
"#{api_url_prefix}/"
|
|
end
|
|
|
|
def api_tables_url(params = {})
|
|
api_req "#{api_url_prefix}/tables#{params.empty? ? '' : '?' }#{params.to_query}"
|
|
end
|
|
|
|
def api_table_url(table_identifier, params = {})
|
|
url = "#{api_url_prefix}/tables/#{table_identifier}"
|
|
url = (url + ".#{params[:format]}") unless params[:format].blank?
|
|
api_req(url)
|
|
end
|
|
|
|
def api_tags_url(params = {})
|
|
api_req "#{api_url_prefix}/tables/tags"
|
|
end
|
|
|
|
def api_tables_tag_url(tag_name, params = {})
|
|
api_req URI.encode("#{api_url_prefix}/tables/tags/#{tag_name}#{params.empty? ? '' : '?' }#{params.to_query}")
|
|
end
|
|
|
|
def api_table_records_url(table_identifier, params = {})
|
|
api_req "#{api_url_prefix}/tables/#{table_identifier}/records#{params.empty? ? '' : '?' }#{params.to_query}"
|
|
end
|
|
|
|
def api_table_record_url(table_identifier, row_identifier, params = {})
|
|
api_req "#{api_url_prefix}/tables/#{table_identifier}/records/#{row_identifier}#{params.empty? ? '' : '?' }#{params.to_query}"
|
|
end
|
|
|
|
def api_queries_url(params = {})
|
|
api_req "#{api_url_prefix}/queries#{params.empty? ? '' : '?' }#{params.to_query}"
|
|
end
|
|
|
|
def api_table_columns_url(table_identifier)
|
|
api_req "#{api_url_prefix}/tables/#{table_identifier}/columns"
|
|
end
|
|
|
|
def api_table_column_url(table_identifier, column_name)
|
|
api_req "#{api_url_prefix}/tables/#{table_identifier}/columns/#{column_name}"
|
|
end
|
|
|
|
def api_table_record_column_url(table_identifier, row_identifier, column_name)
|
|
api_req "#{api_url_prefix}/tables/#{table_identifier}/records/#{row_identifier}/columns/#{column_name}"
|
|
end
|
|
|
|
def api_user_url (user_id)
|
|
api_req "#{api_url_prefix}/users/#{user_id}"
|
|
end
|
|
|
|
def superadmin_users_path
|
|
"/superadmin/users"
|
|
end
|
|
|
|
def superadmin_user_path(user)
|
|
"/superadmin/users/#{user.id}"
|
|
end
|
|
|
|
def api_imports_path(params = {})
|
|
api_req "#{api_url_prefix}/tables/#{table_identifier}/export/shp"
|
|
end
|
|
|
|
private
|
|
|
|
def api_url_prefix
|
|
"#{CartoDB.hostname}/api/v1"
|
|
end
|
|
|
|
def api_key
|
|
$users_metadata.HMGET("rails:users:test", 'map_key').first
|
|
end
|
|
|
|
def api_req url
|
|
url = Addressable::URI.parse(url)
|
|
url.query_values = if url.query_values.nil?
|
|
{ :api_key => api_key }
|
|
else
|
|
url.query_values.merge({ :api_key => api_key })
|
|
end
|
|
url.to_s
|
|
end
|
|
|
|
end
|
|
|
|
RSpec.configuration.include NavigationHelpers, :type => :acceptance
|