Mercurial > hg > soundsoftware-site
diff 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 |
line wrap: on
line diff
--- a/test/functional/issue_relations_controller_test.rb Thu Jun 09 16:51:06 2011 +0100 +++ b/test/functional/issue_relations_controller_test.rb Thu Jul 14 10:43:07 2011 +0100 @@ -1,4 +1,4 @@ -require File.dirname(__FILE__) + '/../test_helper' +require File.expand_path('../../test_helper', __FILE__) require 'issue_relations_controller' # Re-raise errors caught by the controller. @@ -33,6 +33,19 @@ end end + def test_new_xhr + assert_difference 'IssueRelation.count' do + @request.session[:user_id] = 3 + xhr :post, :new, + :issue_id => 3, + :relation => {:issue_to_id => '1', :relation_type => 'relates', :delay => ''} + assert_select_rjs 'relations' do + assert_select 'table', 1 + assert_select 'tr', 2 # relations + end + end + end + def test_new_should_accept_id_with_hash assert_difference 'IssueRelation.count' do @request.session[:user_id] = 3 @@ -61,6 +74,8 @@ :relation => {:issue_to_id => '4', :relation_type => 'relates', :delay => ''} end end + + should "prevent relation creation when there's a circular dependency" def test_destroy assert_difference 'IssueRelation.count', -1 do @@ -68,4 +83,20 @@ post :destroy, :id => '2', :issue_id => '3' end end + + def test_destroy_xhr + IssueRelation.create!(:relation_type => IssueRelation::TYPE_RELATES) do |r| + r.issue_from_id = 3 + r.issue_to_id = 1 + end + + assert_difference 'IssueRelation.count', -1 do + @request.session[:user_id] = 3 + xhr :post, :destroy, :id => '2', :issue_id => '3' + assert_select_rjs 'relations' do + assert_select 'table', 1 + assert_select 'tr', 1 # relation left + end + end + end end