]> git.openstreetmap.org Git - rails.git/blobdiff - test/test_helper.rb
Add minitest-focus gem
[rails.git] / test / test_helper.rb
index 7157abf5a71ed0ef153b70c50c3436a6b99c00c2..e1bc91917deababfa3aa597fcdc599d08008e356 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)
 
@@ -243,9 +244,11 @@ module ActiveSupport
 
     def sign_in_as(user)
       visit login_path
-      fill_in "username", :with => user.email
-      fill_in "password", :with => "test"
-      click_on "Login", :match => :first
+      within "form", :text => "Email Address or Username" do
+        fill_in "username", :with => user.email
+        fill_in "password", :with => "test"
+        click_on "Login"
+      end
     end
 
     def session_for(user)
@@ -371,5 +374,23 @@ module ActiveSupport
         el << tag_el
       end
     end
+
+    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
+
+      with_settings(:user_account_deletion_delay => value, &block)
+    ensure
+      unfreeze_time
+    end
   end
 end