0
我是RSpec的新手,我想测试控制器的if-else条件,我在网上搜索但找到的结果不能很好地满足我的搜索查询。如何测试是否其他条件rspec
这里是我的轨控制器:
class ScheduleTimeSlotsController < ApplicationController
def get_available_schedules
if params[:for_date].to_date==Date.today
available_schedules=ScheduleTimeSlot.where(:doctor_id => params[:dr_id],:date=>params[:for_date].to_date,:status=>"vacant",:archive=>false).where("start_time >=?",Time.now.seconds_since_midnight).reorder(:start_time)
else
available_schedules=ScheduleTimeSlot.where(:doctor_id => params[:dr_id],:date=>params[:for_date].to_date,:status=>"vacant",:archive=>false).reorder(:start_time)
end
render :json =>{:available_schedules=>available_schedules}
end
end
我使用Ruby 2.2.4版和轨道的版本是4.2.0
请指引我,我怎么写RSpec的这种状况,在一个例子的帮助下。
在此先感谢。
您的条件取决于参数,因此您可以通过正确传递参数并在下次不正确的情况下检查您的if-else条件。 – Navin
您的控制器代码不完整,请附上整个代码,然后才能有人能够编写相应的测试。 – amingilani
@amingilani我现在添加了完整的代码,现在回答我。 你可以通过任何例子来解释这种情况。 –