+ assert_site_partials 0
+ end
+
+ def assert_site_partials(count = 1)
+ assert_template :partial => '_search', :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
+
+ def test_edit_with_node
+ @request.cookies["_osm_username"] = users(:public_user).display_name
+
+ user = users(:public_user)
+ node = current_nodes(:visible_node)
+
+ get :edit, { :node => node.id }, { 'user' => user.id }
+ assert_equal 1.0, assigns(:lat)
+ assert_equal 1.0, assigns(:lon)
+ end
+
+ def test_edit_with_way
+ @request.cookies["_osm_username"] = users(:public_user).display_name
+
+ user = users(:public_user)
+ way = current_ways(:visible_way)
+
+ get :edit, { :way => way.id }, { 'user' => user.id }
+ assert_equal 3.0, assigns(:lat)
+ assert_equal 3.0, assigns(:lon)
+ end
+
+ def test_edit_with_gpx
+ @request.cookies["_osm_username"] = users(:public_user).display_name
+
+ user = users(:public_user)
+ gpx = gpx_files(:public_trace_file)
+
+ get :edit, { :gpx => gpx.id }, { 'user' => user.id }
+ assert_equal 1.0, assigns(:lat)
+ assert_equal 1.0, assigns(:lon)