0
私はRSpecを初めて使い、コントローラーのif-else条件をテストしたいが、インターネットで検索したが、見つかった結果が検索クエリを正しく満たしていない。rspecのelse条件があるかどうかをテストする方法
はここに私のレールコントローラです:
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
私はルビーバージョン2.2.4を使用していますし、バージョンが4.2.0
は、どのように私は、この条件のためにRSpecのを書くのですかという私を導いてくださいあるレール、例の助けを借りて
ありがとうございます。
あなたの条件はparamsによって異なりますので、それぞれのテストシナリオで一度正しいと次に間違ったパラメータを渡すことでif - else条件を確認できます。 – Navin
コントローラのコードが不完全なので、コード全体を添付して、適切なテストを書くことができます。 – amingilani
@amingilani私は今、完全なコードを追加しました、今私に答える。 この例は、例を挙げて説明することができます。 –