Add support for filtering by creation or completion windows of times
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
require "test_helper"
|
||||
|
||||
class TimeWindowParserTest < ActiveSupport::TestCase
|
||||
setup do
|
||||
@now = Time.zone.parse("2023-06-15 9am")
|
||||
@parser = TimeWindowParser.new(now: @now)
|
||||
end
|
||||
|
||||
test "parse today" do
|
||||
assert_equal @now.beginning_of_day..@now.end_of_day,
|
||||
@parser.parse("today")
|
||||
end
|
||||
|
||||
test "parse yesterday" do
|
||||
yesterday = @now - 1.day
|
||||
|
||||
assert_equal yesterday.beginning_of_day..yesterday.end_of_day,
|
||||
@parser.parse("yesterday")
|
||||
end
|
||||
|
||||
test "parse this week" do
|
||||
assert_equal @now.beginning_of_week..@now.end_of_week,
|
||||
@parser.parse("this week")
|
||||
end
|
||||
|
||||
test "parse this month" do
|
||||
assert_equal @now.beginning_of_month..@now.end_of_month,
|
||||
@parser.parse("this month")
|
||||
end
|
||||
|
||||
test "parse this year" do
|
||||
assert_equal @now.beginning_of_year..@now.end_of_year,
|
||||
@parser.parse("this year")
|
||||
end
|
||||
|
||||
test "parse last week" do
|
||||
last_week = @now - 1.week
|
||||
|
||||
assert_equal last_week.beginning_of_week..last_week.end_of_week,
|
||||
@parser.parse("last week")
|
||||
end
|
||||
|
||||
test "parse last month" do
|
||||
last_month = @now - 1.month
|
||||
|
||||
assert_equal last_month.beginning_of_month..last_month.end_of_month,
|
||||
@parser.parse("last month")
|
||||
end
|
||||
|
||||
test "parse last year" do
|
||||
last_year = @now - 1.year
|
||||
|
||||
assert_equal last_year.beginning_of_year..last_year.end_of_year,
|
||||
@parser.parse("last year")
|
||||
end
|
||||
|
||||
test "parse with unknown string returns nil" do
|
||||
assert_nil @parser.parse("unknown time window")
|
||||
end
|
||||
|
||||
test "returns nil for nil" do
|
||||
assert_nil @parser.parse(nil)
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user