FactoryGirlを使用して作成すると、未確認期間の後にユーザを作成/作成するにはどうすればよいですか?未確認期間後にFactoryGirlをユーザに割り当てよう
は、私が最初に私が工夫」active_for_authentication
が実際にしかし前に、まだconfirmation_sent_at
に設定されるだろう作成時のように助けにはならなかったいくつかの週にconfirmation_sent_at
を設定し、confirmation_sent_at
に基づいた実現いくつかの一週間前に:created_at
を設定しようとしていますTime.now
confirmation_sent_at
が設定されている場所とき/理解したいと思います
(私も実際にsend_confirmation_instructions!
を呼び出すと、メールを再送し、このconfirmation_sent_at`をリセットすることを恐れていたが、これはそうではありませんでした...)
さらに重要なのは、有効なFactoryGirlその確認されていないアクセス期間の後に確認されていないユーザーを作成します。ここで
である私の工場は、これまで
FactoryGirl.define do
factory :user do
created_at { Time.now }
password 'qsdfghjklmù'
confirmed_at nil
sequence(:email) do |n|
Faker::Internet.email(first_name.gsub(/[^\w]/, '_') + n.to_s)
end
transient do
confirmed true
end
after(:build) do |user, evaluator|
if evaluator.confirmed
user.skip_confirmation!
user.skip_reconfirmation!
end
end
before(:create) do |user, evaluator|
if evaluator.confirmed
user.skip_confirmation!
user.skip_reconfirmation!
end
end
trait :unconfirmed do
confirmed false
end
trait :after_unconfirmation_period do
confirmation_sent_at do
rand((User.allow_unconfirmed_access_for || 1.day).ago..10.days.ago)
end
end
エンド エンド
おそらく、あなたはTimecopを使って過去の時間をフリーズすることができますか? – apneadiving