mirror of
https://github.com/TracksApp/tracks.git
synced 2025-12-21 09:40:13 +01:00
Merge pull request #84 from sukima/fix_projects_api_crash
Fix projects api crash
This commit is contained in:
commit
23b92d853a
2 changed files with 34 additions and 2 deletions
|
|
@ -31,14 +31,13 @@ class ProjectsController < ApplicationController
|
||||||
@completed_count = current_user.projects.completed.count
|
@completed_count = current_user.projects.completed.count
|
||||||
@no_projects = current_user.projects.empty?
|
@no_projects = current_user.projects.empty?
|
||||||
current_user.projects.cache_note_counts
|
current_user.projects.cache_note_counts
|
||||||
@new_project = current_user.projects.build
|
|
||||||
end
|
end
|
||||||
format.m do
|
format.m do
|
||||||
@completed_projects = current_user.projects.completed
|
@completed_projects = current_user.projects.completed
|
||||||
@down_count = @active_projects.size + @hidden_projects.size + @completed_projects.size
|
@down_count = @active_projects.size + @hidden_projects.size + @completed_projects.size
|
||||||
cookies[:mobile_url]= {:value => request.fullpath, :secure => SITE_CONFIG['secure_cookies']}
|
cookies[:mobile_url]= {:value => request.fullpath, :secure => SITE_CONFIG['secure_cookies']}
|
||||||
end
|
end
|
||||||
format.xml { render :xml => @projects.all.to_xml( :except => :user_id ) }
|
format.xml { render :xml => @projects.to_xml( :except => :user_id ) }
|
||||||
format.rss do
|
format.rss do
|
||||||
@feed_title = I18n.t('models.project.feed_title')
|
@feed_title = I18n.t('models.project.feed_title')
|
||||||
@feed_description = I18n.t('models.project.feed_description', :username => current_user.display_name)
|
@feed_description = I18n.t('models.project.feed_description', :username => current_user.display_name)
|
||||||
|
|
|
||||||
|
|
@ -221,5 +221,38 @@ class ProjectsControllerTest < ActionController::TestCase
|
||||||
assert_equal projects(:gardenclean), exposed_projects[1]
|
assert_equal projects(:gardenclean), exposed_projects[1]
|
||||||
assert_equal projects(:moremoney), exposed_projects[2]
|
assert_equal projects(:moremoney), exposed_projects[2]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# XML (REST API)
|
||||||
|
|
||||||
|
def test_xml_content
|
||||||
|
login_as(:admin_user)
|
||||||
|
get :index, { :format => "xml" }
|
||||||
|
assert_equal 'application/xml', @response.content_type
|
||||||
|
|
||||||
|
assert_xml_select 'projects' do
|
||||||
|
assert_select 'project', 3 do
|
||||||
|
assert_select 'name', /.+/
|
||||||
|
assert_select 'state', 'active'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_xml_not_accessible_to_anonymous_user_without_token
|
||||||
|
login_as nil
|
||||||
|
get :index, { :format => "xml" }
|
||||||
|
assert_response 401
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_xml_not_accessible_to_anonymous_user_with_invalid_token
|
||||||
|
login_as nil
|
||||||
|
get :index, { :format => "xml", :token => 'foo' }
|
||||||
|
assert_response 401
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_xml_not_accessible_to_anonymous_user_with_valid_token
|
||||||
|
login_as nil
|
||||||
|
get :index, { :format => "xml", :token => users(:admin_user).token }
|
||||||
|
assert_response 401
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue