]> git.openstreetmap.org Git - rails.git/blobdiff - test/test_helper.rb
Merge remote-tracking branch 'upstream/pull/4272'
[rails.git] / test / test_helper.rb
index 19e1a2784611fa219af508a181909c7ead6f320c..60edf6e0c25a56caabe8a2bbb193b10d304fd86f 100644 (file)
@@ -32,6 +32,7 @@ ENV["RAILS_ENV"] = "test"
 require_relative "../config/environment"
 require "rails/test_help"
 require "webmock/minitest"
+require "minitest/focus" unless ENV["CI"]
 
 WebMock.disable_net_connect!(:allow_localhost => true)
 
@@ -241,13 +242,6 @@ module ActiveSupport
       end
     end
 
-    def sign_in_as(user)
-      visit login_path
-      fill_in "username", :with => user.email
-      fill_in "password", :with => "test"
-      click_button "Login", :match => :first
-    end
-
     def session_for(user)
       get login_path
       post login_path, :params => { :username => user.display_name, :password => "test" }
@@ -372,14 +366,21 @@ module ActiveSupport
       end
     end
 
-    def with_user_account_deletion_delay(value)
-      freeze_time
-      default_value = Settings.user_account_deletion_delay
-      Settings.user_account_deletion_delay = value
+    def with_settings(settings)
+      saved_settings = Settings.to_hash.slice(*settings.keys)
+
+      Settings.merge!(settings)
 
       yield
+    ensure
+      Settings.merge!(saved_settings)
+    end
+
+    def with_user_account_deletion_delay(value, &block)
+      freeze_time
 
-      Settings.user_account_deletion_delay = default_value
+      with_settings(:user_account_deletion_delay => value, &block)
+    ensure
       unfreeze_time
     end
   end