目的
前回の記事(Rspecのrequest(Integration test)でDeviseを使う方法)のあと、メール認証(confirmable)を設定したらRspecでエラーが出たのでその回避方法。
やったこと
-
request specのbefore処理でログイン前に
confirmed_at
に値を強引に入れてあげるspec/request/some_request_spec.rblet(:user) { FactoryGirl.create(:user) } before do user.confirmed_at = Time.zone.now user.save login_as(user, :scope => :user) visit some_authentificated_path end
考察
これって、beforeじゃなくてletのところでやるべきなのかなぁ。
その他の解決方法
- factoryGirlで
confirmed_at
に値を定義しちゃう方がきれいかもしれない(参考)