Chris@119
|
1 require File.expand_path('../../test_helper', __FILE__)
|
Chris@14
|
2
|
Chris@14
|
3 class AutoCompletesControllerTest < ActionController::TestCase
|
Chris@909
|
4 fixtures :projects, :issues, :issue_statuses,
|
Chris@909
|
5 :enumerations, :users, :issue_categories,
|
Chris@909
|
6 :trackers,
|
Chris@909
|
7 :projects_trackers,
|
Chris@909
|
8 :roles,
|
Chris@909
|
9 :member_roles,
|
Chris@909
|
10 :members,
|
Chris@909
|
11 :enabled_modules,
|
Chris@909
|
12 :workflows,
|
Chris@909
|
13 :journals, :journal_details
|
Chris@14
|
14
|
Chris@14
|
15 def test_issues_should_not_be_case_sensitive
|
Chris@14
|
16 get :issues, :project_id => 'ecookbook', :q => 'ReCiPe'
|
Chris@14
|
17 assert_response :success
|
Chris@14
|
18 assert_not_nil assigns(:issues)
|
Chris@14
|
19 assert assigns(:issues).detect {|issue| issue.subject.match /recipe/}
|
Chris@14
|
20 end
|
Chris@909
|
21
|
Chris@1115
|
22 def test_issues_should_accept_term_param
|
Chris@1115
|
23 get :issues, :project_id => 'ecookbook', :term => 'ReCiPe'
|
Chris@1115
|
24 assert_response :success
|
Chris@1115
|
25 assert_not_nil assigns(:issues)
|
Chris@1115
|
26 assert assigns(:issues).detect {|issue| issue.subject.match /recipe/}
|
Chris@1115
|
27 end
|
Chris@1115
|
28
|
Chris@14
|
29 def test_issues_should_return_issue_with_given_id
|
Chris@14
|
30 get :issues, :project_id => 'subproject1', :q => '13'
|
Chris@14
|
31 assert_response :success
|
Chris@14
|
32 assert_not_nil assigns(:issues)
|
Chris@14
|
33 assert assigns(:issues).include?(Issue.find(13))
|
Chris@14
|
34 end
|
Chris@909
|
35
|
Chris@1115
|
36 def test_auto_complete_with_scope_all_should_search_other_projects
|
Chris@119
|
37 get :issues, :project_id => 'ecookbook', :q => '13', :scope => 'all'
|
Chris@119
|
38 assert_response :success
|
Chris@119
|
39 assert_not_nil assigns(:issues)
|
Chris@119
|
40 assert assigns(:issues).include?(Issue.find(13))
|
Chris@119
|
41 end
|
Chris@909
|
42
|
Chris@1115
|
43 def test_auto_complete_without_project_should_search_all_projects
|
Chris@1115
|
44 get :issues, :q => '13'
|
Chris@1115
|
45 assert_response :success
|
Chris@1115
|
46 assert_not_nil assigns(:issues)
|
Chris@1115
|
47 assert assigns(:issues).include?(Issue.find(13))
|
Chris@1115
|
48 end
|
Chris@1115
|
49
|
Chris@1115
|
50 def test_auto_complete_without_scope_all_should_not_search_other_projects
|
Chris@1115
|
51 get :issues, :project_id => 'ecookbook', :q => '13'
|
Chris@119
|
52 assert_response :success
|
Chris@119
|
53 assert_equal [], assigns(:issues)
|
Chris@119
|
54 end
|
Chris@1115
|
55
|
Chris@1115
|
56 def test_issues_should_return_json
|
Chris@1115
|
57 get :issues, :project_id => 'subproject1', :q => '13'
|
Chris@1115
|
58 assert_response :success
|
Chris@1115
|
59 json = ActiveSupport::JSON.decode(response.body)
|
Chris@1115
|
60 assert_kind_of Array, json
|
Chris@1115
|
61 issue = json.first
|
Chris@1115
|
62 assert_kind_of Hash, issue
|
Chris@1115
|
63 assert_equal 13, issue['id']
|
Chris@1115
|
64 assert_equal 13, issue['value']
|
Chris@1115
|
65 assert_equal 'Bug #13: Subproject issue two', issue['label']
|
Chris@1115
|
66 end
|
Chris@14
|
67 end
|