Add some more tests, better error handling for dates
This commit is contained in:
parent
5f1f8f3c91
commit
e8cb7ac8f1
2 changed files with 87 additions and 12 deletions
|
@ -876,7 +876,7 @@ class NotesControllerTest < ActionController::TestCase
|
|||
end
|
||||
end
|
||||
|
||||
def test_search_by_user_success
|
||||
def test_search_by_display_name_success
|
||||
user = create(:user)
|
||||
|
||||
create(:note) do |note|
|
||||
|
@ -915,6 +915,45 @@ class NotesControllerTest < ActionController::TestCase
|
|||
end
|
||||
end
|
||||
|
||||
def test_search_by_id_success
|
||||
user = create(:user)
|
||||
|
||||
create(:note) do |note|
|
||||
create(:note_comment, :note => note, :author => user)
|
||||
end
|
||||
|
||||
get :search, :params => { :id => user.id, :format => "xml" }
|
||||
assert_response :success
|
||||
assert_equal "application/xml", @response.content_type
|
||||
assert_select "osm", :count => 1 do
|
||||
assert_select "note", :count => 1
|
||||
end
|
||||
|
||||
get :search, :params => { :id => user.id, :format => "json" }
|
||||
assert_response :success
|
||||
assert_equal "application/json", @response.content_type
|
||||
js = ActiveSupport::JSON.decode(@response.body)
|
||||
assert_not_nil js
|
||||
assert_equal "FeatureCollection", js["type"]
|
||||
assert_equal 1, js["features"].count
|
||||
|
||||
get :search, :params => { :id => user.id, :format => "rss" }
|
||||
assert_response :success
|
||||
assert_equal "application/rss+xml", @response.content_type
|
||||
assert_select "rss", :count => 1 do
|
||||
assert_select "channel", :count => 1 do
|
||||
assert_select "item", :count => 1
|
||||
end
|
||||
end
|
||||
|
||||
get :search, :params => { :id => user.id, :format => "gpx" }
|
||||
assert_response :success
|
||||
assert_equal "application/gpx+xml", @response.content_type
|
||||
assert_select "gpx", :count => 1 do
|
||||
assert_select "wpt", :count => 1
|
||||
end
|
||||
end
|
||||
|
||||
def test_search_no_match
|
||||
create(:note_with_comments)
|
||||
|
||||
|
@ -950,6 +989,41 @@ class NotesControllerTest < ActionController::TestCase
|
|||
end
|
||||
end
|
||||
|
||||
def test_search_by_time_no_match
|
||||
create(:note_with_comments)
|
||||
|
||||
get :search, :params => { :from => "01.01.2010", :to => "01.10.2010", :format => "xml" }
|
||||
assert_response :success
|
||||
assert_equal "application/xml", @response.content_type
|
||||
assert_select "osm", :count => 1 do
|
||||
assert_select "note", :count => 0
|
||||
end
|
||||
|
||||
get :search, :params => { :from => "01.01.2010", :to => "01.10.2010", :format => "json" }
|
||||
assert_response :success
|
||||
assert_equal "application/json", @response.content_type
|
||||
js = ActiveSupport::JSON.decode(@response.body)
|
||||
assert_not_nil js
|
||||
assert_equal "FeatureCollection", js["type"]
|
||||
assert_equal 0, js["features"].count
|
||||
|
||||
get :search, :params => { :from => "01.01.2010", :to => "01.10.2010", :format => "rss" }
|
||||
assert_response :success
|
||||
assert_equal "application/rss+xml", @response.content_type
|
||||
assert_select "rss", :count => 1 do
|
||||
assert_select "channel", :count => 1 do
|
||||
assert_select "item", :count => 0
|
||||
end
|
||||
end
|
||||
|
||||
get :search, :params => { :from => "01.01.2010", :to => "01.10.2010", :format => "gpx" }
|
||||
assert_response :success
|
||||
assert_equal "application/gpx+xml", @response.content_type
|
||||
assert_select "gpx", :count => 1 do
|
||||
assert_select "wpt", :count => 0
|
||||
end
|
||||
end
|
||||
|
||||
def test_search_bad_params
|
||||
get :search, :params => { :q => "no match", :limit => "0", :format => "json" }
|
||||
assert_response :bad_request
|
||||
|
@ -966,7 +1040,7 @@ class NotesControllerTest < ActionController::TestCase
|
|||
get :search, :params => { :from => "wrong-date", :to => "wrong-date" }
|
||||
assert_response :bad_request
|
||||
|
||||
get :search, :params => { :from => "2018.08.2018", :to => "2018.09.2018" }
|
||||
get :search, :params => { :from => "01.01.2010", :to => "2010.01.2010" }
|
||||
assert_response :bad_request
|
||||
end
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue