Commit 8e3616d5f73f2ee325624aa1546d5e396526e408

Authored by Daniela Feitosa
1 parent 4594576f

ActionItem916: Order of date dependant of language

  * In english, order as month, day, year
  * In oder languages, order as day, month, year
app/helpers/dates_helper.rb
... ... @@ -87,7 +87,12 @@ module DatesHelper
87 87 end
88 88  
89 89 def pick_date(object, method, options = {}, html_options = {})
90   - date_select(object, method, html_options.merge(options.merge(:include_blank => true, :use_month_names => MONTHS.map {|item| gettext(item)})))
  90 + if GetText.locale.to_s == 'en'
  91 + order = [:month, :day, :year]
  92 + else
  93 + order = [:day, :month, :year]
  94 + end
  95 + date_select(object, method, html_options.merge(options.merge(:include_blank => true, :order => order, :use_month_names => MONTHS.map {|item| gettext(item)})))
91 96 end
92 97  
93 98 end
... ...
test/unit/dates_helper_test.rb
... ... @@ -105,7 +105,25 @@ class DatesHelperTest < Test::Unit::TestCase
105 105 expects(:gettext).with('November').returns('November')
106 106 expects(:gettext).with('December').returns('December')
107 107  
108   - expects(:date_select).with(:object, :method, { :include_blank => true, :use_month_names => ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']}).returns("KKKKKKKK")
  108 + expects(:date_select).with(:object, :method, { :include_blank => true, :order => [:month, :day, :year], :use_month_names => ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']}).returns("KKKKKKKK")
  109 +
  110 + assert_equal 'KKKKKKKK', pick_date(:object, :method)
  111 + end
  112 +
  113 + should 'order date in english like month day year' do
  114 + locale = mock
  115 + locale.expects(:to_s).returns('en')
  116 + GetText.stubs(:locale).returns(locale)
  117 + expects(:date_select).with(:object, :method, { :include_blank => true, :order => [:month, :day, :year], :use_month_names => ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']}).returns("KKKKKKKK")
  118 +
  119 + assert_equal 'KKKKKKKK', pick_date(:object, :method)
  120 + end
  121 +
  122 + should 'order date in other languages like day month year' do
  123 + locale = mock
  124 + locale.expects(:to_s).returns('pt_BR')
  125 + GetText.stubs(:locale).returns(locale)
  126 + expects(:date_select).with(:object, :method, { :include_blank => true, :order => [:day, :month, :year], :use_month_names => ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']}).returns("KKKKKKKK")
109 127  
110 128 assert_equal 'KKKKKKKK', pick_date(:object, :method)
111 129 end
... ...