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