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我現在添加了完整的代碼,現在回答我。 你可以通過任何例子來解釋這種情況。 –