Mercurial > hg > soundsoftware-site
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 |