Chris@1296: require File.expand_path('../../test_helper', __FILE__) Chris@1296: Chris@1296: class AutoCompletesControllerTest < ActionController::TestCase Chris@1296: fixtures :projects, :issues, :issue_statuses, Chris@1296: :enumerations, :users, :issue_categories, Chris@1296: :trackers, Chris@1296: :projects_trackers, Chris@1296: :roles, Chris@1296: :member_roles, Chris@1296: :members, Chris@1296: :enabled_modules, Chris@1296: :workflows, Chris@1296: :journals, :journal_details Chris@1296: Chris@1296: def test_issues_should_not_be_case_sensitive Chris@1296: get :issues, :project_id => 'ecookbook', :q => 'ReCiPe' Chris@1296: assert_response :success Chris@1296: assert_not_nil assigns(:issues) Chris@1296: assert assigns(:issues).detect {|issue| issue.subject.match /recipe/} Chris@1296: end Chris@1296: Chris@1296: def test_issues_should_accept_term_param Chris@1296: get :issues, :project_id => 'ecookbook', :term => 'ReCiPe' Chris@1296: assert_response :success Chris@1296: assert_not_nil assigns(:issues) Chris@1296: assert assigns(:issues).detect {|issue| issue.subject.match /recipe/} Chris@1296: end Chris@1296: Chris@1296: def test_issues_should_return_issue_with_given_id Chris@1296: get :issues, :project_id => 'subproject1', :q => '13' Chris@1296: assert_response :success Chris@1296: assert_not_nil assigns(:issues) Chris@1296: assert assigns(:issues).include?(Issue.find(13)) Chris@1296: end Chris@1296: Chris@1296: def test_auto_complete_with_scope_all_should_search_other_projects Chris@1296: get :issues, :project_id => 'ecookbook', :q => '13', :scope => 'all' Chris@1296: assert_response :success Chris@1296: assert_not_nil assigns(:issues) Chris@1296: assert assigns(:issues).include?(Issue.find(13)) Chris@1296: end Chris@1296: Chris@1296: def test_auto_complete_without_project_should_search_all_projects Chris@1296: get :issues, :q => '13' Chris@1296: assert_response :success Chris@1296: assert_not_nil assigns(:issues) Chris@1296: assert assigns(:issues).include?(Issue.find(13)) Chris@1296: end Chris@1296: Chris@1296: def test_auto_complete_without_scope_all_should_not_search_other_projects Chris@1296: get :issues, :project_id => 'ecookbook', :q => '13' Chris@1296: assert_response :success Chris@1296: assert_equal [], assigns(:issues) Chris@1296: end Chris@1296: Chris@1296: def test_issues_should_return_json Chris@1296: get :issues, :project_id => 'subproject1', :q => '13' Chris@1296: assert_response :success Chris@1296: json = ActiveSupport::JSON.decode(response.body) Chris@1296: assert_kind_of Array, json Chris@1296: issue = json.first Chris@1296: assert_kind_of Hash, issue Chris@1296: assert_equal 13, issue['id'] Chris@1296: assert_equal 13, issue['value'] Chris@1296: assert_equal 'Bug #13: Subproject issue two', issue['label'] Chris@1296: end Chris@1296: end