]> git.openstreetmap.org Git - rails.git/blobdiff - test/test_helper.rb
Simplify element history paths in api tests
[rails.git] / test / test_helper.rb
index e1bc91917deababfa3aa597fcdc599d08008e356..1d04f57da0c9cee215350f95e8a1e7a6e0b5118f 100644 (file)
@@ -242,15 +242,6 @@ module ActiveSupport
       end
     end
 
-    def sign_in_as(user)
-      visit login_path
-      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)
       get login_path
       post login_path, :params => { :username => user.display_name, :password => "test" }
@@ -392,5 +383,41 @@ module ActiveSupport
     ensure
       unfreeze_time
     end
+
+    # This is a convenience method for checks of resources rendered in a map view sidebar
+    # First we check that when we don't have an id, it will correctly return a 404
+    # then we check that we get the correct 404 when a non-existant id is passed
+    # then we check that it will get a successful response, when we do pass an id
+    def sidebar_browse_check(path, id, template)
+      path_method = method(path)
+
+      assert_raise ActionController::UrlGenerationError do
+        get path_method.call
+      end
+
+      assert_raise ActionController::UrlGenerationError do
+        get path_method.call(:id => -10) # we won't have an id that's negative
+      end
+
+      get path_method.call(:id => 0)
+      assert_response :not_found
+      assert_template "browse/not_found"
+      assert_template :layout => "map"
+
+      get path_method.call(:id => 0), :xhr => true
+      assert_response :not_found
+      assert_template "browse/not_found"
+      assert_template :layout => "xhr"
+
+      get path_method.call(:id => id)
+      assert_response :success
+      assert_template template
+      assert_template :layout => "map"
+
+      get path_method.call(:id => id), :xhr => true
+      assert_response :success
+      assert_template template
+      assert_template :layout => "xhr"
+    end
   end
 end