Commit e9c593fa21d3aff3057780961d1617004341f934
1 parent
3177eee3
Exists in
community_notifications
Functional tests
Signed-off-by: Gabriel Silva <gabriel93.silva@gmail.com>
Showing
4 changed files
with
68 additions
and
59 deletions
Show diff stats
plugins/environment_notification/controllers/environment_notification_plugin_admin_controller.rb
@@ -9,4 +9,8 @@ class EnvironmentNotificationPluginAdminController < AdminController | @@ -9,4 +9,8 @@ class EnvironmentNotificationPluginAdminController < AdminController | ||
9 | environment | 9 | environment |
10 | end | 10 | end |
11 | 11 | ||
12 | + def admin_required | ||
13 | + redirect_to :root unless current_person.is_admin? | ||
14 | + end | ||
15 | + | ||
12 | end | 16 | end |
plugins/environment_notification/controllers/environment_notification_plugin_myprofile_controller.rb
@@ -9,4 +9,8 @@ class EnvironmentNotificationPluginMyprofileController < MyProfileController | @@ -9,4 +9,8 @@ class EnvironmentNotificationPluginMyprofileController < MyProfileController | ||
9 | profile | 9 | profile |
10 | end | 10 | end |
11 | 11 | ||
12 | + def admin_required | ||
13 | + redirect_to :root unless target.is_admin?(current_person) | ||
14 | + end | ||
15 | + | ||
12 | end | 16 | end |
plugins/environment_notification/lib/notification_manager.rb
plugins/environment_notification/test/functional/environment_notification_plugin_myprofile_controller_test.rb
@@ -24,65 +24,70 @@ class EnvironmentNotificationPluginMyprofileControllerTest < ActionController::T | @@ -24,65 +24,70 @@ class EnvironmentNotificationPluginMyprofileControllerTest < ActionController::T | ||
24 | 24 | ||
25 | should 'profile admin be able to create a notification' do | 25 | should 'profile admin be able to create a notification' do |
26 | @community.add_admin(@person) | 26 | @community.add_admin(@person) |
27 | - post :new, :controller => "environment_notification_plugin_myprofile_controller", | 27 | + post :new, :profile => @community.identifier, |
28 | :notifications => { | 28 | :notifications => { |
29 | :message => "Message", | 29 | :message => "Message", |
30 | :active => true, | 30 | :active => true, |
31 | :type => "EnvironmentNotificationPlugin::DangerNotification" | 31 | :type => "EnvironmentNotificationPlugin::DangerNotification" |
32 | } | 32 | } |
33 | - assert_redirected_to :action => 'index' | ||
34 | - notification = EnvironmentNotificationPlugin::EnvironmentNotification.last | ||
35 | - assert_equal "Message", notification.message | ||
36 | - assert notification.active | ||
37 | - assert_equal "EnvironmentNotificationPlugin::DangerNotification", notification.type | 33 | + assert_redirected_to :action => 'index' |
34 | + notification = EnvironmentNotificationPlugin::EnvironmentNotification.last | ||
35 | + assert_equal "Message", notification.message | ||
36 | + assert notification.active | ||
37 | + assert_equal "EnvironmentNotificationPlugin::DangerNotification", notification.type | ||
38 | end | 38 | end |
39 | 39 | ||
40 | should 'a regular user not to be able to create a notification' do | 40 | should 'a regular user not to be able to create a notification' do |
41 | - post :new, :notifications => { | ||
42 | - :message => "Message", | ||
43 | - :active => true, | ||
44 | - :type => "EnvironmentNotificationPlugin::DangerNotification" | ||
45 | - } | ||
46 | - assert_redirected_to :root | ||
47 | - assert_nil EnvironmentNotificationPlugin::EnvironmentNotification.last | 41 | + post :new, :profile => @community.identifier, |
42 | + :notifications => { | ||
43 | + :message => "Message", | ||
44 | + :active => true, | ||
45 | + :type => "EnvironmentNotificationPlugin::DangerNotification" | ||
46 | + } | ||
47 | + | ||
48 | + assert_redirected_to :root | ||
49 | + assert_nil EnvironmentNotificationPlugin::EnvironmentNotification.last | ||
48 | end | 50 | end |
49 | 51 | ||
50 | - should 'profile admin be able to edit a notification' do | 52 | + should 'profile admin be able to edit a notification' do |
51 | @community.add_admin(@person) | 53 | @community.add_admin(@person) |
52 | @notification = EnvironmentNotificationPlugin::EnvironmentNotification.create( | 54 | @notification = EnvironmentNotificationPlugin::EnvironmentNotification.create( |
53 | - :target => @community, | ||
54 | - :message => "Message", | ||
55 | - :active => true, | ||
56 | - :type => "EnvironmentNotificationPlugin::DangerNotification" | ||
57 | - ) | ||
58 | - post :edit, :id => @notification.id, :notifications => { | ||
59 | - :message => "Edited Message", | ||
60 | - :active => false, | ||
61 | - :type => "EnvironmentNotificationPlugin::WarningNotification" | ||
62 | - } | ||
63 | - @notification = EnvironmentNotificationPlugin::EnvironmentNotification.last | ||
64 | - assert_redirected_to :action => 'index' | ||
65 | - assert_equal "Edited Message", @notification.message | ||
66 | - assert !@notification.active | ||
67 | - assert_equal "EnvironmentNotificationPlugin::WarningNotification", @notification.type | 55 | + :target => @community, |
56 | + :message => "Message", | ||
57 | + :active => true, | ||
58 | + :type => "EnvironmentNotificationPlugin::DangerNotification" | ||
59 | + ) | ||
60 | + | ||
61 | + post :edit, :profile => @community.identifier, :id => @notification.id, | ||
62 | + :notifications => { | ||
63 | + :message => "Edited Message", | ||
64 | + :active => false, | ||
65 | + :type => "EnvironmentNotificationPlugin::WarningNotification" | ||
66 | + } | ||
67 | + @notification = EnvironmentNotificationPlugin::EnvironmentNotification.last | ||
68 | + assert_redirected_to :action => 'index' | ||
69 | + assert_equal "Edited Message", @notification.message | ||
70 | + assert !@notification.active | ||
71 | + assert_equal "EnvironmentNotificationPlugin::WarningNotification", @notification.type | ||
68 | end | 72 | end |
69 | 73 | ||
70 | should 'a regular user not be able to edit a notification' do | 74 | should 'a regular user not be able to edit a notification' do |
71 | @notification = EnvironmentNotificationPlugin::EnvironmentNotification.create( | 75 | @notification = EnvironmentNotificationPlugin::EnvironmentNotification.create( |
72 | - :target => @community, | ||
73 | - :message => "Message", | ||
74 | - :active => true, | ||
75 | - :type => "EnvironmentNotificationPlugin::DangerNotification" | ||
76 | - ) | ||
77 | - post :edit, :notifications => { | ||
78 | - :message => "Edited Message", | ||
79 | - :active => false, | ||
80 | - :type => "EnvironmentNotificationPlugin::DangerNotification" | ||
81 | - } | ||
82 | - @notification.reload | ||
83 | - assert_redirected_to :root | ||
84 | - assert_equal "Message", @notification.message | ||
85 | - assert @notification.active | 76 | + :target => @community, |
77 | + :message => "Message", | ||
78 | + :active => true, | ||
79 | + :type => "EnvironmentNotificationPlugin::DangerNotification" | ||
80 | + ) | ||
81 | + post :edit, :profile => @community.identifier, | ||
82 | + :notifications => { | ||
83 | + :message => "Edited Message", | ||
84 | + :active => false, | ||
85 | + :type => "EnvironmentNotificationPlugin::DangerNotification" | ||
86 | + } | ||
87 | + @notification.reload | ||
88 | + assert_redirected_to :root | ||
89 | + assert_equal "Message", @notification.message | ||
90 | + assert @notification.active | ||
86 | end | 91 | end |
87 | 92 | ||
88 | should 'a profile admin be able to destroy a notification' do | 93 | should 'a profile admin be able to destroy a notification' do |
@@ -93,7 +98,7 @@ class EnvironmentNotificationPluginMyprofileControllerTest < ActionController::T | @@ -93,7 +98,7 @@ class EnvironmentNotificationPluginMyprofileControllerTest < ActionController::T | ||
93 | :active => true, | 98 | :active => true, |
94 | :type => "EnvironmentNotificationPlugin::DangerNotification" | 99 | :type => "EnvironmentNotificationPlugin::DangerNotification" |
95 | ) | 100 | ) |
96 | - delete :destroy, :id => @notification.id | 101 | + delete :destroy, :profile => @community.identifier, :id => @notification.id |
97 | assert_nil EnvironmentNotificationPlugin::EnvironmentNotification.find_by_id(@notification.id) | 102 | assert_nil EnvironmentNotificationPlugin::EnvironmentNotification.find_by_id(@notification.id) |
98 | end | 103 | end |
99 | 104 | ||
@@ -104,10 +109,10 @@ class EnvironmentNotificationPluginMyprofileControllerTest < ActionController::T | @@ -104,10 +109,10 @@ class EnvironmentNotificationPluginMyprofileControllerTest < ActionController::T | ||
104 | :active => true, | 109 | :active => true, |
105 | :type => "EnvironmentNotificationPlugin::DangerNotification" | 110 | :type => "EnvironmentNotificationPlugin::DangerNotification" |
106 | ) | 111 | ) |
107 | - delete :destroy, :id => @notification.id | 112 | + delete :destroy, :profile => @community.identifier, :id => @notification.id |
108 | 113 | ||
109 | - assert_redirected_to :root | ||
110 | - assert_not_nil EnvironmentNotificationPlugin::EnvironmentNotification.find_by_id(@notification.id) | 114 | + assert_redirected_to :root |
115 | + assert_not_nil EnvironmentNotificationPlugin::EnvironmentNotification.find_by_id(@notification.id) | ||
111 | end | 116 | end |
112 | 117 | ||
113 | should 'a profile admin be able to change Notification status' do | 118 | should 'a profile admin be able to change Notification status' do |
@@ -118,11 +123,11 @@ class EnvironmentNotificationPluginMyprofileControllerTest < ActionController::T | @@ -118,11 +123,11 @@ class EnvironmentNotificationPluginMyprofileControllerTest < ActionController::T | ||
118 | :active => true, | 123 | :active => true, |
119 | :type => "EnvironmentNotificationPlugin::DangerNotification" | 124 | :type => "EnvironmentNotificationPlugin::DangerNotification" |
120 | ) | 125 | ) |
121 | - post :change_status, :id => @notification.id | ||
122 | - assert_redirected_to :action => 'index' | 126 | + post :change_status, :profile => @community.identifier, :id => @notification.id |
127 | + assert_redirected_to :action => 'index' | ||
123 | 128 | ||
124 | - @notification.reload | ||
125 | - assert !@notification.active | 129 | + @notification.reload |
130 | + assert !@notification.active | ||
126 | end | 131 | end |
127 | 132 | ||
128 | should 'a regular user not be able to change Notification status' do | 133 | should 'a regular user not be able to change Notification status' do |
@@ -132,11 +137,11 @@ class EnvironmentNotificationPluginMyprofileControllerTest < ActionController::T | @@ -132,11 +137,11 @@ class EnvironmentNotificationPluginMyprofileControllerTest < ActionController::T | ||
132 | :active => true, | 137 | :active => true, |
133 | :type => "EnvironmentNotificationPlugin::DangerNotification" | 138 | :type => "EnvironmentNotificationPlugin::DangerNotification" |
134 | ) | 139 | ) |
135 | - post :change_status, :id => @notification.id | ||
136 | - assert_redirected_to :root | 140 | + post :change_status, :profile => @community.identifier, :id => @notification.id |
141 | + assert_redirected_to :root | ||
137 | 142 | ||
138 | - @notification.reload | ||
139 | - assert @notification.active | 143 | + @notification.reload |
144 | + assert @notification.active | ||
140 | end | 145 | end |
141 | 146 | ||
142 | end | 147 | end |