config/initializers/devise.rb
はこんな感じとする。
Devise.setup do |config| # 省略 config.reset_password_within = 30.minutes config.confirm_within = 30.days # 省略 endテストコードはこんな感じでかけた。 Recoverable では
reset_password_sent_at
と reset_password_within.ago
を比較している。ActiveSupport::Duration#ago
まで遡ると初期値である Time.current
に対して演算していたので、最初は Time.stub(:current, ...
のようにしていた。しかし、Confirmable では、合算値を
Time.now
と比較している。そのため、Time.current
は通らないのでこのやり方ではだめだった。結局は
Time.now
をスタブ化したらよかったわけだが、こういう同質的な処理は同じ書き方をしてほしいなーとおもった昼下がり。
0 件のコメント :
コメントを投稿