33class AdminControllerTest < ActionController ::TestCase
44 include Devise ::Test ::ControllerHelpers
55
6- PARAM_LESS_ACTIONS = [ :index , :error_reports , :privileges , :audit_log , :email_query , :admin_email , :all_email ] . freeze
6+ PARAM_LESS_ACTIONS = [ :index , :error_reports , :privileges , :audit_logs , :email_query , :admin_email , :all_email ] . freeze
77
88 test 'should get index' do
99 sign_in users ( :admin )
@@ -127,7 +127,7 @@ class AdminControllerTest < ActionController::TestCase
127127
128128 test 'should get audit log' do
129129 sign_in users ( :admin )
130- get :audit_log
130+ get :audit_logs
131131 assert_response ( :success )
132132 assert_not_nil assigns ( :logs )
133133 end
@@ -174,10 +174,26 @@ class AdminControllerTest < ActionController::TestCase
174174
175175 test 'audit log should work with filter params' do
176176 sign_in users ( :admin )
177- get :audit_log , params : { log_type : 'admin_audit' , event_type : 'setting_update' , from : '2025-04-13' ,
178- to : '2025-04-13' }
179- assert_response ( :success )
180- assert_not_nil assigns ( :logs )
177+
178+ log_types = audit_logs . map ( &:log_type )
179+
180+ log_types . each do |type |
181+ try_audit_logs ( log_type : type )
182+ @logs = assigns ( :logs )
183+ assert_response ( :success )
184+ assert_not_nil @logs
185+ assert ( @logs . all? { |l | l . log_type == type } )
186+ end
187+
188+ event_types = audit_logs . map ( &:event_type )
189+
190+ event_types . each do |type |
191+ try_audit_logs ( event_type : type )
192+ @logs = assigns ( :logs )
193+ assert_response ( :success )
194+ assert_not_nil @logs
195+ assert ( @logs . all? { |l | l . event_type == type } )
196+ end
181197 end
182198
183199 test 'hellban should correctly block the user' do
@@ -203,6 +219,10 @@ class AdminControllerTest < ActionController::TestCase
203219
204220 private
205221
222+ def try_audit_logs ( **params )
223+ get :audit_logs , params : params
224+ end
225+
206226 def try_hellban_user ( user )
207227 post :hellban , params : { id : user . id }
208228 end
0 commit comments