test/test_helper.rb in groupdate-3.1.1 vs test/test_helper.rb in groupdate-3.2.0

- old
+ new

@@ -223,10 +223,25 @@ Date.parse("#{this_year}-01-01") => 0 } assert_equal expected, User.group_by_year(:created_at, last: 3).count end + def test_last_date + Time.zone = pt + today = Date.today + create_user today.to_s + this_month = pt.parse(today.to_s).beginning_of_month + last_month = this_month - 1.month + expected = { + last_month.to_date => 0, + this_month.to_date => 1 + } + assert_equal expected, call_method(:month, :created_on, last: 2) + ensure + Time.zone = nil + end + def test_last_hour_of_day error = assert_raises(ArgumentError) { User.group_by_hour_of_day(:created_at, last: 3).count } assert_equal "Cannot use last option with hour_of_day", error.message end @@ -239,17 +254,19 @@ } assert_equal expected, User.group_by_year(:created_at, last: 2, current: false).count end def test_quarter_and_last - create_user "#{this_year}-#{this_quarters_month}-01" - create_user "#{this_year}-#{this_quarters_month - 6}-01" + today = Date.today + create_user today.to_s + this_quarter = today.to_time.beginning_of_quarter + last_quarter = this_quarter - 3.months expected = { - Date.parse("#{this_year}-#{this_quarters_month - 3}-01") => 0, - Date.parse("#{this_year}-#{this_quarters_month}-01") => 1 + last_quarter.to_date => 0, + this_quarter.to_date => 1 } - assert_equal expected, User.group_by_quarter(:created_at, last: 2).count + assert_equal expected, call_method(:quarter, :created_at, last: 2) end def test_format_locale create_user "2014-10-01" assert_equal ({"Okt" => 1}), User.group_by_day(:created_at, format: "%b", locale: :de).count @@ -335,11 +352,11 @@ # activerecord default_timezone option def test_default_timezone_local User.default_timezone = :local - assert_raises(RuntimeError) { User.group_by_day(:created_at).count } + assert_raises(Groupdate::Error) { User.group_by_day(:created_at).count } ensure User.default_timezone = :utc end # Brasilia Summer Time @@ -350,11 +367,11 @@ create_user(brasilia.parse("2014-10-20 02:00:00").utc.to_s) expected = { Date.parse("2014-10-19") => 1, Date.parse("2014-10-20") => 1 } - assert_equal expected, User.group_by_day(:created_at, time_zone: "Brasilia").count + assert_equal expected, call_method(:day, :created_at, time_zone: "Brasilia") end # carry_forward option def test_carry_forward @@ -389,11 +406,11 @@ def test_using_unlisted_calculation_method_returns_new_series_instance assert_instance_of Groupdate::Series, User.group_by_day(:created_at).unlisted_calculation end def test_using_listed_but_undefined_custom_calculation_method_raises_error - assert_raises(RuntimeError) do + assert_raises(NoMethodError) do User.group_by_day(:created_at).undefined_calculation end end private @@ -1163,14 +1180,18 @@ end assert_equal expected, call_method(method, :created_at, options.merge(series: true, time_zone: time_zone ? "Pacific Time (US & Canada)" : nil, range: Time.parse(range_start)..Time.parse(range_end))) end def this_quarters_month - Time.now.utc.beginning_of_quarter.month + Time.now.beginning_of_quarter.month end def this_year - Time.now.utc.year + Time.now.year + end + + def this_month + Time.now.month end def utc ActiveSupport::TimeZone["UTC"] end