@@ -49,38 +49,22 class MembersControllerTest < ActionController::TestCase | |||
|
49 | 49 | assert User.find(7).member_of?(Project.find(1)) |
|
50 | 50 | end |
|
51 | 51 | |
|
52 | context "post :new in JS format" do | |
|
53 | context "with successful saves" do | |
|
54 | should "add membership for each user" do | |
|
55 | post :new, :format => "js", :id => 1, :member => {:role_ids => [1], :user_ids => [7, 8, 9]} | |
|
56 | ||
|
57 | assert User.find(7).member_of?(Project.find(1)) | |
|
58 | assert User.find(8).member_of?(Project.find(1)) | |
|
59 | assert User.find(9).member_of?(Project.find(1)) | |
|
60 | end | |
|
61 | ||
|
62 | should "replace the tab with RJS" do | |
|
63 | post :new, :format => "js", :id => 1, :member => {:role_ids => [1], :user_ids => [7, 8, 9]} | |
|
64 | ||
|
65 | assert_select_rjs :replace_html, 'tab-content-members' | |
|
66 | end | |
|
67 | ||
|
52 | def test_xhr_create | |
|
53 | assert_difference 'Member.count', 3 do | |
|
54 | post :new, :format => "js", :id => 1, :member => {:role_ids => [1], :user_ids => [7, 8, 9]} | |
|
68 | 55 | end |
|
56 | assert_select_rjs :replace_html, 'tab-content-members' | |
|
57 | assert User.find(7).member_of?(Project.find(1)) | |
|
58 | assert User.find(8).member_of?(Project.find(1)) | |
|
59 | assert User.find(9).member_of?(Project.find(1)) | |
|
60 | end | |
|
69 | 61 | |
|
70 | context "with a failed save" do | |
|
71 | should "not replace the tab with RJS" do | |
|
72 |
|
|
|
73 | ||
|
74 | assert_select '#tab-content-members', 0 | |
|
75 | end | |
|
76 | ||
|
77 | should "open an error message" do | |
|
78 | post :new, :format => "js", :id => 1, :member => {:role_ids => [], :user_ids => [7, 8, 9]} | |
|
79 | ||
|
80 | assert @response.body.match(/alert/i), "Alert message not sent" | |
|
81 | end | |
|
62 | def test_xhr_create_with_failure | |
|
63 | assert_no_difference 'Member.count' do | |
|
64 | post :new, :format => "js", :id => 1, :member => {:role_ids => [], :user_ids => [7, 8, 9]} | |
|
82 | 65 | end |
|
83 | ||
|
66 | assert_select '#tab-content-members', 0 | |
|
67 | assert @response.body.match(/alert/i), "Alert message not sent" | |
|
84 | 68 | end |
|
85 | 69 | |
|
86 | 70 | def test_edit |
@@ -90,6 +74,16 class MembersControllerTest < ActionController::TestCase | |||
|
90 | 74 | assert_redirected_to '/projects/ecookbook/settings/members' |
|
91 | 75 | end |
|
92 | 76 | |
|
77 | def test_xhr_edit | |
|
78 | assert_no_difference 'Member.count' do | |
|
79 | xhr :post, :edit, :id => 2, :member => {:role_ids => [1], :user_id => 3} | |
|
80 | end | |
|
81 | assert_select_rjs :replace_html, 'tab-content-members' | |
|
82 | member = Member.find(2) | |
|
83 | assert_equal [1], member.role_ids | |
|
84 | assert_equal 3, member.user_id | |
|
85 | end | |
|
86 | ||
|
93 | 87 | def test_destroy |
|
94 | 88 | assert_difference 'Member.count', -1 do |
|
95 | 89 | post :destroy, :id => 2 |
@@ -98,6 +92,13 class MembersControllerTest < ActionController::TestCase | |||
|
98 | 92 | assert !User.find(3).member_of?(Project.find(1)) |
|
99 | 93 | end |
|
100 | 94 | |
|
95 | def test_xhr_destroy | |
|
96 | assert_difference 'Member.count', -1 do | |
|
97 | xhr :post, :destroy, :id => 2 | |
|
98 | end | |
|
99 | assert_select_rjs :replace_html, 'tab-content-members' | |
|
100 | end | |
|
101 | ||
|
101 | 102 | def test_autocomplete_for_member |
|
102 | 103 | get :autocomplete_for_member, :id => 1, :q => 'mis' |
|
103 | 104 | assert_response :success |
General Comments 0
You need to be logged in to leave comments.
Login now