comparison test/functional/.svn/text-base/issue_relations_controller_test.rb.svn-base @ 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