Mercurial > hg > soundsoftware-site
comparison test/functional/issue_relations_controller_test.rb @ 0:513646585e45
* Import Redmine trunk SVN rev 3859
author | Chris Cannam |
---|---|
date | Fri, 23 Jul 2010 15:52:44 +0100 |
parents | |
children | af80e5618e9b |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:513646585e45 |
---|---|
1 require File.dirname(__FILE__) + '/../test_helper' | |
2 require 'issue_relations_controller' | |
3 | |
4 # Re-raise errors caught by the controller. | |
5 class IssueRelationsController; def rescue_action(e) raise e end; end | |
6 | |
7 | |
8 class IssueRelationsControllerTest < ActionController::TestCase | |
9 fixtures :projects, | |
10 :users, | |
11 :roles, | |
12 :members, | |
13 :member_roles, | |
14 :issues, | |
15 :issue_statuses, | |
16 :issue_relations, | |
17 :enabled_modules, | |
18 :enumerations, | |
19 :trackers | |
20 | |
21 def setup | |
22 @controller = IssueRelationsController.new | |
23 @request = ActionController::TestRequest.new | |
24 @response = ActionController::TestResponse.new | |
25 User.current = nil | |
26 end | |
27 | |
28 def test_new | |
29 assert_difference 'IssueRelation.count' do | |
30 @request.session[:user_id] = 3 | |
31 post :new, :issue_id => 1, | |
32 :relation => {:issue_to_id => '2', :relation_type => 'relates', :delay => ''} | |
33 end | |
34 end | |
35 | |
36 def test_new_should_accept_id_with_hash | |
37 assert_difference 'IssueRelation.count' do | |
38 @request.session[:user_id] = 3 | |
39 post :new, :issue_id => 1, | |
40 :relation => {:issue_to_id => '#2', :relation_type => 'relates', :delay => ''} | |
41 end | |
42 end | |
43 | |
44 def test_new_should_not_break_with_non_numerical_id | |
45 assert_no_difference 'IssueRelation.count' do | |
46 assert_nothing_raised do | |
47 @request.session[:user_id] = 3 | |
48 post :new, :issue_id => 1, | |
49 :relation => {:issue_to_id => 'foo', :relation_type => 'relates', :delay => ''} | |
50 end | |
51 end | |
52 end | |
53 | |
54 def test_should_create_relations_with_visible_issues_only | |
55 Setting.cross_project_issue_relations = '1' | |
56 assert_nil Issue.visible(User.find(3)).find_by_id(4) | |
57 | |
58 assert_no_difference 'IssueRelation.count' do | |
59 @request.session[:user_id] = 3 | |
60 post :new, :issue_id => 1, | |
61 :relation => {:issue_to_id => '4', :relation_type => 'relates', :delay => ''} | |
62 end | |
63 end | |
64 | |
65 def test_destroy | |
66 assert_difference 'IssueRelation.count', -1 do | |
67 @request.session[:user_id] = 3 | |
68 post :destroy, :id => '2', :issue_id => '3' | |
69 end | |
70 end | |
71 end |