Revert breaking commits

This reverts the following commits:
c129b8a06f
c7c923a317
006c135a64
This commit is contained in:
Dan Rice 2015-04-14 22:26:07 -04:00
parent aa14a8e802
commit 556c68c2e6
6 changed files with 63 additions and 63 deletions

View file

@ -1055,7 +1055,7 @@ end
if recurring_todo.todos.active.count == 0 if recurring_todo.todos.active.count == 0
# check for next todo either from the due date or the show_from date # check for next todo either from the due date or the show_from date
date_to_check = todo.due.nil? ? todo.show_from.localtime : todo.due.localtime date_to_check = todo.due.nil? ? todo.show_from : todo.due
# if both due and show_from are nil, check for a next todo from now # if both due and show_from are nil, check for a next todo from now
date_to_check = Time.zone.now if date_to_check.nil? date_to_check = Time.zone.now if date_to_check.nil?

View file

@ -93,7 +93,7 @@ module RecurringTodos
# TODO: recheck if future rails versions have this problem too # TODO: recheck if future rails versions have this problem too
start = Time.utc(start.year, start.month, start.day)+n.months start = Time.utc(start.year, start.month, start.day)+n.months
end end
Time.zone.local(start.year, start.month, every_x_day).localtime.at_midnight Time.zone.local(start.year, start.month, every_x_day)
end end
def find_relative_day_of_month(start, n) def find_relative_day_of_month(start, n)

View file

@ -184,7 +184,7 @@ class RecurringTodosControllerTest < ActionController::TestCase
# mark as active # mark as active
xhr :post, :toggle_check, :id=>1, :_source_view=>"" xhr :post, :toggle_check, :id=>1, :_source_view=>""
recurring_todo_1 = RecurringTodo.find(1) # reload seems to not work recurring_todo_1 = RecurringTodo.find(1) # reload seems to not work
assert recurring_todo_1.active?, "recurring todo should be active but is #{recurring_todo_1.aasm.current_state}" assert recurring_todo_1.active?, "recurring todo should be active but is #{recurring_todo_1.aasm.current_state}"
@ -260,7 +260,7 @@ class RecurringTodosControllerTest < ActionController::TestCase
"recurring_show_days_before"=>"0", "recurring_show_days_before"=>"0",
"recurring_target"=>"due_date", "recurring_target"=>"due_date",
"recurring_show_always" => "1", "recurring_show_always" => "1",
"start_from"=>"1/10/2012", "start_from"=>"1/10/2012",
"weekly_every_x_week"=>"1", "weekly_every_x_week"=>"1",
"weekly_return_monday"=>"w", "weekly_return_monday"=>"w",
"yearly_day_of_week"=>"0", "yearly_day_of_week"=>"0",
@ -379,9 +379,9 @@ class RecurringTodosControllerTest < ActionController::TestCase
"tag_list"=>"one, two, three, four", format: :js "tag_list"=>"one, two, three, four", format: :js
assert_equal "new recurring pattern", assigns['recurring_todo'].description assert_equal "new recurring pattern", assigns['recurring_todo'].description
assert_equal "2013-01-02", assigns['recurring_todo'].start_from.localtime.to_date.to_s assert_equal "2013-01-02 00:00:00 +0000", assigns['recurring_todo'].start_from.to_s
todo = assigns['recurring_todo'].todos.first todo = assigns['recurring_todo'].todos.first
assert_equal "2013-01-02", todo.show_from.localtime.to_date.to_s assert_equal "2013-01-02 00:00:00 +0000", todo.show_from.to_s
end end
end end
@ -419,9 +419,9 @@ class RecurringTodosControllerTest < ActionController::TestCase
login_as(:admin_user) login_as(:admin_user)
rt = recurring_todos(:call_bill_gates_every_day) rt = recurring_todos(:call_bill_gates_every_day)
put :update, put :update,
"recurring_todo" => { "recurring_todo" => {
"description" => "changed", "description" => "changed",
"daily_selector" => "daily_every_x_day", "daily_selector" => "daily_every_x_day",
"daily_every_x_days" => "2", "daily_every_x_days" => "2",
"ends_on" => "no_end_date", "ends_on" => "no_end_date",
@ -433,7 +433,7 @@ class RecurringTodosControllerTest < ActionController::TestCase
"recurring_todo_edit_start_from" => "2/1/2013", "recurring_todo_edit_start_from" => "2/1/2013",
"end_date" => nil, "end_date" => nil,
"ends_on" => "no_end_date", "ends_on" => "no_end_date",
"id" => "#{rt.id}", "id" => "#{rt.id}",
"context_name" => "library", "context_name" => "library",
format: :js format: :js

View file

@ -49,7 +49,7 @@ class StatsControllerTest < ActionController::TestCase
totals = assigns['stats'].totals totals = assigns['stats'].totals
assert_equal 4, totals.tags assert_equal 4, totals.tags
assert_equal 2, totals.unique_tags assert_equal 2, totals.unique_tags
assert_equal 2.weeks.ago.localtime.at_midnight, totals.first_action_at.localtime.at_midnight assert_equal 2.week.ago.utc.at_midnight, totals.first_action_at.utc.at_midnight
end end
def test_downdrill def test_downdrill
@ -128,15 +128,15 @@ class StatsControllerTest < ActionController::TestCase
# And they should be averaged over three months # And they should be averaged over three months
assert_equal 2/3.0, assigns['actions_done_avg_last12months_array'][1], "fourth month should be excluded" assert_equal 2/3.0, assigns['actions_done_avg_last12months_array'][1], "fourth month should be excluded"
assert_equal 2/3.0, assigns['actions_done_avg_last12months_array'][2], "fourth month should be included" assert_equal 2/3.0, assigns['actions_done_avg_last12months_array'][2], "fourth month should be included"
assert_equal (3)/3.0, assigns['actions_created_avg_last12months_array'][1], "one every month" assert_equal (3)/3.0, assigns['actions_created_avg_last12months_array'][1], "one every month"
assert_equal (4)/3.0, assigns['actions_created_avg_last12months_array'][2], "two in fourth month" assert_equal (4)/3.0, assigns['actions_created_avg_last12months_array'][2], "two in fourth month"
# And the current month should be interpolated # And the current month should be interpolated
fraction = Time.zone.now.day.to_f / Time.zone.now.end_of_month.day.to_f fraction = Time.zone.now.day.to_f / Time.zone.now.end_of_month.day.to_f
assert_equal (2*(1/fraction)+2)/3.0, assigns['interpolated_actions_created_this_month'], "two this month and one in the last two months" assert_equal (2*(1/fraction)+2)/3.0, assigns['interpolated_actions_created_this_month'], "two this month and one in the last two months"
assert_equal (2)/3.0, assigns['interpolated_actions_done_this_month'], "none this month and one two the last two months" assert_equal (2)/3.0, assigns['interpolated_actions_done_this_month'], "none this month and one two the last two months"
# And totals should be calculated # And totals should be calculated
assert_equal 2, assigns['max'], "max of created or completed todos in one month" assert_equal 2, assigns['max'], "max of created or completed todos in one month"
end end
@ -168,7 +168,7 @@ class StatsControllerTest < ActionController::TestCase
login_as(:admin_user) login_as(:admin_user)
@current_user = User.find(users(:admin_user).id) @current_user = User.find(users(:admin_user).id)
@current_user.todos.delete_all @current_user.todos.delete_all
given_todos_for_stats given_todos_for_stats
# When I get the chart data # When I get the chart data
@ -176,7 +176,7 @@ class StatsControllerTest < ActionController::TestCase
assert_response :success assert_response :success
# only tests relevant differences with actions_done_last_12months_data # only tests relevant differences with actions_done_last_12months_data
assert_equal 31, assigns['actions_done_last30days_array'].size, "30 complete days plus 1 for the current day" assert_equal 31, assigns['actions_done_last30days_array'].size, "30 complete days plus 1 for the current day"
assert_equal 2, assigns['max'], "two actions created on one day is max" assert_equal 2, assigns['max'], "two actions created on one day is max"
end end
@ -185,31 +185,31 @@ class StatsControllerTest < ActionController::TestCase
login_as(:admin_user) login_as(:admin_user)
@current_user = User.find(users(:admin_user).id) @current_user = User.find(users(:admin_user).id)
@current_user.todos.delete_all @current_user.todos.delete_all
given_todos_for_stats given_todos_for_stats
# When I get the chart data # When I get the chart data
get :actions_done_lastyears_data get :actions_done_lastyears_data
assert_response :success assert_response :success
# only tests difference with actions_done_last_12months_data # only tests difference with actions_done_last_12months_data
# And the last two months are corrected # And the last two months are corrected
assert_equal 2/3.0, assigns['actions_done_avg_last_months_array'][23] assert_equal 2/3.0, assigns['actions_done_avg_last_months_array'][23]
assert_equal 2/3.0, assigns['actions_done_avg_last_months_array'][24] assert_equal 2/3.0, assigns['actions_done_avg_last_months_array'][24]
end end
def test_actions_completion_time_data def test_actions_completion_time_data
login_as(:admin_user) login_as(:admin_user)
@current_user = User.find(users(:admin_user).id) @current_user = User.find(users(:admin_user).id)
@current_user.todos.delete_all @current_user.todos.delete_all
given_todos_for_stats given_todos_for_stats
# When I get the chart data # When I get the chart data
get :actions_completion_time_data get :actions_completion_time_data
assert_response :success assert_response :success
# do not test stuff already implicitly tested in other tests # do not test stuff already implicitly tested in other tests
assert_equal 104, assigns['max_weeks'], "two years is 104 weeks (for completed_at)" assert_equal 104, assigns['max_weeks'], "two years is 104 weeks (for completed_at)"
assert_equal 3, assigns['max_actions'], "3 completed within one week" assert_equal 3, assigns['max_actions'], "3 completed within one week"
@ -222,13 +222,13 @@ class StatsControllerTest < ActionController::TestCase
login_as(:admin_user) login_as(:admin_user)
@current_user = User.find(users(:admin_user).id) @current_user = User.find(users(:admin_user).id)
@current_user.todos.delete_all @current_user.todos.delete_all
given_todos_for_stats given_todos_for_stats
# When I get the chart data # When I get the chart data
get :actions_running_time_data get :actions_running_time_data
assert_response :success assert_response :success
# do not test stuff already implicitly tested in other tests # do not test stuff already implicitly tested in other tests
assert_equal 17, assigns['max_weeks'], "there are actions in the first 17 weeks of this year" assert_equal 17, assigns['max_weeks'], "there are actions in the first 17 weeks of this year"
assert_equal 2, assigns['max_actions'], "2 actions running long together" assert_equal 2, assigns['max_actions'], "2 actions running long together"
@ -241,13 +241,13 @@ class StatsControllerTest < ActionController::TestCase
login_as(:admin_user) login_as(:admin_user)
@current_user = User.find(users(:admin_user).id) @current_user = User.find(users(:admin_user).id)
@current_user.todos.delete_all @current_user.todos.delete_all
given_todos_for_stats given_todos_for_stats
# When I get the chart data # When I get the chart data
get :actions_open_per_week_data get :actions_open_per_week_data
assert_response :success assert_response :success
# do not test stuff already implicitly tested in other tests # do not test stuff already implicitly tested in other tests
assert_equal 17, assigns['max_weeks'], "there are actions in the first 17 weeks of this year" assert_equal 17, assigns['max_weeks'], "there are actions in the first 17 weeks of this year"
assert_equal 4, assigns['max_actions'], "4 actions running together" assert_equal 4, assigns['max_actions'], "4 actions running together"
@ -258,12 +258,12 @@ class StatsControllerTest < ActionController::TestCase
login_as(:admin_user) login_as(:admin_user)
@current_user = User.find(users(:admin_user).id) @current_user = User.find(users(:admin_user).id)
@current_user.todos.delete_all @current_user.todos.delete_all
given_todos_for_stats given_todos_for_stats
# Given todo1 is deferred (i.e. not visible) # Given todo1 is deferred (i.e. not visible)
@todo_today1.show_from = Time.zone.now + 1.week @todo_today1.show_from = Time.zone.now + 1.week
@todo_today1.save @todo_today1.save
# When I get the chart data # When I get the chart data
get :actions_visible_running_time_data get :actions_visible_running_time_data
assert_response :success assert_response :success
@ -281,7 +281,7 @@ class StatsControllerTest < ActionController::TestCase
login_as(:admin_user) login_as(:admin_user)
@current_user = User.find(users(:admin_user).id) @current_user = User.find(users(:admin_user).id)
@current_user.todos.delete_all @current_user.todos.delete_all
given_todos_for_stats given_todos_for_stats
# When I get the chart data # When I get the chart data
@ -311,7 +311,7 @@ class StatsControllerTest < ActionController::TestCase
login_as(:admin_user) login_as(:admin_user)
@current_user = User.find(users(:admin_user).id) @current_user = User.find(users(:admin_user).id)
@current_user.todos.delete_all @current_user.todos.delete_all
given_todos_for_stats given_todos_for_stats
# When I get the chart data # When I get the chart data
@ -335,12 +335,12 @@ class StatsControllerTest < ActionController::TestCase
assert_equal 14, assigns['data'].values[9], "pie slices limited to max 10; last pie contains sum of rest (in percentage)" assert_equal 14, assigns['data'].values[9], "pie slices limited to max 10; last pie contains sum of rest (in percentage)"
assert_equal "(others)", assigns['data'].labels[9], "pie slices limited to max 10; last slice contains label for others" assert_equal "(others)", assigns['data'].labels[9], "pie slices limited to max 10; last slice contains label for others"
end end
def test_actions_day_of_week_all_data def test_actions_day_of_week_all_data
login_as(:admin_user) login_as(:admin_user)
@current_user = User.find(users(:admin_user).id) @current_user = User.find(users(:admin_user).id)
@current_user.todos.delete_all @current_user.todos.delete_all
given_todos_for_stats given_todos_for_stats
# When I get the chart data # When I get the chart data
@ -358,7 +358,7 @@ class StatsControllerTest < ActionController::TestCase
login_as(:admin_user) login_as(:admin_user)
@current_user = User.find(users(:admin_user).id) @current_user = User.find(users(:admin_user).id)
@current_user.todos.delete_all @current_user.todos.delete_all
given_todos_for_stats given_todos_for_stats
# When I get the chart data # When I get the chart data
@ -376,7 +376,7 @@ class StatsControllerTest < ActionController::TestCase
login_as(:admin_user) login_as(:admin_user)
@current_user = User.find(users(:admin_user).id) @current_user = User.find(users(:admin_user).id)
@current_user.todos.delete_all @current_user.todos.delete_all
given_todos_for_stats given_todos_for_stats
# When I get the chart data # When I get the chart data
@ -389,12 +389,12 @@ class StatsControllerTest < ActionController::TestCase
assert_not_nil assigns['actions_creation_hour_array'] assert_not_nil assigns['actions_creation_hour_array']
assert_not_nil assigns['actions_completion_hour_array'] assert_not_nil assigns['actions_completion_hour_array']
end end
def test_show_selected_actions_from_chart_avrt def test_show_selected_actions_from_chart_avrt
login_as(:admin_user) login_as(:admin_user)
@current_user = User.find(users(:admin_user).id) @current_user = User.find(users(:admin_user).id)
@current_user.todos.delete_all @current_user.todos.delete_all
given_todos_for_stats given_todos_for_stats
# When I get the chart data # When I get the chart data
@ -409,7 +409,7 @@ class StatsControllerTest < ActionController::TestCase
login_as(:admin_user) login_as(:admin_user)
@current_user = User.find(users(:admin_user).id) @current_user = User.find(users(:admin_user).id)
@current_user.todos.delete_all @current_user.todos.delete_all
given_todos_for_stats given_todos_for_stats
# When I get the chart data # When I get the chart data
@ -424,7 +424,7 @@ class StatsControllerTest < ActionController::TestCase
login_as(:admin_user) login_as(:admin_user)
@current_user = User.find(users(:admin_user).id) @current_user = User.find(users(:admin_user).id)
@current_user.todos.delete_all @current_user.todos.delete_all
given_todos_for_stats given_todos_for_stats
# When I get the chart data # When I get the chart data
@ -439,7 +439,7 @@ class StatsControllerTest < ActionController::TestCase
login_as(:admin_user) login_as(:admin_user)
@current_user = User.find(users(:admin_user).id) @current_user = User.find(users(:admin_user).id)
@current_user.todos.delete_all @current_user.todos.delete_all
given_todos_for_stats given_todos_for_stats
# When I get the chart data # When I get the chart data
@ -451,7 +451,7 @@ class StatsControllerTest < ActionController::TestCase
end end
private private
def given_todos_for_stats def given_todos_for_stats
# Given two todos created today # Given two todos created today
@todo_today1 = @current_user.todos.create!(:description => "created today1", :context => contexts(:office)) @todo_today1 = @current_user.todos.create!(:description => "created today1", :context => contexts(:office))
@ -491,7 +491,7 @@ class StatsControllerTest < ActionController::TestCase
def difference_in_days(date1, date2) def difference_in_days(date1, date2)
return ((date1.at_midnight-date2.at_midnight)/(60*60*24)).to_i return ((date1.at_midnight-date2.at_midnight)/(60*60*24)).to_i
end end
# assumes date1 > date2 # assumes date1 > date2
def difference_in_weeks(date1, date2) def difference_in_weeks(date1, date2)
return difference_in_days(date1, date2) / 7 return difference_in_days(date1, date2) / 7

View file

@ -120,7 +120,7 @@ class TodosControllerTest < ActionController::TestCase
assert_response :success assert_response :success
assert_equal 3, @tagged assert_equal 3, @tagged
end end
def test_find_tagged_with_terms_separated_with_dot def test_find_tagged_with_terms_separated_with_dot
login_as :admin_user login_as :admin_user
create_todo(description: "test dotted tag", tag_list: "first.last, second") create_todo(description: "test dotted tag", tag_list: "first.last, second")
@ -408,7 +408,7 @@ class TodosControllerTest < ActionController::TestCase
####### #######
# defer # defer
####### #######
def test_update_clearing_show_from_makes_todo_active def test_update_clearing_show_from_makes_todo_active
t = Todo.find(1) t = Todo.find(1)
@ -437,7 +437,7 @@ class TodosControllerTest < ActionController::TestCase
# given a todo in the tickler that should be activated # given a todo in the tickler that should be activated
travel_to 2.weeks.ago do travel_to 2.weeks.ago do
create_todo( create_todo(
description: "tickler", description: "tickler",
show_from: 1.week.from_now. show_from: 1.week.from_now.
in_time_zone(users(:admin_user).prefs.time_zone). in_time_zone(users(:admin_user).prefs.time_zone).
strftime("#{users(:admin_user).prefs.date_format}")) strftime("#{users(:admin_user).prefs.date_format}"))
@ -740,14 +740,14 @@ class TodosControllerTest < ActionController::TestCase
# locate the new todo in tickler # locate the new todo in tickler
new_todo = Todo.where(:recurring_todo_id => recurring_todo_1.id, :state => 'deferred').first new_todo = Todo.where(:recurring_todo_id => recurring_todo_1.id, :state => 'deferred').first
refute new_todo.nil?, "the todo should be in the tickler" assert !new_todo.nil?, "the todo should be in the tickler"
assert_equal "Call Bill Gates every day", new_todo.description assert_equal "Call Bill Gates every day", new_todo.description
assert_not_equal todo_1.id, new_todo.id, "check that the new todo is not the same as todo_1" assert_not_equal todo_1.id, new_todo.id, "check that the new todo is not the same as todo_1"
refute new_todo.show_from.nil?, "check that the new_todo is in the tickler to show next month" assert !new_todo.show_from.nil?, "check that the new_todo is in the tickler to show next month"
# do not use today here. It somehow gets messed up with the timezone calculation. # do not use today here. It somehow gets messed up with the timezone calculation.
next_month = (today + 1.month).localtime.at_midnight next_month = (Time.zone.now + 1.month).at_midnight
assert_equal next_month.utc.to_date.to_s(:db), new_todo.show_from.utc.to_date.to_s(:db) assert_equal next_month.utc.to_date.to_s(:db), new_todo.show_from.utc.to_date.to_s(:db)
end end
@ -1024,13 +1024,13 @@ class TodosControllerTest < ActionController::TestCase
private private
def create_todo(params={}) def create_todo(params={})
defaults = { source_view: 'todo', defaults = { source_view: 'todo',
context_name: "library", project_name: "Build a working time machine", context_name: "library", project_name: "Build a working time machine",
notes: "note", description: "a new todo", due: nil, tag_list: "a,b,c"} notes: "note", description: "a new todo", due: nil, tag_list: "a,b,c"}
params=params.reverse_merge(defaults) params=params.reverse_merge(defaults)
put :create, _source_view: params[:_source_view], put :create, _source_view: params[:_source_view],
context_name: params[:context_name], project_name: params[:project_name], tag_list: params[:tag_list], context_name: params[:context_name], project_name: params[:project_name], tag_list: params[:tag_list],
todo: {notes: params[:notes], description: params[:description], due: params[:due], show_from: params[:show_from]} todo: {notes: params[:notes], description: params[:description], due: params[:due], show_from: params[:show_from]}
end end

View file

@ -8,7 +8,7 @@ module RecurringTodos
def setup def setup
super super
@admin = users(:admin_user) @admin = users(:admin_user)
end end
def test_pattern_builds_from_existing_recurring_todo def test_pattern_builds_from_existing_recurring_todo
rt = @admin.recurring_todos.first rt = @admin.recurring_todos.first
@ -121,9 +121,9 @@ module RecurringTodos
def test_determine_start def test_determine_start
travel_to Time.zone.local(2013,1,1) do travel_to Time.zone.local(2013,1,1) do
rt = create_recurring_todo rt = create_recurring_todo
assert_equal "2013-01-01", rt.send(:determine_start, nil).to_date.to_s(:db), "no previous date, use today" assert_equal "2013-01-01 00:00:00", rt.send(:determine_start, nil).to_s(:db), "no previous date, use today"
assert_equal "2013-01-01", rt.send(:determine_start, nil, 1.day).to_date.to_s(:db), "no previous date, use today without offset" assert_equal "2013-01-01 00:00:00", rt.send(:determine_start, nil, 1.day).to_s(:db), "no previous date, use today without offset"
assert_equal "2013-01-02", rt.send(:determine_start, Time.zone.now, 1.day).to_date.to_s(:db), "use previous date and offset" assert_equal "2013-01-02 00:00:00", rt.send(:determine_start, Time.zone.now, 1.day).to_s(:db), "use previous date and offset"
end end
end end
@ -131,14 +131,14 @@ module RecurringTodos
rt = create_recurring_todo rt = create_recurring_todo
# march 2014 has 5 saturdays, the last will return the 5th # march 2014 has 5 saturdays, the last will return the 5th
assert_equal "2014-03-01", rt.send(:get_xth_day_of_month, 1, 6, 3, 2014).to_date.to_s(:db) assert_equal "2014-03-01 00:00:00", rt.send(:get_xth_day_of_month, 1, 6, 3, 2014).to_s(:db)
assert_equal "2014-03-22", rt.send(:get_xth_day_of_month, 4, 6, 3, 2014).to_date.to_s(:db) assert_equal "2014-03-22 00:00:00", rt.send(:get_xth_day_of_month, 4, 6, 3, 2014).to_s(:db)
assert_equal "2014-03-29", rt.send(:get_xth_day_of_month, 5, 6, 3, 2014).to_date.to_s(:db) assert_equal "2014-03-29 00:00:00", rt.send(:get_xth_day_of_month, 5, 6, 3, 2014).to_s(:db)
# march 2014 has 4 fridays, the last will return the 4th # march 2014 has 4 fridays, the last will return the 4th
assert_equal "2014-03-07", rt.send(:get_xth_day_of_month, 1, 5, 3, 2014).to_date.to_s(:db) assert_equal "2014-03-07 00:00:00", rt.send(:get_xth_day_of_month, 1, 5, 3, 2014).to_s(:db)
assert_equal "2014-03-28", rt.send(:get_xth_day_of_month, 4, 5, 3, 2014).to_date.to_s(:db) assert_equal "2014-03-28 00:00:00", rt.send(:get_xth_day_of_month, 4, 5, 3, 2014).to_s(:db)
assert_equal "2014-03-28", rt.send(:get_xth_day_of_month, 5, 5, 3, 2014).to_date.to_s(:db) assert_equal "2014-03-28 00:00:00", rt.send(:get_xth_day_of_month, 5, 5, 3, 2014).to_s(:db)
assert_raise(RuntimeError, "should check on valid weekdays"){ rt.send(:get_xth_day_of_month, 5, 9, 3, 2014) } assert_raise(RuntimeError, "should check on valid weekdays"){ rt.send(:get_xth_day_of_month, 5, 9, 3, 2014) }
assert_raise(RuntimeError, "should check on valid count x"){ rt.send(:get_xth_day_of_month, 6, 5, 3, 2014) } assert_raise(RuntimeError, "should check on valid count x"){ rt.send(:get_xth_day_of_month, 6, 5, 3, 2014) }