comparison test/functional/issue_relations_controller_test.rb @ 511:107d36338b70 live

Merge from branch "cannam"
author Chris Cannam
date Thu, 14 Jul 2011 10:43:07 +0100
parents 0c939c159af4
children cbb26bc654de
comparison
equal deleted inserted replaced
451:a9f6345cb43d 511:107d36338b70
1 require File.dirname(__FILE__) + '/../test_helper' 1 require File.expand_path('../../test_helper', __FILE__)
2 require 'issue_relations_controller' 2 require 'issue_relations_controller'
3 3
4 # Re-raise errors caught by the controller. 4 # Re-raise errors caught by the controller.
5 class IssueRelationsController; def rescue_action(e) raise e end; end 5 class IssueRelationsController; def rescue_action(e) raise e end; end
6 6
31 post :new, :issue_id => 1, 31 post :new, :issue_id => 1,
32 :relation => {:issue_to_id => '2', :relation_type => 'relates', :delay => ''} 32 :relation => {:issue_to_id => '2', :relation_type => 'relates', :delay => ''}
33 end 33 end
34 end 34 end
35 35
36 def test_new_xhr
37 assert_difference 'IssueRelation.count' do
38 @request.session[:user_id] = 3
39 xhr :post, :new,
40 :issue_id => 3,
41 :relation => {:issue_to_id => '1', :relation_type => 'relates', :delay => ''}
42 assert_select_rjs 'relations' do
43 assert_select 'table', 1
44 assert_select 'tr', 2 # relations
45 end
46 end
47 end
48
36 def test_new_should_accept_id_with_hash 49 def test_new_should_accept_id_with_hash
37 assert_difference 'IssueRelation.count' do 50 assert_difference 'IssueRelation.count' do
38 @request.session[:user_id] = 3 51 @request.session[:user_id] = 3
39 post :new, :issue_id => 1, 52 post :new, :issue_id => 1,
40 :relation => {:issue_to_id => '#2', :relation_type => 'relates', :delay => ''} 53 :relation => {:issue_to_id => '#2', :relation_type => 'relates', :delay => ''}
59 @request.session[:user_id] = 3 72 @request.session[:user_id] = 3
60 post :new, :issue_id => 1, 73 post :new, :issue_id => 1,
61 :relation => {:issue_to_id => '4', :relation_type => 'relates', :delay => ''} 74 :relation => {:issue_to_id => '4', :relation_type => 'relates', :delay => ''}
62 end 75 end
63 end 76 end
77
78 should "prevent relation creation when there's a circular dependency"
64 79
65 def test_destroy 80 def test_destroy
66 assert_difference 'IssueRelation.count', -1 do 81 assert_difference 'IssueRelation.count', -1 do
67 @request.session[:user_id] = 3 82 @request.session[:user_id] = 3
68 post :destroy, :id => '2', :issue_id => '3' 83 post :destroy, :id => '2', :issue_id => '3'
69 end 84 end
70 end 85 end
86
87 def test_destroy_xhr
88 IssueRelation.create!(:relation_type => IssueRelation::TYPE_RELATES) do |r|
89 r.issue_from_id = 3
90 r.issue_to_id = 1
91 end
92
93 assert_difference 'IssueRelation.count', -1 do
94 @request.session[:user_id] = 3
95 xhr :post, :destroy, :id => '2', :issue_id => '3'
96 assert_select_rjs 'relations' do
97 assert_select 'table', 1
98 assert_select 'tr', 1 # relation left
99 end
100 end
101 end
71 end 102 end