fix some trace tests, due to a change of the way that your own ones are rendered.
This commit is contained in:
parent
e53b34b80a
commit
5cbaa2fca7
2 changed files with 36 additions and 36 deletions
|
@ -4,82 +4,80 @@ class TraceControllerTest < ActionController::TestCase
|
|||
fixtures :users, :gpx_files
|
||||
set_fixture_class :gpx_files => 'Trace'
|
||||
|
||||
|
||||
|
||||
# Check that the list of changesets is displayed
|
||||
def test_list
|
||||
get :list
|
||||
assert_response :success
|
||||
assert_template 'list'
|
||||
end
|
||||
|
||||
|
||||
# Check that I can get mine
|
||||
def test_list_mine
|
||||
# First try to get it when not logged in
|
||||
get :mine
|
||||
assert_redirected_to :controller => 'user', :action => 'login', :referer => '/traces/mine'
|
||||
|
||||
|
||||
# Now try when logged in
|
||||
get :mine, {}, {:user => users(:public_user).id}
|
||||
assert_response :success
|
||||
assert_template 'mine'
|
||||
# Should really test to see which files are shown to the user
|
||||
assert_redirected_to :controller => 'trace', :action => 'list', :display_name => users(:public_user).display_name
|
||||
end
|
||||
|
||||
|
||||
# Check that the rss loads
|
||||
def test_rss
|
||||
get :georss
|
||||
assert_rss_success
|
||||
|
||||
|
||||
get :georss, :display_name => users(:normal_user).display_name
|
||||
assert_rss_success
|
||||
end
|
||||
|
||||
def assert_rss_success
|
||||
|
||||
def assert_rss_success
|
||||
assert_response :success
|
||||
assert_template nil
|
||||
assert_equal "application/rss+xml", @response.content_type
|
||||
end
|
||||
|
||||
|
||||
# Check getting a specific trace through the api
|
||||
def test_api_details
|
||||
# First with no auth
|
||||
get :api_details, :id => gpx_files(:public_trace_file).id
|
||||
assert_response :unauthorized
|
||||
|
||||
|
||||
# Now with some other user, which should work since the trace is public
|
||||
basic_authorization(users(:public_user).display_name, "test")
|
||||
get :api_details, :id => gpx_files(:public_trace_file).id
|
||||
assert_response :success
|
||||
|
||||
|
||||
# And finally we should be able to do it with the owner of the trace
|
||||
basic_authorization(users(:normal_user).display_name, "test")
|
||||
get :api_details, :id => gpx_files(:public_trace_file).id
|
||||
assert_response :success
|
||||
end
|
||||
|
||||
|
||||
# Check an anoymous trace can't be specifically fetched by another user
|
||||
def test_api_details_anon
|
||||
# Furst with no auth
|
||||
get :api_details, :id => gpx_files(:anon_trace_file).id
|
||||
assert_response :unauthorized
|
||||
|
||||
|
||||
# Now try with another user, which shouldn't work since the trace is anon
|
||||
basic_authorization(users(:normal_user).display_name, "test")
|
||||
get :api_details, :id => gpx_files(:anon_trace_file).id
|
||||
assert_response :forbidden
|
||||
|
||||
|
||||
# And finally we should be able to get the trace details with the trace owner
|
||||
basic_authorization(users(:public_user).display_name, "test")
|
||||
get :api_details, :id => gpx_files(:anon_trace_file).id
|
||||
assert_response :success
|
||||
end
|
||||
|
||||
|
||||
# Check the api details for a trace that doesn't exist
|
||||
def test_api_details_not_found
|
||||
# Try first with no auth, as it should requure it
|
||||
get :api_details, :id => 0
|
||||
assert_response :unauthorized
|
||||
|
||||
|
||||
# Login, and try again
|
||||
basic_authorization(users(:public_user).display_name, "test")
|
||||
get :api_details, :id => 0
|
||||
|
|
|
@ -10,19 +10,19 @@ class UserCreationTest < ActionController::IntegrationTest
|
|||
assert_template 'user/new'
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
def test_user_create_submit_duplicate_email
|
||||
I18n.available_locales.each do |localer|
|
||||
dup_email = users(:public_user).email
|
||||
display_name = "#{localer.to_s}_new_tester"
|
||||
assert_difference('User.count', 0) do
|
||||
assert_difference('ActionMailer::Base.deliveries.size', 0) do
|
||||
post '/user/save',
|
||||
post '/user/save',
|
||||
{:user => { :email => dup_email, :email_confirmation => dup_email, :display_name => display_name, :pass_crypt => "testtest", :pass_crypt_confirmation => "testtest"}},
|
||||
{"accept_language" => localer.to_s}
|
||||
end
|
||||
end
|
||||
assert_response :success
|
||||
assert_response :success
|
||||
assert_template 'user/new'
|
||||
assert_equal response.headers['Content-Language'][0..1], localer.to_s[0..1] unless localer == :root
|
||||
assert_select "div#errorExplanation"
|
||||
|
@ -30,7 +30,7 @@ class UserCreationTest < ActionController::IntegrationTest
|
|||
assert_no_missing_translations
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
def test_user_create_submit_duplicate_username
|
||||
I18n.available_locales.each do |locale|
|
||||
dup_display_name = users(:public_user).display_name
|
||||
|
@ -49,34 +49,34 @@ class UserCreationTest < ActionController::IntegrationTest
|
|||
assert_no_missing_translations
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
def test_user_create_success
|
||||
I18n.available_locales.each do |locale|
|
||||
new_email = "#{locale.to_s}newtester@osm.org"
|
||||
display_name = "#{locale.to_s}_new_tester"
|
||||
assert_difference('User.count') do
|
||||
assert_difference('ActionMailer::Base.deliveries.size', 1) do
|
||||
post_via_redirect "/user/save",
|
||||
post_via_redirect "/user/save",
|
||||
{:user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :pass_crypt => "testtest", :pass_crypt_confirmation => "testtest"}},
|
||||
{"accept_language" => "#{locale.to_s}"}
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
# Check the e-mail
|
||||
register_email = ActionMailer::Base.deliveries.first
|
||||
|
||||
|
||||
assert_equal register_email.to[0], new_email
|
||||
# Check that the confirm account url is correct
|
||||
assert_match /#{@url}/, register_email.body
|
||||
|
||||
|
||||
# Check the page
|
||||
assert_response :success
|
||||
assert_template 'login'
|
||||
|
||||
|
||||
ActionMailer::Base.deliveries.clear
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
# Check that the user can successfully recover their password
|
||||
def lost_password_recovery_success
|
||||
# Open the lost password form
|
||||
|
@ -94,24 +94,24 @@ class UserCreationTest < ActionController::IntegrationTest
|
|||
referer = "/traces/mine"
|
||||
assert_difference('User.count') do
|
||||
assert_difference('ActionMailer::Base.deliveries.size', 1) do
|
||||
post_via_redirect "/user/save",
|
||||
post_via_redirect "/user/save",
|
||||
{:user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :pass_crypt => password, :pass_crypt_confirmation => password}, :referer => referer }
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
# Check the e-mail
|
||||
register_email = ActionMailer::Base.deliveries.first
|
||||
|
||||
|
||||
assert_equal register_email.to[0], new_email
|
||||
# Check that the confirm account url is correct
|
||||
confirm_regex = Regexp.new("/user/confirm\\?confirm_string=([a-zA-Z0-9]*)")
|
||||
assert_match(confirm_regex, register_email.body)
|
||||
confirm_string = confirm_regex.match(register_email.body)[1]
|
||||
|
||||
|
||||
# Check the page
|
||||
assert_response :success
|
||||
assert_template 'login'
|
||||
|
||||
|
||||
ActionMailer::Base.deliveries.clear
|
||||
|
||||
# Go to the confirmation page
|
||||
|
@ -120,9 +120,11 @@ class UserCreationTest < ActionController::IntegrationTest
|
|||
assert_template 'user/confirm'
|
||||
|
||||
post 'user/confirm', { :confirm_string => confirm_string, :confirm_action => 'submit' }
|
||||
assert_response :redirect
|
||||
assert_response :redirect # to trace/mine in original referrer
|
||||
follow_redirect!
|
||||
assert_response :redirect # but it not redirects to /user/<display_name>/traces
|
||||
follow_redirect!
|
||||
assert_response :success
|
||||
assert_template "trace/mine"
|
||||
assert_template "trace/list.html.erb"
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue