@@ -20,7 +20,9 @@ class TimeTrackerControllerTest < ActionController::TestCase
20
20
21
21
def setup
22
22
user = User . find ( 2 )
23
- user . roles . first . add_permission! :manage_timer_sessions
23
+ user . roles . first . add_permission! :create_timer_sessions
24
+ user . roles . first . add_permission! :stop_timer_sessions
25
+ user . roles . first . add_permission! :cancel_timer_sessions
24
26
@controller . logged_user = user
25
27
@request . session [ :user_id ] = user . id
26
28
end
@@ -197,4 +199,28 @@ def setup
197
199
198
200
assert TimerSession . count , 0
199
201
end
202
+
203
+ test '#create - without create_timer_sessions permission' do
204
+ user = User . find ( 2 )
205
+ user . roles . first . remove_permission! :create_timer_sessions
206
+ @controller . logged_user = user
207
+ post :create , params : { timer_session : { comments : 'Very interesting' } } , xhr : true
208
+ assert_response 403
209
+ end
210
+
211
+ test '#update - without edit_timer_sessions permission' do
212
+ user = User . find ( 2 )
213
+ user . roles . first . remove_permission! :stop_timer_sessions
214
+ @controller . logged_user = user
215
+ patch :update , params : { timer_session : { comments : 'Very interesting' } } , xhr : true
216
+ assert_response 403
217
+ end
218
+
219
+ test '#destroy - without delete_timer_sessions permission' do
220
+ user = User . find ( 2 )
221
+ user . roles . first . remove_permission! :cancel_timer_sessions
222
+ @controller . logged_user = user
223
+ delete :destroy , params : { timer_session : { comments : 'Very interesting' } } , xhr : true
224
+ assert_response 403
225
+ end
200
226
end
0 commit comments