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