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