Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/54.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何编写rspec以根据指定的日期范围筛选帖子_Ruby On Rails_Rspec - Fatal编程技术网

Ruby on rails 如何编写rspec以根据指定的日期范围筛选帖子

Ruby on rails 如何编写rspec以根据指定的日期范围筛选帖子,ruby-on-rails,rspec,Ruby On Rails,Rspec,我有一个简单的博客应用程序,用户可以根据日期范围start\u date和end\u date筛选文章。我使用AJAX调用在索引页面中显示文章。一旦用户使用两个日期选择器给出日期范围并单击submit按钮,就会调用AJAX并显示过滤后的帖子。在开发方面没有问题,但在测试的情况下,我不知道如何进一步进行。但我的目标是检查索引页中显示的帖子是否在指定的日期范围。我已包括post控制器中定义的datefilter操作: def日期过滤器 如果参数[:开始日期]。存在?&&参数[:结束日期]。是否存在

我有一个简单的博客应用程序,用户可以根据日期范围start\u date和end\u date筛选文章。我使用AJAX调用在索引页面中显示文章。一旦用户使用两个日期选择器给出日期范围并单击submit按钮,就会调用AJAX并显示过滤后的帖子。在开发方面没有问题,但在测试的情况下,我不知道如何进一步进行。但我的目标是检查索引页中显示的帖子是否在指定的日期范围。我已包括post控制器中定义的datefilter操作:

def日期过滤器 如果参数[:开始日期]。存在?&&参数[:结束日期]。是否存在?
如果Time.parseparams[:start_date]您可以使用具有指定日期的before操作创建多个post,并使用您知道具有指定数量post的日期范围调用controller操作,并检查响应中预期post的计数

比如说

@post1 = FactoryBot.create(:post, start_date: DATE) 
@post2 = FactoryBot.create(:post, start_date: DATE) //Using Factory

let(:data) = {
start_date: Date,
end_date: Date}

get:CONTROLLER_ACTION params: data 

然后根据您的要求期待响应

@JagdeepSingh我只需要写控制器规范什么在阻止您?我已经看过了。在这个场景中,我需要在测试期间创建几个帖子,我需要给出开始日期和结束日期,并检查返回的帖子是否在我的范围内是的,哪一部分特别困扰您?是创建多个帖子、将参数传递给操作还是检查过滤后的帖子?我完全不知道如何处理我尝试过,但如何将测试中的参数发送给控制器操作请更新您对我获取开始日期和结束日期的案例的回答。您可以按照上述规范文件中的指定发送参数。检查开始和结束日期取决于您从控制器操作返回数据的方式。您可以指定它吗