Merge branch 'master' into messages
This commit is contained in:
commit
5e407dfb34
193 changed files with 3218 additions and 1547 deletions
|
@ -73,7 +73,7 @@ class AmfControllerTest < ActionController::TestCase
|
|||
assert_response :success
|
||||
amf_parse_response
|
||||
result = amf_result("/1")
|
||||
assert_equal -4, result[0]
|
||||
assert_equal(-4, result[0])
|
||||
assert_equal "way", result[1]
|
||||
assert_equal id, result[2]
|
||||
assert(result[3].nil? && result[4].nil? && result[5].nil? && result[6].nil?)
|
||||
|
@ -154,7 +154,7 @@ class AmfControllerTest < ActionController::TestCase
|
|||
assert_response :success
|
||||
amf_parse_response
|
||||
way = amf_result("/1")
|
||||
assert_equal -4, way[0]
|
||||
assert_equal(-4, way[0])
|
||||
assert_equal "way", way[1]
|
||||
assert_equal 0, way[2]
|
||||
assert(way[3].nil?) && way[4].nil? && way[5].nil? && way[6].nil?
|
||||
|
@ -370,7 +370,7 @@ class AmfControllerTest < ActionController::TestCase
|
|||
assert_response :success
|
||||
amf_parse_response
|
||||
returned_way = amf_result("/1")
|
||||
assert_equal -1, returned_way[0]
|
||||
assert_equal(-1, returned_way[0])
|
||||
assert returned_way[3].nil?
|
||||
assert returned_way[4].nil?
|
||||
assert returned_way[5].nil?
|
||||
|
@ -391,7 +391,7 @@ class AmfControllerTest < ActionController::TestCase
|
|||
assert_response :success
|
||||
amf_parse_response
|
||||
returned_way = amf_result("/1")
|
||||
assert_equal -1, returned_way[0]
|
||||
assert_equal(-1, returned_way[0])
|
||||
assert returned_way[3].nil?
|
||||
assert returned_way[4].nil?
|
||||
assert returned_way[5].nil?
|
||||
|
@ -408,7 +408,7 @@ class AmfControllerTest < ActionController::TestCase
|
|||
assert_response :success
|
||||
amf_parse_response
|
||||
returned_way = amf_result("/1")
|
||||
assert_equal -1, returned_way[0]
|
||||
assert_equal(-1, returned_way[0])
|
||||
assert returned_way[3].nil?
|
||||
assert returned_way[4].nil?
|
||||
assert returned_way[5].nil?
|
||||
|
@ -498,8 +498,8 @@ class AmfControllerTest < ActionController::TestCase
|
|||
result = amf_result("/1")
|
||||
|
||||
assert_equal 2, result.length
|
||||
assert_equal -1, result[0]
|
||||
assert_match /must be logged in/, result[1]
|
||||
assert_equal(-1, result[0])
|
||||
assert_match(/must be logged in/, result[1])
|
||||
|
||||
blocked_user = create(:user)
|
||||
create(:user_block, :user => blocked_user)
|
||||
|
@ -510,8 +510,8 @@ class AmfControllerTest < ActionController::TestCase
|
|||
result = amf_result("/1")
|
||||
|
||||
assert_equal 2, result.length
|
||||
assert_equal -1, result[0]
|
||||
assert_match /access to the API has been blocked/, result[1]
|
||||
assert_equal(-1, result[0])
|
||||
assert_match(/access to the API has been blocked/, result[1])
|
||||
end
|
||||
|
||||
def test_findgpx_by_id
|
||||
|
@ -546,7 +546,7 @@ class AmfControllerTest < ActionController::TestCase
|
|||
|
||||
# find by name fails as it uses mysql text search syntax...
|
||||
assert_equal 2, result.length
|
||||
assert_equal -2, result[0]
|
||||
assert_equal(-2, result[0])
|
||||
end
|
||||
|
||||
def test_findrelations_by_id
|
||||
|
@ -636,7 +636,7 @@ class AmfControllerTest < ActionController::TestCase
|
|||
result = amf_result("/1")
|
||||
|
||||
assert_equal 3, result.length
|
||||
assert_equal -4, result[0]
|
||||
assert_equal(-4, result[0])
|
||||
assert_equal "node", result[1]
|
||||
assert_equal 999999, result[2]
|
||||
end
|
||||
|
@ -671,7 +671,7 @@ class AmfControllerTest < ActionController::TestCase
|
|||
result = amf_result("/1")
|
||||
|
||||
assert_equal 3, result.length
|
||||
assert_equal -4, result[0]
|
||||
assert_equal(-4, result[0])
|
||||
assert_equal "node", result[1]
|
||||
assert_equal node.node_id, result[2]
|
||||
|
||||
|
@ -682,7 +682,7 @@ class AmfControllerTest < ActionController::TestCase
|
|||
result = amf_result("/1")
|
||||
|
||||
assert_equal 3, result.length
|
||||
assert_equal -4, result[0]
|
||||
assert_equal(-4, result[0])
|
||||
assert_equal "node", result[1]
|
||||
assert_equal 999999, result[2]
|
||||
end
|
||||
|
@ -747,7 +747,7 @@ class AmfControllerTest < ActionController::TestCase
|
|||
assert_equal 5, result.size
|
||||
assert_equal 0, result[0], "expected to get the status ok from the amf"
|
||||
assert_equal 0, result[2], "The old id should be 0"
|
||||
assert result[3] > 0, "The new id should be greater than 0"
|
||||
assert result[3].positive?, "The new id should be greater than 0"
|
||||
assert_equal 1, result[4], "The new version should be 1"
|
||||
|
||||
# Finally check that the node that was saved has saved the data correctly
|
||||
|
@ -784,7 +784,7 @@ class AmfControllerTest < ActionController::TestCase
|
|||
assert_equal 5, result.size
|
||||
assert_equal 0, result[0], "Expected to get the status ok in the amf"
|
||||
assert_equal 0, result[2], "The old id should be 0"
|
||||
assert result[3] > 0, "The new id should be greater than 0"
|
||||
assert result[3].positive?, "The new id should be greater than 0"
|
||||
assert_equal 1, result[4], "The new version should be 1"
|
||||
|
||||
# Finally check that the node that was saved has saved the data correctly
|
||||
|
@ -831,7 +831,7 @@ class AmfControllerTest < ActionController::TestCase
|
|||
assert_equal 5, result.size
|
||||
assert_equal 0, result[0], "Expected to get the status ok in the amf"
|
||||
assert_equal 0, result[2], "The old id should be 0"
|
||||
assert result[3] > 0, "The new id should be greater than 0"
|
||||
assert result[3].positive?, "The new id should be greater than 0"
|
||||
assert_equal 1, result[4], "The new version should be 1"
|
||||
|
||||
# Finally check that the node that was saved has saved the data correctly
|
||||
|
@ -864,7 +864,7 @@ class AmfControllerTest < ActionController::TestCase
|
|||
result = amf_result("/1")
|
||||
|
||||
assert_equal 2, result.size
|
||||
assert_equal -1, result[0], "Expected to get the status FAIL in the amf"
|
||||
assert_equal(-1, result[0], "Expected to get the status FAIL in the amf")
|
||||
assert_equal "One of the tags is invalid. Linux users may need to upgrade to Flash Player 10.1.", result[1]
|
||||
end
|
||||
|
||||
|
@ -904,7 +904,7 @@ class AmfControllerTest < ActionController::TestCase
|
|||
result = amf_result("/1")
|
||||
|
||||
assert_equal 3, result.size
|
||||
assert_equal -4, result[0]
|
||||
assert_equal(-4, result[0])
|
||||
assert_equal "node", result[1]
|
||||
assert_equal nd.id, result[2]
|
||||
end
|
||||
|
@ -922,7 +922,7 @@ class AmfControllerTest < ActionController::TestCase
|
|||
result = amf_result("/1")
|
||||
|
||||
assert_equal 3, result.size
|
||||
assert_equal -4, result[0]
|
||||
assert_equal(-4, result[0])
|
||||
assert_equal "node", result[1]
|
||||
assert_equal 999999, result[2]
|
||||
end
|
||||
|
@ -940,8 +940,8 @@ class AmfControllerTest < ActionController::TestCase
|
|||
result = amf_result("/1")
|
||||
|
||||
assert_equal 2, result.size
|
||||
assert_equal -2, result[0]
|
||||
assert_match /Node is not in the world/, result[1]
|
||||
assert_equal(-2, result[0])
|
||||
assert_match(/Node is not in the world/, result[1])
|
||||
end
|
||||
|
||||
# check that we can create a way
|
||||
|
@ -966,8 +966,8 @@ class AmfControllerTest < ActionController::TestCase
|
|||
assert_equal 8, result.size
|
||||
assert_equal 0, result[0]
|
||||
assert_equal "", result[1]
|
||||
assert_equal -1, result[2]
|
||||
assert_not_equal -1, result[3]
|
||||
assert_equal(-1, result[2])
|
||||
assert_not_equal(-1, result[3])
|
||||
assert_equal({}, result[4])
|
||||
assert_equal 1, result[5]
|
||||
assert_equal({}, result[6])
|
||||
|
@ -988,8 +988,8 @@ class AmfControllerTest < ActionController::TestCase
|
|||
assert_equal 8, result.size
|
||||
assert_equal 0, result[0]
|
||||
assert_equal "", result[1]
|
||||
assert_equal -1, result[2]
|
||||
assert_not_equal -1, result[3]
|
||||
assert_equal(-1, result[2])
|
||||
assert_not_equal(-1, result[3])
|
||||
assert_equal({}, result[4])
|
||||
assert_equal 1, result[5]
|
||||
assert_equal({}, result[6])
|
||||
|
@ -1011,8 +1011,8 @@ class AmfControllerTest < ActionController::TestCase
|
|||
assert_equal 8, result.size
|
||||
assert_equal 0, result[0]
|
||||
assert_equal "", result[1]
|
||||
assert_equal -1, result[2]
|
||||
assert_not_equal -1, result[3]
|
||||
assert_equal(-1, result[2])
|
||||
assert_not_equal(-1, result[3])
|
||||
assert_equal({ "-1" => new_node_id }, result[4])
|
||||
assert_equal 1, result[5]
|
||||
assert_equal({ new_node_id.to_s => 1, d.to_s => 2 }, result[6])
|
||||
|
@ -1193,8 +1193,8 @@ class AmfControllerTest < ActionController::TestCase
|
|||
result = amf_result("/1")
|
||||
|
||||
assert_equal 2, result.size
|
||||
assert_equal -1, result[0]
|
||||
assert_match /Way #{way.id} is still used/, result[1]
|
||||
assert_equal(-1, result[0])
|
||||
assert_match(/Way #{way.id} is still used/, result[1])
|
||||
|
||||
new_way = Way.find(way.id)
|
||||
assert_equal way.version, new_way.version
|
||||
|
@ -1225,8 +1225,8 @@ class AmfControllerTest < ActionController::TestCase
|
|||
assert_equal 5, result.size
|
||||
assert_equal 0, result[0]
|
||||
assert_equal "", result[1]
|
||||
assert_equal -1, result[2]
|
||||
assert_not_equal -1, result[3]
|
||||
assert_equal(-1, result[2])
|
||||
assert_not_equal(-1, result[3])
|
||||
assert_equal 1, result[4]
|
||||
|
||||
new_relation = Relation.find(new_relation_id)
|
||||
|
@ -1307,8 +1307,8 @@ class AmfControllerTest < ActionController::TestCase
|
|||
result = amf_result("/1")
|
||||
|
||||
assert_equal 2, result.size
|
||||
assert_equal -1, result[0]
|
||||
assert_match /relation #{relation.id} is used in/, result[1]
|
||||
assert_equal(-1, result[0])
|
||||
assert_match(/relation #{relation.id} is used in/, result[1])
|
||||
|
||||
new_relation = Relation.find(relation.id)
|
||||
assert_equal relation.version, new_relation.version
|
||||
|
@ -1404,7 +1404,7 @@ class AmfControllerTest < ActionController::TestCase
|
|||
result = amf_result("/1")
|
||||
|
||||
assert_equal 2, result.size
|
||||
assert_equal -2, result[0]
|
||||
assert_equal(-2, result[0])
|
||||
assert_equal "The user doesn't own that changeset", result[1]
|
||||
|
||||
cs = Changeset.find(cs_id)
|
||||
|
|
|
@ -68,8 +68,10 @@ class BrowseControllerTest < ActionController::TestCase
|
|||
end
|
||||
|
||||
def test_read_changeset
|
||||
user = create(:user)
|
||||
private_changeset = create(:changeset, :user => create(:user, :data_public => false))
|
||||
changeset = create(:changeset)
|
||||
changeset = create(:changeset, :user => user)
|
||||
create(:changeset, :user => user)
|
||||
browse_check "changeset", private_changeset.id, "browse/changeset"
|
||||
browse_check "changeset", changeset.id, "browse/changeset"
|
||||
end
|
||||
|
|
|
@ -63,7 +63,7 @@ class ChangesetControllerTest < ActionController::TestCase
|
|||
)
|
||||
assert_routing(
|
||||
{ :path => "/user/name/history", :method => :get },
|
||||
{ :controller => "changeset", :action => "list", :display_name => "name" }
|
||||
{ :controller => "changeset", :action => "index", :display_name => "name" }
|
||||
)
|
||||
assert_routing(
|
||||
{ :path => "/user/name/history/feed", :method => :get },
|
||||
|
@ -71,15 +71,15 @@ class ChangesetControllerTest < ActionController::TestCase
|
|||
)
|
||||
assert_routing(
|
||||
{ :path => "/history/friends", :method => :get },
|
||||
{ :controller => "changeset", :action => "list", :friends => true, :format => :html }
|
||||
{ :controller => "changeset", :action => "index", :friends => true, :format => :html }
|
||||
)
|
||||
assert_routing(
|
||||
{ :path => "/history/nearby", :method => :get },
|
||||
{ :controller => "changeset", :action => "list", :nearby => true, :format => :html }
|
||||
{ :controller => "changeset", :action => "index", :nearby => true, :format => :html }
|
||||
)
|
||||
assert_routing(
|
||||
{ :path => "/history", :method => :get },
|
||||
{ :controller => "changeset", :action => "list" }
|
||||
{ :controller => "changeset", :action => "index" }
|
||||
)
|
||||
assert_routing(
|
||||
{ :path => "/history/feed", :method => :get },
|
||||
|
@ -213,7 +213,7 @@ class ChangesetControllerTest < ActionController::TestCase
|
|||
get :read, :params => { :id => id }
|
||||
assert_response :not_found, "should get a not found"
|
||||
rescue ActionController::UrlGenerationError => ex
|
||||
assert_match /No route matches/, ex.to_s
|
||||
assert_match(/No route matches/, ex.to_s)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -287,7 +287,7 @@ class ChangesetControllerTest < ActionController::TestCase
|
|||
put :close, :params => { :id => id }
|
||||
assert_response :unauthorized, "Shouldn't be able close the non-existant changeset #{id}, when not authorized"
|
||||
rescue ActionController::UrlGenerationError => ex
|
||||
assert_match /No route matches/, ex.to_s
|
||||
assert_match(/No route matches/, ex.to_s)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -298,7 +298,7 @@ class ChangesetControllerTest < ActionController::TestCase
|
|||
put :close, :params => { :id => id }
|
||||
assert_response :not_found, "The changeset #{id} doesn't exist, so can't be closed"
|
||||
rescue ActionController::UrlGenerationError => ex
|
||||
assert_match /No route matches/, ex.to_s
|
||||
assert_match(/No route matches/, ex.to_s)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -469,9 +469,9 @@ CHANGESET
|
|||
new_rel_id = doc.find("//diffResult/relation").first["new_id"].to_i
|
||||
|
||||
# check the old IDs are all present and negative one
|
||||
assert_equal -1, doc.find("//diffResult/node").first["old_id"].to_i
|
||||
assert_equal -1, doc.find("//diffResult/way").first["old_id"].to_i
|
||||
assert_equal -1, doc.find("//diffResult/relation").first["old_id"].to_i
|
||||
assert_equal(-1, doc.find("//diffResult/node").first["old_id"].to_i)
|
||||
assert_equal(-1, doc.find("//diffResult/way").first["old_id"].to_i)
|
||||
assert_equal(-1, doc.find("//diffResult/relation").first["old_id"].to_i)
|
||||
|
||||
# check the versions are present and equal one
|
||||
assert_equal 1, doc.find("//diffResult/node").first["new_version"].to_i
|
||||
|
@ -1882,173 +1882,173 @@ CHANGESET
|
|||
|
||||
##
|
||||
# This should display the last 20 changesets closed
|
||||
def test_list
|
||||
get :list, :params => { :format => "html" }
|
||||
def test_index
|
||||
get :index, :params => { :format => "html" }
|
||||
assert_response :success
|
||||
assert_template "history"
|
||||
assert_template :layout => "map"
|
||||
assert_select "h2", :text => "Changesets", :count => 1
|
||||
|
||||
get :list, :params => { :format => "html", :list => "1" }, :xhr => true
|
||||
get :index, :params => { :format => "html", :list => "1" }, :xhr => true
|
||||
assert_response :success
|
||||
assert_template "list"
|
||||
assert_template "index"
|
||||
|
||||
check_list_result(Changeset.all)
|
||||
check_index_result(Changeset.all)
|
||||
end
|
||||
|
||||
##
|
||||
# This should display the last 20 changesets closed
|
||||
def test_list_xhr
|
||||
get :list, :params => { :format => "html" }, :xhr => true
|
||||
def test_index_xhr
|
||||
get :index, :params => { :format => "html" }, :xhr => true
|
||||
assert_response :success
|
||||
assert_template "history"
|
||||
assert_template :layout => "xhr"
|
||||
assert_select "h2", :text => "Changesets", :count => 1
|
||||
|
||||
get :list, :params => { :format => "html", :list => "1" }, :xhr => true
|
||||
get :index, :params => { :format => "html", :list => "1" }, :xhr => true
|
||||
assert_response :success
|
||||
assert_template "list"
|
||||
assert_template "index"
|
||||
|
||||
check_list_result(Changeset.all)
|
||||
check_index_result(Changeset.all)
|
||||
end
|
||||
|
||||
##
|
||||
# This should display the last 20 changesets closed in a specific area
|
||||
def test_list_bbox
|
||||
get :list, :params => { :format => "html", :bbox => "4.5,4.5,5.5,5.5" }
|
||||
def test_index_bbox
|
||||
get :index, :params => { :format => "html", :bbox => "4.5,4.5,5.5,5.5" }
|
||||
assert_response :success
|
||||
assert_template "history"
|
||||
assert_template :layout => "map"
|
||||
assert_select "h2", :text => "Changesets", :count => 1
|
||||
|
||||
get :list, :params => { :format => "html", :bbox => "4.5,4.5,5.5,5.5", :list => "1" }, :xhr => true
|
||||
get :index, :params => { :format => "html", :bbox => "4.5,4.5,5.5,5.5", :list => "1" }, :xhr => true
|
||||
assert_response :success
|
||||
assert_template "list"
|
||||
assert_template "index"
|
||||
|
||||
check_list_result(Changeset.where("min_lon < 55000000 and max_lon > 45000000 and min_lat < 55000000 and max_lat > 45000000"))
|
||||
check_index_result(Changeset.where("min_lon < 55000000 and max_lon > 45000000 and min_lat < 55000000 and max_lat > 45000000"))
|
||||
end
|
||||
|
||||
##
|
||||
# Checks the display of the user changesets listing
|
||||
def test_list_user
|
||||
def test_index_user
|
||||
user = create(:user)
|
||||
create(:changeset, :user => user)
|
||||
create(:changeset, :closed, :user => user)
|
||||
|
||||
get :list, :params => { :format => "html", :display_name => user.display_name }
|
||||
get :index, :params => { :format => "html", :display_name => user.display_name }
|
||||
assert_response :success
|
||||
assert_template "history"
|
||||
|
||||
get :list, :params => { :format => "html", :display_name => user.display_name, :list => "1" }, :xhr => true
|
||||
get :index, :params => { :format => "html", :display_name => user.display_name, :list => "1" }, :xhr => true
|
||||
assert_response :success
|
||||
assert_template "list"
|
||||
assert_template "index"
|
||||
|
||||
check_list_result(user.changesets)
|
||||
check_index_result(user.changesets)
|
||||
end
|
||||
|
||||
##
|
||||
# Checks the display of the user changesets listing for a private user
|
||||
def test_list_private_user
|
||||
def test_index_private_user
|
||||
private_user = create(:user, :data_public => false)
|
||||
create(:changeset, :user => private_user)
|
||||
create(:changeset, :closed, :user => private_user)
|
||||
|
||||
get :list, :params => { :format => "html", :display_name => private_user.display_name }
|
||||
get :index, :params => { :format => "html", :display_name => private_user.display_name }
|
||||
assert_response :success
|
||||
assert_template "history"
|
||||
|
||||
get :list, :params => { :format => "html", :display_name => private_user.display_name, :list => "1" }, :xhr => true
|
||||
get :index, :params => { :format => "html", :display_name => private_user.display_name, :list => "1" }, :xhr => true
|
||||
assert_response :success
|
||||
assert_template "list"
|
||||
assert_template "index"
|
||||
|
||||
check_list_result(Changeset.none)
|
||||
check_index_result(Changeset.none)
|
||||
end
|
||||
|
||||
##
|
||||
# Check the not found of the list user changesets
|
||||
def test_list_user_not_found
|
||||
get :list, :params => { :format => "html", :display_name => "Some random user" }
|
||||
# Check the not found of the index user changesets
|
||||
def test_index_user_not_found
|
||||
get :index, :params => { :format => "html", :display_name => "Some random user" }
|
||||
assert_response :not_found
|
||||
assert_template "user/no_such_user"
|
||||
|
||||
get :list, :params => { :format => "html", :display_name => "Some random user", :list => "1" }, :xhr => true
|
||||
get :index, :params => { :format => "html", :display_name => "Some random user", :list => "1" }, :xhr => true
|
||||
assert_response :not_found
|
||||
assert_template "user/no_such_user"
|
||||
end
|
||||
|
||||
##
|
||||
# Checks the display of the friends changesets listing
|
||||
def test_list_friends
|
||||
def test_index_friends
|
||||
private_user = create(:user, :data_public => true)
|
||||
friend = create(:friend, :befriender => private_user)
|
||||
create(:changeset, :user => friend.befriendee)
|
||||
|
||||
get :list, :params => { :friends => true }
|
||||
get :index, :params => { :friends => true }
|
||||
assert_response :redirect
|
||||
assert_redirected_to :controller => :user, :action => :login, :referer => friend_changesets_path
|
||||
|
||||
session[:user] = private_user.id
|
||||
|
||||
get :list, :params => { :friends => true }
|
||||
get :index, :params => { :friends => true }
|
||||
assert_response :success
|
||||
assert_template "history"
|
||||
|
||||
get :list, :params => { :friends => true, :list => "1" }, :xhr => true
|
||||
get :index, :params => { :friends => true, :list => "1" }, :xhr => true
|
||||
assert_response :success
|
||||
assert_template "list"
|
||||
assert_template "index"
|
||||
|
||||
check_list_result(Changeset.where(:user => private_user.friend_users.identifiable))
|
||||
check_index_result(Changeset.where(:user => private_user.friend_users.identifiable))
|
||||
end
|
||||
|
||||
##
|
||||
# Checks the display of the nearby user changesets listing
|
||||
def test_list_nearby
|
||||
def test_index_nearby
|
||||
private_user = create(:user, :data_public => false, :home_lat => 51.1, :home_lon => 1.0)
|
||||
user = create(:user, :home_lat => 51.0, :home_lon => 1.0)
|
||||
create(:changeset, :user => user)
|
||||
|
||||
get :list, :params => { :nearby => true }
|
||||
get :index, :params => { :nearby => true }
|
||||
assert_response :redirect
|
||||
assert_redirected_to :controller => :user, :action => :login, :referer => nearby_changesets_path
|
||||
|
||||
session[:user] = private_user.id
|
||||
|
||||
get :list, :params => { :nearby => true }
|
||||
get :index, :params => { :nearby => true }
|
||||
assert_response :success
|
||||
assert_template "history"
|
||||
|
||||
get :list, :params => { :nearby => true, :list => "1" }, :xhr => true
|
||||
get :index, :params => { :nearby => true, :list => "1" }, :xhr => true
|
||||
assert_response :success
|
||||
assert_template "list"
|
||||
assert_template "index"
|
||||
|
||||
check_list_result(Changeset.where(:user => user.nearby))
|
||||
check_index_result(Changeset.where(:user => user.nearby))
|
||||
end
|
||||
|
||||
##
|
||||
# Check that we can't request later pages of the changesets list
|
||||
def test_list_max_id
|
||||
get :list, :params => { :format => "html", :max_id => 4 }, :xhr => true
|
||||
# Check that we can't request later pages of the changesets index
|
||||
def test_index_max_id
|
||||
get :index, :params => { :format => "html", :max_id => 4 }, :xhr => true
|
||||
assert_response :success
|
||||
assert_template "history"
|
||||
assert_template :layout => "xhr"
|
||||
assert_select "h2", :text => "Changesets", :count => 1
|
||||
|
||||
get :list, :params => { :format => "html", :list => "1", :max_id => 4 }, :xhr => true
|
||||
get :index, :params => { :format => "html", :list => "1", :max_id => 4 }, :xhr => true
|
||||
assert_response :success
|
||||
assert_template "list"
|
||||
assert_template "index"
|
||||
|
||||
check_list_result(Changeset.where("id <= 4"))
|
||||
check_index_result(Changeset.where("id <= 4"))
|
||||
end
|
||||
|
||||
##
|
||||
# Check that a list with a next page link works
|
||||
def test_list_more
|
||||
def test_index_more
|
||||
create_list(:changeset, 50)
|
||||
|
||||
get :list, :params => { :format => "html" }
|
||||
get :index, :params => { :format => "html" }
|
||||
assert_response :success
|
||||
|
||||
get :list, :params => { :format => "html" }, :xhr => true
|
||||
get :index, :params => { :format => "html" }, :xhr => true
|
||||
assert_response :success
|
||||
end
|
||||
|
||||
|
@ -2063,7 +2063,7 @@ CHANGESET
|
|||
|
||||
get :feed, :params => { :format => :atom }
|
||||
assert_response :success
|
||||
assert_template "list"
|
||||
assert_template "index"
|
||||
assert_equal "application/atom+xml", response.content_type
|
||||
|
||||
check_feed_result([changeset, closed_changeset])
|
||||
|
@ -2081,7 +2081,7 @@ CHANGESET
|
|||
|
||||
get :feed, :params => { :format => :atom, :bbox => "4.5,4.5,5.5,5.5" }
|
||||
assert_response :success
|
||||
assert_template "list"
|
||||
assert_template "index"
|
||||
assert_equal "application/atom+xml", response.content_type
|
||||
|
||||
check_feed_result([changeset, closed_changeset])
|
||||
|
@ -2099,7 +2099,7 @@ CHANGESET
|
|||
get :feed, :params => { :format => :atom, :display_name => user.display_name }
|
||||
|
||||
assert_response :success
|
||||
assert_template "list"
|
||||
assert_template "index"
|
||||
assert_equal "application/atom+xml", response.content_type
|
||||
|
||||
check_feed_result(changesets)
|
||||
|
@ -2499,8 +2499,8 @@ CHANGESET
|
|||
end
|
||||
|
||||
##
|
||||
# check the result of a list
|
||||
def check_list_result(changesets)
|
||||
# check the result of a index
|
||||
def check_index_result(changesets)
|
||||
changesets = changesets.where("num_changes > 0")
|
||||
.order(:created_at => :desc)
|
||||
.limit(20)
|
||||
|
|
|
@ -16,23 +16,23 @@ class DiaryEntryControllerTest < ActionController::TestCase
|
|||
def test_routes
|
||||
assert_routing(
|
||||
{ :path => "/diary", :method => :get },
|
||||
{ :controller => "diary_entry", :action => "list" }
|
||||
{ :controller => "diary_entry", :action => "index" }
|
||||
)
|
||||
assert_routing(
|
||||
{ :path => "/diary/language", :method => :get },
|
||||
{ :controller => "diary_entry", :action => "list", :language => "language" }
|
||||
{ :controller => "diary_entry", :action => "index", :language => "language" }
|
||||
)
|
||||
assert_routing(
|
||||
{ :path => "/user/username/diary", :method => :get },
|
||||
{ :controller => "diary_entry", :action => "list", :display_name => "username" }
|
||||
{ :controller => "diary_entry", :action => "index", :display_name => "username" }
|
||||
)
|
||||
assert_routing(
|
||||
{ :path => "/diary/friends", :method => :get },
|
||||
{ :controller => "diary_entry", :action => "list", :friends => true }
|
||||
{ :controller => "diary_entry", :action => "index", :friends => true }
|
||||
)
|
||||
assert_routing(
|
||||
{ :path => "/diary/nearby", :method => :get },
|
||||
{ :controller => "diary_entry", :action => "list", :nearby => true }
|
||||
{ :controller => "diary_entry", :action => "index", :nearby => true }
|
||||
)
|
||||
|
||||
assert_routing(
|
||||
|
@ -67,7 +67,7 @@ class DiaryEntryControllerTest < ActionController::TestCase
|
|||
)
|
||||
assert_routing(
|
||||
{ :path => "/user/username/diary/1", :method => :get },
|
||||
{ :controller => "diary_entry", :action => "view", :display_name => "username", :id => "1" }
|
||||
{ :controller => "diary_entry", :action => "show", :display_name => "username", :id => "1" }
|
||||
)
|
||||
assert_routing(
|
||||
{ :path => "/user/username/diary/1/edit", :method => :get },
|
||||
|
@ -170,7 +170,7 @@ class DiaryEntryControllerTest < ActionController::TestCase
|
|||
:session => { :user => user.id }
|
||||
end
|
||||
assert_response :redirect
|
||||
assert_redirected_to :action => :list, :display_name => user.display_name
|
||||
assert_redirected_to :action => :index, :display_name => user.display_name
|
||||
entry = DiaryEntry.order(:id).last
|
||||
assert_equal user.id, entry.user_id
|
||||
assert_equal "New Title", entry.title
|
||||
|
@ -198,7 +198,7 @@ class DiaryEntryControllerTest < ActionController::TestCase
|
|||
:session => { :user => user.id }
|
||||
end
|
||||
assert_response :redirect
|
||||
assert_redirected_to :action => :list, :display_name => user.display_name
|
||||
assert_redirected_to :action => :index, :display_name => user.display_name
|
||||
entry = DiaryEntry.order(:id).last
|
||||
assert_equal user.id, entry.user_id
|
||||
assert_equal "New Title", entry.title
|
||||
|
@ -227,7 +227,7 @@ class DiaryEntryControllerTest < ActionController::TestCase
|
|||
:session => { :user => user.id }
|
||||
end
|
||||
assert_response :redirect
|
||||
assert_redirected_to :action => :list, :display_name => user.display_name
|
||||
assert_redirected_to :action => :index, :display_name => user.display_name
|
||||
entry = DiaryEntry.order(:id).last
|
||||
assert_equal user.id, entry.user_id
|
||||
assert_equal spammy_title, entry.title
|
||||
|
@ -236,7 +236,7 @@ class DiaryEntryControllerTest < ActionController::TestCase
|
|||
assert_equal "suspended", User.find(user.id).status
|
||||
|
||||
# Follow the redirect
|
||||
get :list,
|
||||
get :index,
|
||||
:params => { :display_name => user.display_name },
|
||||
:session => { :user => user }
|
||||
assert_response :redirect
|
||||
|
@ -265,13 +265,13 @@ class DiaryEntryControllerTest < ActionController::TestCase
|
|||
assert_select "h2", :text => "No entry with the id: 9999", :count => 1
|
||||
end
|
||||
|
||||
# Verify that you get redirected to view if you are not the user
|
||||
# Verify that you get redirected to show if you are not the user
|
||||
# that created the entry
|
||||
get :edit,
|
||||
:params => { :display_name => entry.user.display_name, :id => entry.id },
|
||||
:session => { :user => other_user }
|
||||
assert_response :redirect
|
||||
assert_redirected_to :action => :view, :display_name => entry.user.display_name, :id => entry.id
|
||||
assert_redirected_to :action => :show, :display_name => entry.user.display_name, :id => entry.id
|
||||
|
||||
# Now pass the id, and check that you can edit it, when using the same
|
||||
# user as the person who created the entry
|
||||
|
@ -309,14 +309,14 @@ class DiaryEntryControllerTest < ActionController::TestCase
|
|||
:longitude => new_longitude, :language_code => new_language_code } },
|
||||
:session => { :user => entry.user.id }
|
||||
assert_response :redirect
|
||||
assert_redirected_to :action => :view, :display_name => entry.user.display_name, :id => entry.id
|
||||
assert_redirected_to :action => :show, :display_name => entry.user.display_name, :id => entry.id
|
||||
|
||||
# Now check that the new data is rendered, when logged in
|
||||
get :view,
|
||||
get :show,
|
||||
:params => { :display_name => entry.user.display_name, :id => entry.id },
|
||||
:session => { :user => entry.user }
|
||||
assert_response :success
|
||||
assert_template "diary_entry/view"
|
||||
assert_template "diary_entry/show"
|
||||
assert_select "title", :text => /Users' diaries | /, :count => 1
|
||||
assert_select "div.content-heading", :count => 1 do
|
||||
assert_select "h2", :text => /#{entry.user.display_name}'s diary/, :count => 1
|
||||
|
@ -333,11 +333,11 @@ class DiaryEntryControllerTest < ActionController::TestCase
|
|||
end
|
||||
|
||||
# and when not logged in as the user who wrote the entry
|
||||
get :view,
|
||||
get :show,
|
||||
:params => { :display_name => entry.user.display_name, :id => entry.id },
|
||||
:session => { :user => create(:user) }
|
||||
assert_response :success
|
||||
assert_template "diary_entry/view"
|
||||
assert_template "diary_entry/show"
|
||||
assert_select "title", :text => /Users' diaries | /, :count => 1
|
||||
assert_select "div.content-heading", :count => 1 do
|
||||
assert_select "h2", :text => /#{entry.user.display_name}'s diary/, :count => 1
|
||||
|
@ -397,7 +397,7 @@ class DiaryEntryControllerTest < ActionController::TestCase
|
|||
end
|
||||
end
|
||||
assert_response :success
|
||||
assert_template :view
|
||||
assert_template :show
|
||||
|
||||
# Now try again with the right id
|
||||
assert_difference "ActionMailer::Base.deliveries.size", entry.subscribers.count do
|
||||
|
@ -410,20 +410,20 @@ class DiaryEntryControllerTest < ActionController::TestCase
|
|||
end
|
||||
end
|
||||
assert_response :redirect
|
||||
assert_redirected_to :action => :view, :display_name => entry.user.display_name, :id => entry.id
|
||||
assert_redirected_to :action => :show, :display_name => entry.user.display_name, :id => entry.id
|
||||
email = ActionMailer::Base.deliveries.first
|
||||
assert_equal [user.email], email.to
|
||||
assert_equal "[OpenStreetMap] #{other_user.display_name} commented on a diary entry", email.subject
|
||||
assert_match /New comment/, email.text_part.decoded
|
||||
assert_match /New comment/, email.html_part.decoded
|
||||
assert_match(/New comment/, email.text_part.decoded)
|
||||
assert_match(/New comment/, email.html_part.decoded)
|
||||
ActionMailer::Base.deliveries.clear
|
||||
comment = DiaryComment.order(:id).last
|
||||
assert_equal entry.id, comment.diary_entry_id
|
||||
assert_equal other_user.id, comment.user_id
|
||||
assert_equal "New comment", comment.body
|
||||
|
||||
# Now view the diary entry, and check the new comment is present
|
||||
get :view,
|
||||
# Now show the diary entry, and check the new comment is present
|
||||
get :show,
|
||||
:params => { :display_name => entry.user.display_name, :id => entry.id }
|
||||
assert_response :success
|
||||
assert_select ".diary-comment", :count => 1 do
|
||||
|
@ -456,7 +456,7 @@ class DiaryEntryControllerTest < ActionController::TestCase
|
|||
end
|
||||
end
|
||||
assert_response :redirect
|
||||
assert_redirected_to :action => :view, :display_name => entry.user.display_name, :id => entry.id
|
||||
assert_redirected_to :action => :show, :display_name => entry.user.display_name, :id => entry.id
|
||||
email = ActionMailer::Base.deliveries.first
|
||||
assert_equal [user.email], email.to
|
||||
assert_equal "[OpenStreetMap] #{other_user.display_name} commented on a diary entry", email.subject
|
||||
|
@ -470,30 +470,30 @@ class DiaryEntryControllerTest < ActionController::TestCase
|
|||
assert_equal "suspended", User.find(other_user.id).status
|
||||
|
||||
# Follow the redirect
|
||||
get :list,
|
||||
get :index,
|
||||
:params => { :display_name => user.display_name },
|
||||
:session => { :user => other_user }
|
||||
assert_response :redirect
|
||||
assert_redirected_to :controller => :user, :action => :suspended
|
||||
|
||||
# Now view the diary entry, and check the new comment is not present
|
||||
get :view,
|
||||
# Now show the diary entry, and check the new comment is not present
|
||||
get :show,
|
||||
:params => { :display_name => entry.user.display_name, :id => entry.id }
|
||||
assert_response :success
|
||||
assert_select ".diary-comment", :count => 0
|
||||
end
|
||||
|
||||
def test_list_all
|
||||
def test_index_all
|
||||
diary_entry = create(:diary_entry)
|
||||
geo_entry = create(:diary_entry, :latitude => 51.50763, :longitude => -0.10781)
|
||||
public_entry = create(:diary_entry, :user => create(:user))
|
||||
|
||||
# Try a list of all diary entries
|
||||
get :list
|
||||
check_diary_list diary_entry, geo_entry, public_entry
|
||||
get :index
|
||||
check_diary_index diary_entry, geo_entry, public_entry
|
||||
end
|
||||
|
||||
def test_list_user
|
||||
def test_index_user
|
||||
user = create(:user)
|
||||
other_user = create(:user)
|
||||
|
||||
|
@ -502,16 +502,16 @@ class DiaryEntryControllerTest < ActionController::TestCase
|
|||
_other_entry = create(:diary_entry, :user => other_user)
|
||||
|
||||
# Try a list of diary entries for a valid user
|
||||
get :list, :params => { :display_name => user.display_name }
|
||||
check_diary_list diary_entry, geo_entry
|
||||
get :index, :params => { :display_name => user.display_name }
|
||||
check_diary_index diary_entry, geo_entry
|
||||
|
||||
# Try a list of diary entries for an invalid user
|
||||
get :list, :params => { :display_name => "No Such User" }
|
||||
get :index, :params => { :display_name => "No Such User" }
|
||||
assert_response :not_found
|
||||
assert_template "user/no_such_user"
|
||||
end
|
||||
|
||||
def test_list_friends
|
||||
def test_index_friends
|
||||
user = create(:user)
|
||||
other_user = create(:user)
|
||||
friend = create(:friend, :befriender => user)
|
||||
|
@ -519,36 +519,36 @@ class DiaryEntryControllerTest < ActionController::TestCase
|
|||
_other_entry = create(:diary_entry, :user => other_user)
|
||||
|
||||
# Try a list of diary entries for your friends when not logged in
|
||||
get :list, :params => { :friends => true }
|
||||
get :index, :params => { :friends => true }
|
||||
assert_response :redirect
|
||||
assert_redirected_to :controller => :user, :action => :login, :referer => "/diary/friends"
|
||||
|
||||
# Try a list of diary entries for your friends when logged in
|
||||
get :list, :params => { :friends => true }, :session => { :user => user }
|
||||
check_diary_list diary_entry
|
||||
get :list, :params => { :friends => true }, :session => { :user => other_user }
|
||||
check_diary_list
|
||||
get :index, :params => { :friends => true }, :session => { :user => user }
|
||||
check_diary_index diary_entry
|
||||
get :index, :params => { :friends => true }, :session => { :user => other_user }
|
||||
check_diary_index
|
||||
end
|
||||
|
||||
def test_list_nearby
|
||||
def test_index_nearby
|
||||
user = create(:user, :home_lat => 12, :home_lon => 12)
|
||||
nearby_user = create(:user, :home_lat => 11.9, :home_lon => 12.1)
|
||||
|
||||
diary_entry = create(:diary_entry, :user => user)
|
||||
|
||||
# Try a list of diary entries for nearby users when not logged in
|
||||
get :list, :params => { :nearby => true }
|
||||
get :index, :params => { :nearby => true }
|
||||
assert_response :redirect
|
||||
assert_redirected_to :controller => :user, :action => :login, :referer => "/diary/nearby"
|
||||
|
||||
# Try a list of diary entries for nearby users when logged in
|
||||
get :list, :params => { :nearby => true }, :session => { :user => nearby_user }
|
||||
check_diary_list diary_entry
|
||||
get :list, :params => { :nearby => true }, :session => { :user => user }
|
||||
check_diary_list
|
||||
get :index, :params => { :nearby => true }, :session => { :user => nearby_user }
|
||||
check_diary_index diary_entry
|
||||
get :index, :params => { :nearby => true }, :session => { :user => user }
|
||||
check_diary_index
|
||||
end
|
||||
|
||||
def test_list_language
|
||||
def test_index_language
|
||||
create(:language, :code => "de")
|
||||
create(:language, :code => "sl")
|
||||
diary_entry_en = create(:diary_entry, :language_code => "en")
|
||||
|
@ -556,29 +556,29 @@ class DiaryEntryControllerTest < ActionController::TestCase
|
|||
diary_entry_de = create(:diary_entry, :language_code => "de")
|
||||
|
||||
# Try a list of diary entries in english
|
||||
get :list, :params => { :language => "en" }
|
||||
check_diary_list diary_entry_en, diary_entry_en2
|
||||
get :index, :params => { :language => "en" }
|
||||
check_diary_index diary_entry_en, diary_entry_en2
|
||||
|
||||
# Try a list of diary entries in german
|
||||
get :list, :params => { :language => "de" }
|
||||
check_diary_list diary_entry_de
|
||||
get :index, :params => { :language => "de" }
|
||||
check_diary_index diary_entry_de
|
||||
|
||||
# Try a list of diary entries in slovenian
|
||||
get :list, :params => { :language => "sl" }
|
||||
check_diary_list
|
||||
get :index, :params => { :language => "sl" }
|
||||
check_diary_index
|
||||
end
|
||||
|
||||
def test_list_paged
|
||||
def test_index_paged
|
||||
# Create several pages worth of diary entries
|
||||
create_list(:diary_entry, 50)
|
||||
|
||||
# Try and get the list
|
||||
get :list
|
||||
# Try and get the index
|
||||
get :index
|
||||
assert_response :success
|
||||
assert_select "div.diary_post", :count => 20
|
||||
|
||||
# Try and get the second page
|
||||
get :list, :params => { :page => 2 }
|
||||
get :index, :params => { :page => 2 }
|
||||
assert_response :success
|
||||
assert_select "div.diary_post", :count => 20
|
||||
end
|
||||
|
@ -658,34 +658,34 @@ class DiaryEntryControllerTest < ActionController::TestCase
|
|||
assert_match "<title><script></title>", response.body
|
||||
end
|
||||
|
||||
def test_view
|
||||
def test_show
|
||||
user = create(:user)
|
||||
suspended_user = create(:user, :suspended)
|
||||
deleted_user = create(:user, :deleted)
|
||||
|
||||
# Try a normal entry that should work
|
||||
diary_entry = create(:diary_entry, :user => user)
|
||||
get :view, :params => { :display_name => user.display_name, :id => diary_entry.id }
|
||||
get :show, :params => { :display_name => user.display_name, :id => diary_entry.id }
|
||||
assert_response :success
|
||||
assert_template :view
|
||||
assert_template :show
|
||||
|
||||
# Try a deleted entry
|
||||
diary_entry_deleted = create(:diary_entry, :user => user, :visible => false)
|
||||
get :view, :params => { :display_name => user.display_name, :id => diary_entry_deleted.id }
|
||||
get :show, :params => { :display_name => user.display_name, :id => diary_entry_deleted.id }
|
||||
assert_response :not_found
|
||||
|
||||
# Try an entry by a suspended user
|
||||
diary_entry_suspended = create(:diary_entry, :user => suspended_user)
|
||||
get :view, :params => { :display_name => suspended_user.display_name, :id => diary_entry_suspended.id }
|
||||
get :show, :params => { :display_name => suspended_user.display_name, :id => diary_entry_suspended.id }
|
||||
assert_response :not_found
|
||||
|
||||
# Try an entry by a deleted user
|
||||
diary_entry_deleted = create(:diary_entry, :user => deleted_user)
|
||||
get :view, :params => { :display_name => deleted_user.display_name, :id => diary_entry_deleted.id }
|
||||
get :show, :params => { :display_name => deleted_user.display_name, :id => diary_entry_deleted.id }
|
||||
assert_response :not_found
|
||||
end
|
||||
|
||||
def test_view_hidden_comments
|
||||
def test_show_hidden_comments
|
||||
# Get a diary entry that has hidden comments
|
||||
user = create(:user)
|
||||
diary_entry = create(:diary_entry, :user => user)
|
||||
|
@ -694,9 +694,9 @@ class DiaryEntryControllerTest < ActionController::TestCase
|
|||
deleted_user_comment = create(:diary_comment, :diary_entry => diary_entry, :user => create(:user, :deleted))
|
||||
hidden_comment = create(:diary_comment, :diary_entry => diary_entry, :visible => false)
|
||||
|
||||
get :view, :params => { :display_name => user.display_name, :id => diary_entry.id }
|
||||
get :show, :params => { :display_name => user.display_name, :id => diary_entry.id }
|
||||
assert_response :success
|
||||
assert_template :view
|
||||
assert_template :show
|
||||
assert_select "div.comments" do
|
||||
assert_select "p#comment#{visible_comment.id}", :count => 1
|
||||
assert_select "p#comment#{suspended_user_comment.id}", :count => 0
|
||||
|
@ -720,7 +720,7 @@ class DiaryEntryControllerTest < ActionController::TestCase
|
|||
:params => { :display_name => user.display_name, :id => diary_entry.id },
|
||||
:session => { :user => user }
|
||||
assert_response :redirect
|
||||
assert_redirected_to :action => :view, :display_name => user.display_name, :id => diary_entry.id
|
||||
assert_redirected_to :action => :show, :display_name => user.display_name, :id => diary_entry.id
|
||||
assert_equal true, DiaryEntry.find(diary_entry.id).visible
|
||||
|
||||
# Finally try as an administrator
|
||||
|
@ -728,7 +728,7 @@ class DiaryEntryControllerTest < ActionController::TestCase
|
|||
:params => { :display_name => user.display_name, :id => diary_entry.id },
|
||||
:session => { :user => create(:administrator_user) }
|
||||
assert_response :redirect
|
||||
assert_redirected_to :action => :list, :display_name => user.display_name
|
||||
assert_redirected_to :action => :index, :display_name => user.display_name
|
||||
assert_equal false, DiaryEntry.find(diary_entry.id).visible
|
||||
end
|
||||
|
||||
|
@ -748,7 +748,7 @@ class DiaryEntryControllerTest < ActionController::TestCase
|
|||
:params => { :display_name => user.display_name, :id => diary_entry.id, :comment => diary_comment.id },
|
||||
:session => { :user => user }
|
||||
assert_response :redirect
|
||||
assert_redirected_to :action => :view, :display_name => user.display_name, :id => diary_entry.id
|
||||
assert_redirected_to :action => :show, :display_name => user.display_name, :id => diary_entry.id
|
||||
assert_equal true, DiaryComment.find(diary_comment.id).visible
|
||||
|
||||
# Finally try as an administrator
|
||||
|
@ -756,7 +756,7 @@ class DiaryEntryControllerTest < ActionController::TestCase
|
|||
:params => { :display_name => user.display_name, :id => diary_entry.id, :comment => diary_comment.id },
|
||||
:session => { :user => administrator_user }
|
||||
assert_response :redirect
|
||||
assert_redirected_to :action => :view, :display_name => user.display_name, :id => diary_entry.id
|
||||
assert_redirected_to :action => :show, :display_name => user.display_name, :id => diary_entry.id
|
||||
assert_equal false, DiaryComment.find(diary_comment.id).visible
|
||||
end
|
||||
|
||||
|
@ -881,9 +881,9 @@ class DiaryEntryControllerTest < ActionController::TestCase
|
|||
|
||||
private
|
||||
|
||||
def check_diary_list(*entries)
|
||||
def check_diary_index(*entries)
|
||||
assert_response :success
|
||||
assert_template "list"
|
||||
assert_template "index"
|
||||
assert_no_missing_translations
|
||||
assert_select "div.diary_post", entries.count
|
||||
|
||||
|
|
|
@ -180,8 +180,8 @@ class MessagesControllerTest < ActionController::TestCase
|
|||
e = ActionMailer::Base.deliveries.first
|
||||
assert_equal [recipient_user.email], e.to
|
||||
assert_equal "[OpenStreetMap] Test Message", e.subject
|
||||
assert_match /Test message body/, e.text_part.decoded
|
||||
assert_match /Test message body/, e.html_part.decoded
|
||||
assert_match(/Test message body/, e.text_part.decoded)
|
||||
assert_match(/Test message body/, e.html_part.decoded)
|
||||
assert_match %r{#{SERVER_URL}/messages/[0-9]+}, e.text_part.decoded
|
||||
ActionMailer::Base.deliveries.clear
|
||||
m = Message.last
|
||||
|
|
|
@ -161,7 +161,7 @@ class OldNodeControllerTest < ActionController::TestCase
|
|||
get :version, :params => { :id => id, :version => version }
|
||||
assert_response :not_found
|
||||
rescue ActionController::UrlGenerationError => ex
|
||||
assert_match /No route matches/, ex.to_s
|
||||
assert_match(/No route matches/, ex.to_s)
|
||||
end
|
||||
|
||||
##
|
||||
|
|
|
@ -112,7 +112,7 @@ class RedactionsControllerTest < ActionController::TestCase
|
|||
delete :destroy, :params => { :id => redaction.id }
|
||||
assert_response :redirect
|
||||
assert_redirected_to(redaction_path(redaction))
|
||||
assert_match /^Redaction is not empty/, flash[:error]
|
||||
assert_match(/^Redaction is not empty/, flash[:error])
|
||||
end
|
||||
|
||||
def test_delete_non_moderator
|
||||
|
|
|
@ -29,7 +29,7 @@ class ReportsControllerTest < ActionController::TestCase
|
|||
}
|
||||
end
|
||||
assert_response :redirect
|
||||
assert_redirected_to user_path(target_user.display_name)
|
||||
assert_redirected_to user_path(target_user)
|
||||
end
|
||||
|
||||
def test_new_report_with_incomplete_details
|
||||
|
@ -55,7 +55,7 @@ class ReportsControllerTest < ActionController::TestCase
|
|||
}
|
||||
end
|
||||
assert_response :redirect
|
||||
assert_redirected_to user_path(target_user.display_name)
|
||||
assert_redirected_to user_path(target_user)
|
||||
|
||||
issue = Issue.last
|
||||
|
||||
|
@ -103,7 +103,7 @@ class ReportsControllerTest < ActionController::TestCase
|
|||
}
|
||||
end
|
||||
assert_response :redirect
|
||||
assert_redirected_to user_path(target_user.display_name)
|
||||
assert_redirected_to user_path(target_user)
|
||||
|
||||
issue = Issue.last
|
||||
|
||||
|
|
|
@ -26,19 +26,19 @@ class SwfControllerTest < ActionController::TestCase
|
|||
get :trackpoints, :params => { :xmin => -1, :xmax => 1, :ymin => 51, :ymax => 52, :baselong => 0, :basey => 0, :masterscale => 1 }
|
||||
assert_response :success
|
||||
assert_equal "application/x-shockwave-flash", response.content_type
|
||||
assert_match /^FWS/, response.body
|
||||
assert_match(/^FWS/, response.body)
|
||||
assert_equal 80, response.body.length
|
||||
|
||||
get :trackpoints, :params => { :xmin => -1, :xmax => 1, :ymin => 51, :ymax => 52, :baselong => 0, :basey => 0, :masterscale => 1, :token => other_user.tokens.create.token }
|
||||
assert_response :success
|
||||
assert_equal "application/x-shockwave-flash", response.content_type
|
||||
assert_match /^FWS/, response.body
|
||||
assert_match(/^FWS/, response.body)
|
||||
assert_equal 67, response.body.length
|
||||
|
||||
get :trackpoints, :params => { :xmin => -1, :xmax => 1, :ymin => 51, :ymax => 52, :baselong => 0, :basey => 0, :masterscale => 1, :token => user.tokens.create.token }
|
||||
assert_response :success
|
||||
assert_equal "application/x-shockwave-flash", response.content_type
|
||||
assert_match /^FWS/, response.body
|
||||
assert_match(/^FWS/, response.body)
|
||||
assert_equal 74, response.body.length
|
||||
end
|
||||
end
|
||||
|
|
|
@ -278,25 +278,59 @@ class TracesControllerTest < ActionController::TestCase
|
|||
end
|
||||
end
|
||||
|
||||
# Check that the rss loads
|
||||
# Check the RSS feed
|
||||
def test_rss
|
||||
user = create(:user)
|
||||
# The fourth test below is surpisingly sensitive to timestamp ordering when the timestamps are equal.
|
||||
trace_a = create(:trace, :visibility => "public", :timestamp => 4.seconds.ago) do |trace|
|
||||
create(:tracetag, :trace => trace, :tag => "London")
|
||||
end
|
||||
trace_b = create(:trace, :visibility => "public", :timestamp => 3.seconds.ago) do |trace|
|
||||
create(:tracetag, :trace => trace, :tag => "Birmingham")
|
||||
end
|
||||
create(:trace, :visibility => "private", :user => user, :timestamp => 2.seconds.ago) do |trace|
|
||||
create(:tracetag, :trace => trace, :tag => "London")
|
||||
end
|
||||
create(:trace, :visibility => "private", :user => user, :timestamp => 1.second.ago) do |trace|
|
||||
create(:tracetag, :trace => trace, :tag => "Birmingham")
|
||||
end
|
||||
|
||||
# First with the public feed
|
||||
get :georss, :params => { :format => :rss }
|
||||
check_trace_feed Trace.visible_to_all
|
||||
check_trace_feed [trace_b, trace_a]
|
||||
|
||||
# Restrict traces to those with a given tag
|
||||
get :georss, :params => { :tag => "London", :format => :rss }
|
||||
check_trace_feed Trace.tagged("London").visible_to_all
|
||||
check_trace_feed [trace_a]
|
||||
end
|
||||
|
||||
# Restrict traces to those for a given user
|
||||
# Check the RSS feed for a specific user
|
||||
def test_rss_user
|
||||
user = create(:user)
|
||||
second_user = create(:user)
|
||||
create(:user)
|
||||
create(:trace)
|
||||
trace_b = create(:trace, :visibility => "public", :timestamp => 4.seconds.ago, :user => user)
|
||||
trace_c = create(:trace, :visibility => "public", :timestamp => 3.seconds.ago, :user => user) do |trace|
|
||||
create(:tracetag, :trace => trace, :tag => "London")
|
||||
end
|
||||
create(:trace, :visibility => "private")
|
||||
|
||||
# Test a user with no traces
|
||||
get :georss, :params => { :display_name => second_user.display_name, :format => :rss }
|
||||
check_trace_feed []
|
||||
|
||||
# Test the user with the traces - should see only public ones
|
||||
get :georss, :params => { :display_name => user.display_name, :format => :rss }
|
||||
check_trace_feed user.traces.visible_to_all
|
||||
check_trace_feed [trace_c, trace_b]
|
||||
|
||||
# Restrict traces to those for a given user with a tiven tag
|
||||
get :georss, :params => { :display_name => user.display_name, :tag => "Birmingham", :format => :rss }
|
||||
check_trace_feed user.traces.tagged("Birmingham").visible_to_all
|
||||
# Should only see traces with the correct tag when a tag is specified
|
||||
get :georss, :params => { :display_name => user.display_name, :tag => "London", :format => :rss }
|
||||
check_trace_feed [trace_c]
|
||||
|
||||
# Should no traces if the user does not exist
|
||||
get :georss, :params => { :display_name => "UnknownUser", :format => :rss }
|
||||
check_trace_feed []
|
||||
end
|
||||
|
||||
# Test showing a trace
|
||||
|
@ -559,7 +593,7 @@ class TracesControllerTest < ActionController::TestCase
|
|||
post :create, :params => { :trace => { :gpx_file => file, :description => "New Trace", :tagstring => "new,trace", :visibility => "trackable" } }, :session => { :user => user }
|
||||
assert_response :redirect
|
||||
assert_redirected_to :action => :index, :display_name => user.display_name
|
||||
assert_match /file has been uploaded/, flash[:notice]
|
||||
assert_match(/file has been uploaded/, flash[:notice])
|
||||
trace = Trace.order(:id => :desc).first
|
||||
assert_equal "a.gpx", trace.name
|
||||
assert_equal "New Trace", trace.description
|
||||
|
@ -995,11 +1029,11 @@ class TracesControllerTest < ActionController::TestCase
|
|||
assert_select "description"
|
||||
assert_select "link"
|
||||
assert_select "image"
|
||||
assert_select "item", :count => traces.visible.count do |items|
|
||||
traces.visible.order("timestamp DESC").zip(items).each do |trace, item|
|
||||
assert_select "item", :count => traces.length do |items|
|
||||
traces.zip(items).each do |trace, item|
|
||||
assert_select item, "title", trace.name
|
||||
assert_select item, "link", "http://test.host/user/#{trace.user.display_name}/traces/#{trace.id}"
|
||||
assert_select item, "guid", "http://test.host/user/#{trace.user.display_name}/traces/#{trace.id}"
|
||||
assert_select item, "link", "http://test.host/user/#{ERB::Util.u(trace.user.display_name)}/traces/#{trace.id}"
|
||||
assert_select item, "guid", "http://test.host/user/#{ERB::Util.u(trace.user.display_name)}/traces/#{trace.id}"
|
||||
assert_select item, "description"
|
||||
# assert_select item, "dc:creator", trace.user.display_name
|
||||
assert_select item, "pubDate", trace.timestamp.rfc822
|
||||
|
|
|
@ -182,7 +182,7 @@ class UserBlocksControllerTest < ActionController::TestCase
|
|||
|
||||
# Check that the block edit page requires us to login
|
||||
get :edit, :params => { :id => active_block.id }
|
||||
assert_redirected_to login_path(:referer => edit_user_block_path(:id => active_block.id))
|
||||
assert_redirected_to login_path(:referer => edit_user_block_path(active_block))
|
||||
|
||||
# Login as a normal user
|
||||
session[:user] = create(:user).id
|
||||
|
@ -306,7 +306,7 @@ class UserBlocksControllerTest < ActionController::TestCase
|
|||
:user_block_period => "12",
|
||||
:user_block => { :needs_view => true, :reason => "Vandalism" } }
|
||||
end
|
||||
assert_redirected_to edit_user_block_path(:id => active_block.id)
|
||||
assert_redirected_to edit_user_block_path(active_block)
|
||||
assert_equal "Only the moderator who created this block can edit it.", flash[:error]
|
||||
|
||||
# Login as the correct moderator
|
||||
|
@ -318,7 +318,7 @@ class UserBlocksControllerTest < ActionController::TestCase
|
|||
:params => { :id => active_block.id,
|
||||
:user_block_period => "99" }
|
||||
end
|
||||
assert_redirected_to edit_user_block_path(:id => active_block.id)
|
||||
assert_redirected_to edit_user_block_path(active_block)
|
||||
assert_equal "The blocking period must be one of the values selectable in the drop-down list.", flash[:error]
|
||||
|
||||
# Check that updating a block works
|
||||
|
@ -328,7 +328,7 @@ class UserBlocksControllerTest < ActionController::TestCase
|
|||
:user_block_period => "12",
|
||||
:user_block => { :needs_view => true, :reason => "Vandalism" } }
|
||||
end
|
||||
assert_redirected_to user_block_path(:id => active_block.id)
|
||||
assert_redirected_to user_block_path(active_block)
|
||||
assert_equal "Block updated.", flash[:notice]
|
||||
b = UserBlock.find(active_block.id)
|
||||
assert_in_delta Time.now, b.updated_at, 1
|
||||
|
@ -378,7 +378,7 @@ class UserBlocksControllerTest < ActionController::TestCase
|
|||
|
||||
# Check that revoking a block works
|
||||
post :revoke, :params => { :id => active_block.id, :confirm => true }
|
||||
assert_redirected_to user_block_path(:id => active_block.id)
|
||||
assert_redirected_to user_block_path(active_block)
|
||||
b = UserBlock.find(active_block.id)
|
||||
assert_in_delta Time.now, b.ends_at, 1
|
||||
|
||||
|
|
|
@ -130,7 +130,7 @@ class UserControllerTest < ActionController::TestCase
|
|||
|
||||
assert_routing(
|
||||
{ :path => "/user/username", :method => :get },
|
||||
{ :controller => "user", :action => "view", :display_name => "username" }
|
||||
{ :controller => "user", :action => "show", :display_name => "username" }
|
||||
)
|
||||
|
||||
assert_routing(
|
||||
|
@ -170,19 +170,19 @@ class UserControllerTest < ActionController::TestCase
|
|||
|
||||
assert_routing(
|
||||
{ :path => "/users", :method => :get },
|
||||
{ :controller => "user", :action => "list" }
|
||||
{ :controller => "user", :action => "index" }
|
||||
)
|
||||
assert_routing(
|
||||
{ :path => "/users", :method => :post },
|
||||
{ :controller => "user", :action => "list" }
|
||||
{ :controller => "user", :action => "index" }
|
||||
)
|
||||
assert_routing(
|
||||
{ :path => "/users/status", :method => :get },
|
||||
{ :controller => "user", :action => "list", :status => "status" }
|
||||
{ :controller => "user", :action => "index", :status => "status" }
|
||||
)
|
||||
assert_routing(
|
||||
{ :path => "/users/status", :method => :post },
|
||||
{ :controller => "user", :action => "list", :status => "status" }
|
||||
{ :controller => "user", :action => "index", :status => "status" }
|
||||
)
|
||||
end
|
||||
|
||||
|
@ -245,7 +245,7 @@ class UserControllerTest < ActionController::TestCase
|
|||
register_email = ActionMailer::Base.deliveries.first
|
||||
|
||||
assert_equal register_email.to[0], user.email
|
||||
assert_match /#{@url}/, register_email.body.to_s
|
||||
assert_match(/#{@url}/, register_email.body.to_s)
|
||||
|
||||
# Check the page
|
||||
assert_redirected_to :action => "confirm", :display_name => user.display_name
|
||||
|
@ -404,7 +404,7 @@ class UserControllerTest < ActionController::TestCase
|
|||
@request.cookies["_osm_session"] = user.display_name
|
||||
post :confirm, :params => { :display_name => user.display_name, :confirm_string => confirm_string }
|
||||
assert_redirected_to login_path
|
||||
assert_match /Confirmed your account/, flash[:notice]
|
||||
assert_match(/Confirmed your account/, flash[:notice])
|
||||
end
|
||||
|
||||
def test_confirm_success_good_token_no_referer
|
||||
|
@ -427,7 +427,7 @@ class UserControllerTest < ActionController::TestCase
|
|||
@request.cookies["_osm_session"] = user.display_name
|
||||
post :confirm, :params => { :display_name => user.display_name, :confirm_string => confirm_string }, :session => { :token => token }
|
||||
assert_redirected_to login_path
|
||||
assert_match /Confirmed your account/, flash[:notice]
|
||||
assert_match(/Confirmed your account/, flash[:notice])
|
||||
end
|
||||
|
||||
def test_confirm_success_no_token_with_referer
|
||||
|
@ -438,7 +438,7 @@ class UserControllerTest < ActionController::TestCase
|
|||
@request.cookies["_osm_session"] = user.display_name
|
||||
post :confirm, :params => { :display_name => user.display_name, :confirm_string => confirm_string }
|
||||
assert_redirected_to login_path(:referer => diary_new_path)
|
||||
assert_match /Confirmed your account/, flash[:notice]
|
||||
assert_match(/Confirmed your account/, flash[:notice])
|
||||
end
|
||||
|
||||
def test_confirm_success_good_token_with_referer
|
||||
|
@ -461,7 +461,7 @@ class UserControllerTest < ActionController::TestCase
|
|||
@request.cookies["_osm_session"] = user.display_name
|
||||
post :confirm, :params => { :display_name => user.display_name, :confirm_string => confirm_string }, :session => { :token => token }
|
||||
assert_redirected_to login_path(:referer => diary_new_path)
|
||||
assert_match /Confirmed your account/, flash[:notice]
|
||||
assert_match(/Confirmed your account/, flash[:notice])
|
||||
end
|
||||
|
||||
def test_confirm_expired_token
|
||||
|
@ -471,7 +471,7 @@ class UserControllerTest < ActionController::TestCase
|
|||
@request.cookies["_osm_session"] = user.display_name
|
||||
post :confirm, :params => { :display_name => user.display_name, :confirm_string => confirm_string }
|
||||
assert_redirected_to :action => "confirm"
|
||||
assert_match /confirmation code has expired/, flash[:error]
|
||||
assert_match(/confirmation code has expired/, flash[:error])
|
||||
end
|
||||
|
||||
def test_confirm_already_confirmed
|
||||
|
@ -481,7 +481,7 @@ class UserControllerTest < ActionController::TestCase
|
|||
@request.cookies["_osm_session"] = user.display_name
|
||||
post :confirm, :params => { :display_name => user.display_name, :confirm_string => confirm_string }
|
||||
assert_redirected_to :action => "login"
|
||||
assert_match /already been confirmed/, flash[:error]
|
||||
assert_match(/already been confirmed/, flash[:error])
|
||||
end
|
||||
|
||||
def test_confirm_resend_success
|
||||
|
@ -494,7 +494,7 @@ class UserControllerTest < ActionController::TestCase
|
|||
|
||||
assert_response :redirect
|
||||
assert_redirected_to login_path
|
||||
assert_match /sent a new confirmation/, flash[:notice]
|
||||
assert_match(/sent a new confirmation/, flash[:notice])
|
||||
|
||||
email = ActionMailer::Base.deliveries.last
|
||||
|
||||
|
@ -541,7 +541,7 @@ class UserControllerTest < ActionController::TestCase
|
|||
post :confirm_email, :params => { :confirm_string => confirm_string }
|
||||
assert_response :redirect
|
||||
assert_redirected_to :action => :account, :display_name => user.display_name
|
||||
assert_match /Confirmed your change of email address/, flash[:notice]
|
||||
assert_match(/Confirmed your change of email address/, flash[:notice])
|
||||
end
|
||||
|
||||
def test_confirm_email_already_confirmed
|
||||
|
@ -551,14 +551,14 @@ class UserControllerTest < ActionController::TestCase
|
|||
post :confirm_email, :params => { :confirm_string => confirm_string }
|
||||
assert_response :redirect
|
||||
assert_redirected_to :action => :account, :display_name => user.display_name
|
||||
assert_match /already been confirmed/, flash[:error]
|
||||
assert_match(/already been confirmed/, flash[:error])
|
||||
end
|
||||
|
||||
def test_confirm_email_bad_token
|
||||
post :confirm_email, :params => { :confirm_string => "XXXXX" }
|
||||
assert_response :success
|
||||
assert_template :confirm_email
|
||||
assert_match /confirmation code has expired or does not exist/, flash[:error]
|
||||
assert_match(/confirmation code has expired or does not exist/, flash[:error])
|
||||
end
|
||||
|
||||
##
|
||||
|
@ -575,7 +575,7 @@ class UserControllerTest < ActionController::TestCase
|
|||
post :confirm_email, :params => { :confirm_string => confirm_string }
|
||||
assert_response :redirect
|
||||
assert_redirected_to :action => :account, :display_name => user.display_name
|
||||
assert_match /Confirmed your change of email address/, flash[:notice]
|
||||
assert_match(/Confirmed your change of email address/, flash[:notice])
|
||||
# gravatar use should now be enabled
|
||||
assert User.find(user.id).image_use_gravatar
|
||||
end
|
||||
|
@ -590,7 +590,7 @@ class UserControllerTest < ActionController::TestCase
|
|||
post :confirm_email, :params => { :confirm_string => confirm_string }
|
||||
assert_response :redirect
|
||||
assert_redirected_to :action => :account, :display_name => user.display_name
|
||||
assert_match /Confirmed your change of email address/, flash[:notice]
|
||||
assert_match(/Confirmed your change of email address/, flash[:notice])
|
||||
# gravatar use should now be disabled
|
||||
assert_not User.find(user.id).image_use_gravatar
|
||||
end
|
||||
|
@ -678,7 +678,7 @@ class UserControllerTest < ActionController::TestCase
|
|||
end
|
||||
assert_response :redirect
|
||||
assert_redirected_to :action => :login
|
||||
assert_match /^Sorry you lost it/, flash[:notice]
|
||||
assert_match(/^Sorry you lost it/, flash[:notice])
|
||||
email = ActionMailer::Base.deliveries.first
|
||||
assert_equal 1, email.to.count
|
||||
assert_equal user.email, email.to.first
|
||||
|
@ -691,7 +691,7 @@ class UserControllerTest < ActionController::TestCase
|
|||
end
|
||||
assert_response :redirect
|
||||
assert_redirected_to :action => :login
|
||||
assert_match /^Sorry you lost it/, flash[:notice]
|
||||
assert_match(/^Sorry you lost it/, flash[:notice])
|
||||
email = ActionMailer::Base.deliveries.first
|
||||
assert_equal 1, email.to.count
|
||||
assert_equal uppercase_user.email, email.to.first
|
||||
|
@ -714,7 +714,7 @@ class UserControllerTest < ActionController::TestCase
|
|||
end
|
||||
assert_response :redirect
|
||||
assert_redirected_to :action => :login
|
||||
assert_match /^Sorry you lost it/, flash[:notice]
|
||||
assert_match(/^Sorry you lost it/, flash[:notice])
|
||||
email = ActionMailer::Base.deliveries.first
|
||||
assert_equal 1, email.to.count
|
||||
assert_equal third_user.email, email.to.first
|
||||
|
@ -727,7 +727,7 @@ class UserControllerTest < ActionController::TestCase
|
|||
end
|
||||
assert_response :redirect
|
||||
assert_redirected_to :action => :login
|
||||
assert_match /^Sorry you lost it/, flash[:notice]
|
||||
assert_match(/^Sorry you lost it/, flash[:notice])
|
||||
email = ActionMailer::Base.deliveries.first
|
||||
assert_equal 1, email.to.count
|
||||
assert_equal third_user.email, email.to.first
|
||||
|
@ -935,14 +935,15 @@ class UserControllerTest < ActionController::TestCase
|
|||
|
||||
# Check that the user account page will display and contains some relevant
|
||||
# information for the user
|
||||
def test_view
|
||||
def test_show
|
||||
# Test a non-existent user
|
||||
get :view, :params => { :display_name => "unknown" }
|
||||
get :show, :params => { :display_name => "unknown" }
|
||||
assert_response :not_found
|
||||
|
||||
# Test a normal user
|
||||
user = create(:user)
|
||||
get :view, :params => { :display_name => user.display_name }
|
||||
create(:friend, :befriender => user)
|
||||
get :show, :params => { :display_name => user.display_name }
|
||||
assert_response :success
|
||||
assert_select "div#userinformation" do
|
||||
assert_select "a[href^='/user/#{ERB::Util.u(user.display_name)}/history']", 1
|
||||
|
@ -955,10 +956,13 @@ class UserControllerTest < ActionController::TestCase
|
|||
assert_select "a[href='/blocks/new/#{ERB::Util.u(user.display_name)}']", 0
|
||||
end
|
||||
|
||||
# Friends shouldn't be visible as we're not logged in
|
||||
assert_select "div#friends-container", :count => 0
|
||||
|
||||
# Test a user who has been blocked
|
||||
blocked_user = create(:user)
|
||||
create(:user_block, :user => blocked_user)
|
||||
get :view, :params => { :display_name => blocked_user.display_name }
|
||||
get :show, :params => { :display_name => blocked_user.display_name }
|
||||
assert_response :success
|
||||
assert_select "div#userinformation" do
|
||||
assert_select "a[href^='/user/#{ERB::Util.u(blocked_user.display_name)}/history']", 1
|
||||
|
@ -974,7 +978,7 @@ class UserControllerTest < ActionController::TestCase
|
|||
# Test a moderator who has applied blocks
|
||||
moderator_user = create(:moderator_user)
|
||||
create(:user_block, :creator => moderator_user)
|
||||
get :view, :params => { :display_name => moderator_user.display_name }
|
||||
get :show, :params => { :display_name => moderator_user.display_name }
|
||||
assert_response :success
|
||||
assert_select "div#userinformation" do
|
||||
assert_select "a[href^='/user/#{ERB::Util.u(moderator_user.display_name)}/history']", 1
|
||||
|
@ -991,7 +995,7 @@ class UserControllerTest < ActionController::TestCase
|
|||
session[:user] = user.id
|
||||
|
||||
# Test the normal user
|
||||
get :view, :params => { :display_name => user.display_name }
|
||||
get :show, :params => { :display_name => user.display_name }
|
||||
assert_response :success
|
||||
assert_select "div#userinformation" do
|
||||
assert_select "a[href^='/user/#{ERB::Util.u(user.display_name)}/history']", 1
|
||||
|
@ -1004,11 +1008,16 @@ class UserControllerTest < ActionController::TestCase
|
|||
assert_select "a[href='/blocks/new/#{ERB::Util.u(user.display_name)}']", 0
|
||||
end
|
||||
|
||||
# Friends should be visible as we're now logged in
|
||||
assert_select "div#friends-container" do
|
||||
assert_select "div.contact-activity", :count => 1
|
||||
end
|
||||
|
||||
# Login as a moderator
|
||||
session[:user] = create(:moderator_user).id
|
||||
|
||||
# Test the normal user
|
||||
get :view, :params => { :display_name => user.display_name }
|
||||
get :show, :params => { :display_name => user.display_name }
|
||||
assert_response :success
|
||||
assert_select "div#userinformation" do
|
||||
assert_select "a[href^='/user/#{ERB::Util.u(user.display_name)}/history']", 1
|
||||
|
@ -1028,13 +1037,13 @@ class UserControllerTest < ActionController::TestCase
|
|||
seen_user = create(:user, :terms_seen => true)
|
||||
not_seen_user = create(:user, :terms_seen => false)
|
||||
|
||||
get :view, :params => { :display_name => agreed_user.display_name }
|
||||
get :show, :params => { :display_name => agreed_user.display_name }
|
||||
assert_response :success
|
||||
assert_select "div#userinformation" do
|
||||
assert_select "p", :count => 0, :text => /Contributor terms/
|
||||
end
|
||||
|
||||
get :view, :params => { :display_name => seen_user.display_name }
|
||||
get :show, :params => { :display_name => seen_user.display_name }
|
||||
assert_response :success
|
||||
# put @response.body
|
||||
assert_select "div#userinformation" do
|
||||
|
@ -1042,7 +1051,7 @@ class UserControllerTest < ActionController::TestCase
|
|||
assert_select "p", /Declined/
|
||||
end
|
||||
|
||||
get :view, :params => { :display_name => not_seen_user.display_name }
|
||||
get :show, :params => { :display_name => not_seen_user.display_name }
|
||||
assert_response :success
|
||||
assert_select "div#userinformation" do
|
||||
assert_select "p", :count => 1, :text => /Contributor terms/
|
||||
|
@ -1250,8 +1259,8 @@ class UserControllerTest < ActionController::TestCase
|
|||
assert_difference "ActionMailer::Base.deliveries.size", 1 do
|
||||
post :make_friend, :params => { :display_name => friend.display_name }, :session => { :user => user }
|
||||
end
|
||||
assert_redirected_to user_path(:display_name => friend.display_name)
|
||||
assert_match /is now your friend/, flash[:notice]
|
||||
assert_redirected_to user_path(friend)
|
||||
assert_match(/is now your friend/, flash[:notice])
|
||||
assert Friend.where(:user_id => user.id, :friend_user_id => friend.id).first
|
||||
email = ActionMailer::Base.deliveries.first
|
||||
assert_equal 1, email.to.count
|
||||
|
@ -1262,8 +1271,8 @@ class UserControllerTest < ActionController::TestCase
|
|||
assert_no_difference "ActionMailer::Base.deliveries.size" do
|
||||
post :make_friend, :params => { :display_name => friend.display_name }, :session => { :user => user }
|
||||
end
|
||||
assert_redirected_to user_path(:display_name => friend.display_name)
|
||||
assert_match /You are already friends with/, flash[:warning]
|
||||
assert_redirected_to user_path(friend)
|
||||
assert_match(/You are already friends with/, flash[:warning])
|
||||
assert Friend.where(:user_id => user.id, :friend_user_id => friend.id).first
|
||||
end
|
||||
|
||||
|
@ -1290,7 +1299,7 @@ class UserControllerTest < ActionController::TestCase
|
|||
post :make_friend, :params => { :display_name => friend.display_name, :referer => "/test" }, :session => { :user => user }
|
||||
end
|
||||
assert_redirected_to "/test"
|
||||
assert_match /is now your friend/, flash[:notice]
|
||||
assert_match(/is now your friend/, flash[:notice])
|
||||
assert Friend.where(:user_id => user.id, :friend_user_id => friend.id).first
|
||||
email = ActionMailer::Base.deliveries.first
|
||||
assert_equal 1, email.to.count
|
||||
|
@ -1335,14 +1344,14 @@ class UserControllerTest < ActionController::TestCase
|
|||
|
||||
# When logged in a POST should remove the friendship
|
||||
post :remove_friend, :params => { :display_name => friend.display_name }, :session => { :user => user }
|
||||
assert_redirected_to user_path(:display_name => friend.display_name)
|
||||
assert_match /was removed from your friends/, flash[:notice]
|
||||
assert_redirected_to user_path(friend)
|
||||
assert_match(/was removed from your friends/, flash[:notice])
|
||||
assert_nil Friend.where(:user_id => user.id, :friend_user_id => friend.id).first
|
||||
|
||||
# A second POST should report that the friendship does not exist
|
||||
post :remove_friend, :params => { :display_name => friend.display_name }, :session => { :user => user }
|
||||
assert_redirected_to user_path(:display_name => friend.display_name)
|
||||
assert_match /is not one of your friends/, flash[:error]
|
||||
assert_redirected_to user_path(friend)
|
||||
assert_match(/is not one of your friends/, flash[:error])
|
||||
assert_nil Friend.where(:user_id => user.id, :friend_user_id => friend.id).first
|
||||
end
|
||||
|
||||
|
@ -1368,7 +1377,7 @@ class UserControllerTest < ActionController::TestCase
|
|||
# When logged in a POST should remove the friendship and refer
|
||||
post :remove_friend, :params => { :display_name => friend.display_name, :referer => "/test" }, :session => { :user => user }
|
||||
assert_redirected_to "/test"
|
||||
assert_match /was removed from your friends/, flash[:notice]
|
||||
assert_match(/was removed from your friends/, flash[:notice])
|
||||
assert_nil Friend.where(:user_id => user.id, :friend_user_id => friend.id).first
|
||||
end
|
||||
|
||||
|
@ -1390,12 +1399,12 @@ class UserControllerTest < ActionController::TestCase
|
|||
# Now try as a normal user
|
||||
get :set_status, :params => { :display_name => user.display_name, :status => "suspended" }, :session => { :user => user }
|
||||
assert_response :redirect
|
||||
assert_redirected_to :action => :view, :display_name => user.display_name
|
||||
assert_redirected_to :action => :show, :display_name => user.display_name
|
||||
|
||||
# Finally try as an administrator
|
||||
get :set_status, :params => { :display_name => user.display_name, :status => "suspended" }, :session => { :user => create(:administrator_user) }
|
||||
assert_response :redirect
|
||||
assert_redirected_to :action => :view, :display_name => user.display_name
|
||||
assert_redirected_to :action => :show, :display_name => user.display_name
|
||||
assert_equal "suspended", User.find(user.id).status
|
||||
end
|
||||
|
||||
|
@ -1410,12 +1419,12 @@ class UserControllerTest < ActionController::TestCase
|
|||
# Now try as a normal user
|
||||
get :delete, :params => { :display_name => user.display_name, :status => "suspended" }, :session => { :user => user }
|
||||
assert_response :redirect
|
||||
assert_redirected_to :action => :view, :display_name => user.display_name
|
||||
assert_redirected_to :action => :show, :display_name => user.display_name
|
||||
|
||||
# Finally try as an administrator
|
||||
get :delete, :params => { :display_name => user.display_name, :status => "suspended" }, :session => { :user => create(:administrator_user) }
|
||||
assert_response :redirect
|
||||
assert_redirected_to :action => :view, :display_name => user.display_name
|
||||
assert_redirected_to :action => :show, :display_name => user.display_name
|
||||
|
||||
# Check that the user was deleted properly
|
||||
user.reload
|
||||
|
@ -1431,7 +1440,7 @@ class UserControllerTest < ActionController::TestCase
|
|||
assert_equal "deleted", user.status
|
||||
end
|
||||
|
||||
def test_list_get
|
||||
def test_index_get
|
||||
user = create(:user)
|
||||
moderator_user = create(:moderator_user)
|
||||
administrator_user = create(:administrator_user)
|
||||
|
@ -1443,21 +1452,21 @@ class UserControllerTest < ActionController::TestCase
|
|||
assert_equal 7, User.count
|
||||
|
||||
# Shouldn't work when not logged in
|
||||
get :list
|
||||
get :index
|
||||
assert_response :redirect
|
||||
assert_redirected_to :action => :login, :referer => users_path
|
||||
|
||||
session[:user] = user.id
|
||||
|
||||
# Shouldn't work when logged in as a normal user
|
||||
get :list
|
||||
get :index
|
||||
assert_response :redirect
|
||||
assert_redirected_to :action => :login, :referer => users_path
|
||||
|
||||
session[:user] = moderator_user.id
|
||||
|
||||
# Shouldn't work when logged in as a moderator
|
||||
get :list
|
||||
get :index
|
||||
assert_response :redirect
|
||||
assert_redirected_to :action => :login, :referer => users_path
|
||||
|
||||
|
@ -1465,25 +1474,25 @@ class UserControllerTest < ActionController::TestCase
|
|||
|
||||
# Note there is a header row, so all row counts are users + 1
|
||||
# Should work when logged in as an administrator
|
||||
get :list
|
||||
get :index
|
||||
assert_response :success
|
||||
assert_template :list
|
||||
assert_template :index
|
||||
assert_select "table#user_list tr", :count => 7 + 1
|
||||
|
||||
# Should be able to limit by status
|
||||
get :list, :params => { :status => "suspended" }
|
||||
get :index, :params => { :status => "suspended" }
|
||||
assert_response :success
|
||||
assert_template :list
|
||||
assert_template :index
|
||||
assert_select "table#user_list tr", :count => 1 + 1
|
||||
|
||||
# Should be able to limit by IP address
|
||||
get :list, :params => { :ip => "1.2.3.4" }
|
||||
get :index, :params => { :ip => "1.2.3.4" }
|
||||
assert_response :success
|
||||
assert_template :list
|
||||
assert_template :index
|
||||
assert_select "table#user_list tr", :count => 1 + 1
|
||||
end
|
||||
|
||||
def test_list_get_paginated
|
||||
def test_index_get_paginated
|
||||
1.upto(100).each do |n|
|
||||
User.create(:display_name => "extra_#{n}",
|
||||
:email => "extra#{n}@example.com",
|
||||
|
@ -1495,29 +1504,29 @@ class UserControllerTest < ActionController::TestCase
|
|||
# 100 examples, an administrator, and a granter for the admin.
|
||||
assert_equal 102, User.count
|
||||
|
||||
get :list
|
||||
get :index
|
||||
assert_response :success
|
||||
assert_template :list
|
||||
assert_template :index
|
||||
assert_select "table#user_list tr", :count => 51
|
||||
|
||||
get :list, :params => { :page => 2 }
|
||||
get :index, :params => { :page => 2 }
|
||||
assert_response :success
|
||||
assert_template :list
|
||||
assert_template :index
|
||||
assert_select "table#user_list tr", :count => 51
|
||||
|
||||
get :list, :params => { :page => 3 }
|
||||
get :index, :params => { :page => 3 }
|
||||
assert_response :success
|
||||
assert_template :list
|
||||
assert_template :index
|
||||
assert_select "table#user_list tr", :count => 3
|
||||
end
|
||||
|
||||
def test_list_post_confirm
|
||||
def test_index_post_confirm
|
||||
inactive_user = create(:user, :pending)
|
||||
suspended_user = create(:user, :suspended)
|
||||
|
||||
# Shouldn't work when not logged in
|
||||
assert_no_difference "User.active.count" do
|
||||
post :list, :params => { :confirm => 1, :user => { inactive_user.id => 1, suspended_user.id => 1 } }
|
||||
post :index, :params => { :confirm => 1, :user => { inactive_user.id => 1, suspended_user.id => 1 } }
|
||||
end
|
||||
assert_response :redirect
|
||||
assert_redirected_to :action => :login, :referer => users_path
|
||||
|
@ -1528,7 +1537,7 @@ class UserControllerTest < ActionController::TestCase
|
|||
|
||||
# Shouldn't work when logged in as a normal user
|
||||
assert_no_difference "User.active.count" do
|
||||
post :list, :params => { :confirm => 1, :user => { inactive_user.id => 1, suspended_user.id => 1 } }
|
||||
post :index, :params => { :confirm => 1, :user => { inactive_user.id => 1, suspended_user.id => 1 } }
|
||||
end
|
||||
assert_response :redirect
|
||||
assert_redirected_to :action => :login, :referer => users_path
|
||||
|
@ -1539,7 +1548,7 @@ class UserControllerTest < ActionController::TestCase
|
|||
|
||||
# Shouldn't work when logged in as a moderator
|
||||
assert_no_difference "User.active.count" do
|
||||
post :list, :params => { :confirm => 1, :user => { inactive_user.id => 1, suspended_user.id => 1 } }
|
||||
post :index, :params => { :confirm => 1, :user => { inactive_user.id => 1, suspended_user.id => 1 } }
|
||||
end
|
||||
assert_response :redirect
|
||||
assert_redirected_to :action => :login, :referer => users_path
|
||||
|
@ -1550,21 +1559,21 @@ class UserControllerTest < ActionController::TestCase
|
|||
|
||||
# Should work when logged in as an administrator
|
||||
assert_difference "User.active.count", 2 do
|
||||
post :list, :params => { :confirm => 1, :user => { inactive_user.id => 1, suspended_user.id => 1 } }
|
||||
post :index, :params => { :confirm => 1, :user => { inactive_user.id => 1, suspended_user.id => 1 } }
|
||||
end
|
||||
assert_response :redirect
|
||||
assert_redirected_to :action => :list
|
||||
assert_redirected_to :action => :index
|
||||
assert_equal "confirmed", inactive_user.reload.status
|
||||
assert_equal "confirmed", suspended_user.reload.status
|
||||
end
|
||||
|
||||
def test_list_post_hide
|
||||
def test_index_post_hide
|
||||
normal_user = create(:user)
|
||||
confirmed_user = create(:user, :confirmed)
|
||||
|
||||
# Shouldn't work when not logged in
|
||||
assert_no_difference "User.active.count" do
|
||||
post :list, :params => { :hide => 1, :user => { normal_user.id => 1, confirmed_user.id => 1 } }
|
||||
post :index, :params => { :hide => 1, :user => { normal_user.id => 1, confirmed_user.id => 1 } }
|
||||
end
|
||||
assert_response :redirect
|
||||
assert_redirected_to :action => :login, :referer => users_path
|
||||
|
@ -1575,7 +1584,7 @@ class UserControllerTest < ActionController::TestCase
|
|||
|
||||
# Shouldn't work when logged in as a normal user
|
||||
assert_no_difference "User.active.count" do
|
||||
post :list, :params => { :hide => 1, :user => { normal_user.id => 1, confirmed_user.id => 1 } }
|
||||
post :index, :params => { :hide => 1, :user => { normal_user.id => 1, confirmed_user.id => 1 } }
|
||||
end
|
||||
assert_response :redirect
|
||||
assert_redirected_to :action => :login, :referer => users_path
|
||||
|
@ -1586,7 +1595,7 @@ class UserControllerTest < ActionController::TestCase
|
|||
|
||||
# Shouldn't work when logged in as a moderator
|
||||
assert_no_difference "User.active.count" do
|
||||
post :list, :params => { :hide => 1, :user => { normal_user.id => 1, confirmed_user.id => 1 } }
|
||||
post :index, :params => { :hide => 1, :user => { normal_user.id => 1, confirmed_user.id => 1 } }
|
||||
end
|
||||
assert_response :redirect
|
||||
assert_redirected_to :action => :login, :referer => users_path
|
||||
|
@ -1597,10 +1606,10 @@ class UserControllerTest < ActionController::TestCase
|
|||
|
||||
# Should work when logged in as an administrator
|
||||
assert_difference "User.active.count", -2 do
|
||||
post :list, :params => { :hide => 1, :user => { normal_user.id => 1, confirmed_user.id => 1 } }
|
||||
post :index, :params => { :hide => 1, :user => { normal_user.id => 1, confirmed_user.id => 1 } }
|
||||
end
|
||||
assert_response :redirect
|
||||
assert_redirected_to :action => :list
|
||||
assert_redirected_to :action => :index
|
||||
assert_equal "deleted", normal_user.reload.status
|
||||
assert_equal "deleted", confirmed_user.reload.status
|
||||
end
|
||||
|
|
|
@ -31,7 +31,7 @@ class UserRolesControllerTest < ActionController::TestCase
|
|||
|
||||
# Granting should still fail
|
||||
post :grant, :params => { :display_name => target_user.display_name, :role => "moderator" }
|
||||
assert_redirected_to user_path(target_user.display_name)
|
||||
assert_redirected_to user_path(target_user)
|
||||
assert_equal "Only administrators can perform user role management, and you are not an administrator.", flash[:error]
|
||||
|
||||
# Login as an administrator
|
||||
|
@ -50,20 +50,20 @@ class UserRolesControllerTest < ActionController::TestCase
|
|||
assert_no_difference "UserRole.count" do
|
||||
post :grant, :params => { :display_name => super_user.display_name, :role => role }
|
||||
end
|
||||
assert_redirected_to user_path(super_user.display_name)
|
||||
assert_redirected_to user_path(super_user)
|
||||
assert_equal "The user already has role #{role}.", flash[:error]
|
||||
|
||||
# Granting a role to a user that doesn't have it should work...
|
||||
assert_difference "UserRole.count", 1 do
|
||||
post :grant, :params => { :display_name => target_user.display_name, :role => role }
|
||||
end
|
||||
assert_redirected_to user_path(target_user.display_name)
|
||||
assert_redirected_to user_path(target_user)
|
||||
|
||||
# ...but trying a second time should fail
|
||||
assert_no_difference "UserRole.count" do
|
||||
post :grant, :params => { :display_name => target_user.display_name, :role => role }
|
||||
end
|
||||
assert_redirected_to user_path(target_user.display_name)
|
||||
assert_redirected_to user_path(target_user)
|
||||
assert_equal "The user already has role #{role}.", flash[:error]
|
||||
end
|
||||
|
||||
|
@ -71,7 +71,7 @@ class UserRolesControllerTest < ActionController::TestCase
|
|||
assert_difference "UserRole.count", 0 do
|
||||
post :grant, :params => { :display_name => target_user.display_name, :role => "no_such_role" }
|
||||
end
|
||||
assert_redirected_to user_path(target_user.display_name)
|
||||
assert_redirected_to user_path(target_user)
|
||||
assert_equal "The string `no_such_role' is not a valid role.", flash[:error]
|
||||
end
|
||||
|
||||
|
@ -92,7 +92,7 @@ class UserRolesControllerTest < ActionController::TestCase
|
|||
|
||||
# Revoking should still fail
|
||||
post :revoke, :params => { :display_name => target_user.display_name, :role => "moderator" }
|
||||
assert_redirected_to user_path(target_user.display_name)
|
||||
assert_redirected_to user_path(target_user)
|
||||
assert_equal "Only administrators can perform user role management, and you are not an administrator.", flash[:error]
|
||||
|
||||
# Login as an administrator
|
||||
|
@ -111,20 +111,20 @@ class UserRolesControllerTest < ActionController::TestCase
|
|||
assert_no_difference "UserRole.count" do
|
||||
post :revoke, :params => { :display_name => target_user.display_name, :role => role }
|
||||
end
|
||||
assert_redirected_to user_path(target_user.display_name)
|
||||
assert_redirected_to user_path(target_user)
|
||||
assert_equal "The user does not have role #{role}.", flash[:error]
|
||||
|
||||
# Removing a role from a user that has it should work...
|
||||
assert_difference "UserRole.count", -1 do
|
||||
post :revoke, :params => { :display_name => super_user.display_name, :role => role }
|
||||
end
|
||||
assert_redirected_to user_path(super_user.display_name)
|
||||
assert_redirected_to user_path(super_user)
|
||||
|
||||
# ...but trying a second time should fail
|
||||
assert_no_difference "UserRole.count" do
|
||||
post :revoke, :params => { :display_name => super_user.display_name, :role => role }
|
||||
end
|
||||
assert_redirected_to user_path(super_user.display_name)
|
||||
assert_redirected_to user_path(super_user)
|
||||
assert_equal "The user does not have role #{role}.", flash[:error]
|
||||
end
|
||||
|
||||
|
@ -132,12 +132,12 @@ class UserRolesControllerTest < ActionController::TestCase
|
|||
assert_difference "UserRole.count", 0 do
|
||||
post :revoke, :params => { :display_name => target_user.display_name, :role => "no_such_role" }
|
||||
end
|
||||
assert_redirected_to user_path(target_user.display_name)
|
||||
assert_redirected_to user_path(target_user)
|
||||
assert_equal "The string `no_such_role' is not a valid role.", flash[:error]
|
||||
|
||||
# Revoking administrator role from current user should fail
|
||||
post :revoke, :params => { :display_name => administrator_user.display_name, :role => "administrator" }
|
||||
assert_redirected_to user_path(administrator_user.display_name)
|
||||
assert_redirected_to user_path(administrator_user)
|
||||
assert_equal "Cannot revoke administrator role from current user.", flash[:error]
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue