У меня есть простое приложение для блога, где пользователь может фильтровать сообщение по диапазону дат (start_date & end_date). Я использовал вызов AJAX для отображения сообщения на странице индекса. Как только пользователь задает диапазон дат, используя два средства выбора даты, и нажимает кнопку «Отправить», выполняется вызов AJAX и отображаются отфильтрованные сообщения. Нет проблем в разработке, но в случае тестирования я не знаю, как действовать дальше. Но моя цель - проверить, соответствуют ли сообщения, отображаемые на странице индекса, указанному диапазону дат. Я включил действие datefilter, определенное в контроллерах почты:
def dateFilter
if (params[:start_date].present? )&& (params[:end_date].present?)
if Time.parse(params[:start_date])<=Time.parse(params[:end_date])&& (Time.parse(params[:start_date])<= Date.today)&& (Time.parse(params[:end_date])<= Date.today)
@start_date= params[:start_date].to_date.beginning_of_day
@end_date=params[:end_date].to_date.end_of_day
else
@error = true
end
else
@start_date= Date.yesterday.beginning_of_day
@end_date=Date.today.end_of_day
end
@posts= Post.date_filter(@start_date,@end_date)
end
На странице индекса я использовал указатель даты следующим образом:
<%= form_tag({:controller => 'posts', :action => 'dateFilter'},remote: true) do %>
<%= date_field_tag 'start_date' %>
<%= date_field_tag 'end_date' %>
<%= submit_tag 'Submit' %>
<% end %>
<% end %>
когда выполняется вызов AJAX, он отображает сообщения в виде файла js datefilter.js.erb
<% if @error==true %>
alert("enter correct date format");
<% elsif @posts.blank? %>
alert("No posts in the given date");
<%else %>
$('.post_div').html('<%= j render @posts %>')
<% end %>
$('#page').hide()
Помогите мне написать rspec для вышеуказанного сценария