fix failing tests

This commit is contained in:
Reinier Balt 2013-06-17 10:06:38 +02:00
parent 20b4b626fe
commit 2daffef683
4 changed files with 28 additions and 21 deletions

View file

@ -62,7 +62,7 @@ group :test do
# https://code.google.com/p/selenium/issues/detail?id=3075
gem "selenium-webdriver"
# uncomment to use the webkit option. This depends on Qt to be installed
# uncomment to use the webkit option. This depends on Qt being installed
# gem "capybara-webkit"
# uncomment to be able to make screenshots from scenarios

View file

@ -23,7 +23,7 @@ module Todos
def filter_attributes(params)
if params[:request]
@attributes = todo_params(params[:request])
else
elsif params[:todo]
@attributes = todo_params(params)
end
@attributes = {} if @attributes.nil? # make sure there is at least an empty hash
@ -123,7 +123,14 @@ module Todos
def todo_params(params)
# keep :predecessor_dependencies from being filterd (for XML API).
# The permit cannot handle multiple precessors
deps = params[:todo][:predecessor_dependencies][:predecessor] if params[:todo][:predecessor_dependencies]
if params[:todo][:predecessor_dependencies]
deps = params[:todo][:predecessor_dependencies][:predecessor]
end
# accept empty :todo hash
if params[:todo].empty?
params[:todo] = {:ignore => true}
end
filtered = params.require(:todo).permit(
:context_id, :project_id, :description, :notes,

View file

@ -272,7 +272,7 @@ class RecurringTodosControllerTest < ActionController::TestCase
"yearly_month_of_year"=>"6",
"yearly_selector"=>"yearly_every_x_day"
},
"tag_list"=>"one, two, three, four"
"tag_list"=>"one, two, three, four", format: :js
assert_equal "new recurring pattern", assigns['recurring_todo'].description
assert_equal "2013-01-02 00:00:00 +0000", assigns['recurring_todo'].start_from.to_s

View file

@ -4,39 +4,39 @@ require 'todos_controller'
class TodoCreateParamsHelperTest < ActiveSupport::TestCase
def test_works_with_request_as_root_hash_entry
params = {'request' => { 'todo' => { 'description' => 'foo'}}}
params = ActionController::Parameters.new({'request' => { 'todo' => { 'description' => 'foo'}}})
params_helper = Todos::TodoCreateParamsHelper.new(params, users(:admin_user))
assert_equal({'description' => 'foo'}, params_helper.attributes)
end
def test_works_with_todo_as_root_hash_entry
params = { 'todo' => { 'description' => 'foo'}}
params = ActionController::Parameters.new({ 'todo' => { 'description' => 'foo'}})
params_helper = Todos::TodoCreateParamsHelper.new(params, users(:admin_user))
assert_equal({'description' => 'foo'}, params_helper.attributes)
end
def test_show_from_accessor
expected_date = Time.now
params = { 'todo' => { 'show_from' => expected_date}}
params = ActionController::Parameters.new({ 'todo' => { 'show_from' => expected_date}})
params_helper = Todos::TodoCreateParamsHelper.new(params, users(:admin_user))
assert_equal(expected_date, params_helper.show_from)
end
def test_due_accessor
expected_date = Time.now
params = { 'todo' => { 'due' => expected_date}}
params = ActionController::Parameters.new({ 'todo' => { 'due' => expected_date}})
params_helper = Todos::TodoCreateParamsHelper.new(params, users(:admin_user))
assert_equal(expected_date, params_helper.due)
end
def test_tag_list_accessor
params = { 'todo' => { }, 'tag_list' => 'foo, bar'}
params = ActionController::Parameters.new({ 'todo' => { }, 'tag_list' => 'foo, bar'})
params_helper = Todos::TodoCreateParamsHelper.new(params, users(:admin_user))
assert_equal('foo, bar', params_helper.tag_list)
end
def test_parse_dates_parses_show_from_date_based_on_prefs
params = { 'todo' => { 'show_from' => '20/05/07', 'due' => '23/5/07'}}
params = ActionController::Parameters.new({ 'todo' => { 'show_from' => '20/05/07', 'due' => '23/5/07'}})
user = users(:admin_user)
prefs = user.prefs
@ -48,7 +48,7 @@ class TodoCreateParamsHelperTest < ActiveSupport::TestCase
end
def test_parse_dates_parses_due_date_based_on_prefs
params = { 'todo' => { 'show_from' => '20/5/07', 'due' => '23/5/07'}}
params = ActionController::Parameters.new({ 'todo' => { 'show_from' => '20/5/07', 'due' => '23/5/07'}})
user = users(:admin_user)
prefs = user.prefs
@ -60,62 +60,62 @@ class TodoCreateParamsHelperTest < ActiveSupport::TestCase
end
def test_parse_dates_sets_due_to_empty_string_if_nil
params = { 'todo' => { 'show_from' => '20/5/07', 'due' => nil}}
params = ActionController::Parameters.new({ 'todo' => { 'show_from' => '20/5/07', 'due' => nil}})
params_helper = Todos::TodoCreateParamsHelper.new(params, users(:admin_user))
params_helper.parse_dates()
assert_equal '', params_helper.due
end
def test_project_name_is_stripped_of_leading_and_trailing_whitespace
params = { 'project_name' => ' Visit New Orleans ' }
params = ActionController::Parameters.new({ 'project_name' => ' Visit New Orleans ' })
params_helper = Todos::TodoCreateParamsHelper.new(params, users(:admin_user))
assert_equal 'Visit New Orleans', params_helper.project_name
end
def test_project_name_is_nil_when_unspecified
params = { }
params = ActionController::Parameters.new({ })
params_helper = Todos::TodoCreateParamsHelper.new(params, users(:admin_user))
assert_nil params_helper.project_name
end
def test_context_name_is_stripped_of_leading_and_trailing_whitespace
params = { 'context_name' => ' mobile phone ' }
params = ActionController::Parameters.new({ 'context_name' => ' mobile phone ' })
params_helper = Todos::TodoCreateParamsHelper.new(params, users(:admin_user))
assert_equal 'mobile phone', params_helper.context_name
end
def test_context_name_is_nil_when_unspecified
params = { }
params = ActionController::Parameters.new({ })
params_helper = Todos::TodoCreateParamsHelper.new(params, users(:admin_user))
assert_nil params_helper.context_name
end
def test_project_specified_by_name_is_false_when_project_id_is_specified
params = { 'todo' => { 'project_id' => 2 } }
params = ActionController::Parameters.new({ 'todo' => { 'project_id' => 2 } })
params_helper = Todos::TodoCreateParamsHelper.new(params, users(:admin_user))
assert_equal false, params_helper.project_specified_by_name?
end
def test_project_specified_by_name_is_false_when_project_name_is_blank
params = { 'project_name' => nil, 'todo' => {} }
params = ActionController::Parameters.new({ 'project_name' => nil, 'todo' => {} })
params_helper = Todos::TodoCreateParamsHelper.new(params, users(:admin_user))
assert_equal false, params_helper.project_specified_by_name?
end
def test_project_specified_by_name_is_false_when_project_name_is_none
params = { 'project_name' => 'None', 'todo' => {} }
params = ActionController::Parameters.new({ 'project_name' => 'None', 'todo' => {} })
params_helper = Todos::TodoCreateParamsHelper.new(params, users(:admin_user))
assert_equal false, params_helper.project_specified_by_name?
end
def test_context_specified_by_name_is_false_when_context_id_is_specified
params = { 'todo' => { 'context_id' => 3 } }
params = ActionController::Parameters.new({ 'todo' => { 'context_id' => 3 } })
params_helper = Todos::TodoCreateParamsHelper.new(params, users(:admin_user))
assert_equal false, params_helper.context_specified_by_name?
end
def test_context_specified_by_name_is_false_when_context_name_is_blank
params = { 'context_name' => nil, 'todo' => {} }
params = ActionController::Parameters.new({ 'context_name' => nil, 'todo' => {} })
params_helper = Todos::TodoCreateParamsHelper.new(params, users(:admin_user))
assert_equal false, params_helper.context_specified_by_name?
end