]> git.openstreetmap.org Git - rails.git/blobdiff - test/functional/site_controller_test.rb
Add some password recovery tests
[rails.git] / test / functional / site_controller_test.rb
index c388870ad21a305163d0fe4af5988dff5a7b93bb..4d2162a7161269985daf7cbb54a9a8509232af58 100644 (file)
@@ -1,8 +1,9 @@
 require File.dirname(__FILE__) + '/../test_helper'
 
 class SiteControllerTest < ActionController::TestCase
-  ## Lets check that we can get all the pages without any errors
-  
+  fixtures :users
+
+  ## Lets check that we can get all the pages without any errors  
   # Get the index
   def test_index
     get :index
@@ -39,4 +40,34 @@ class SiteControllerTest < ActionController::TestCase
     assert_template :partial => '_key', :count => count
     assert_template :partial => '_sidebar', :count => count
   end
+
+  # test the right editor gets used when the user hasn't set a preference
+  def test_edit_without_preference
+    @request.cookies["_osm_username"] = users(:public_user).display_name
+
+    get(:edit, nil, { 'user' => users(:public_user).id })
+    assert_response :success
+    assert_template :partial => "_#{DEFAULT_EDITOR}", :count => 1
+  end
+
+  # and when they have...
+  def test_edit_with_preference
+    @request.cookies["_osm_username"] = users(:public_user).display_name
+
+    user = users(:public_user)
+    user.preferred_editor = "potlatch"
+    user.save!
+
+    get(:edit, nil, { 'user' => user.id })
+    assert_response :success
+    assert_template :partial => "_potlatch", :count => 1
+
+    user = users(:public_user)
+    user.preferred_editor = "remote"
+    user.save!
+
+    get(:edit, nil, { 'user' => user.id })
+    assert_response :success
+    assert_template "index"
+  end    
 end