私は Rails のテストを始めたばかりです。次の質問があります。コントローラーにあるこの単純なシナリオを考えてみましょう。
class UsersController < ApplicationController
def create
@user = User.create(params[:user])
if params[:user][:birth_date]
Birthday.create(:title => "#{user.first_name} #{user.last_name}'s Birthday!", :date => params[:user][:birth_date].to_date, :user_id => @user.id)
end
end
def update
@user = User.find(params[:id])
@user.update_attributes(params[:user])
if params[:user][:birth_date]
@birthday = Birthday.find_by_user_id(@user.id)
@birthday.update_attributes(:date => params[:user][:birth_date].to_date) if @birthday
end
end
end
ユーザーが作成されるたびに誕生日イベントが作成され、その属性が適切に設定されていることをテストしたいと思います。私の特定の(実際の)ケースでは、別のオブジェクトが作成(または更新)されると新しいオブジェクトが作成(または更新)され、多くの属性が計算されて自動的に設定されます。それらが正しく設定されていることをテストする必要があります。どうすればテストできますか?