[#10753] fix missing condition on created at
This commit is contained in:
parent
dfbc132911
commit
910f0db7ba
2 changed files with 12 additions and 4 deletions
|
@ -3,11 +3,13 @@
|
||||||
namespace :after_party do
|
namespace :after_party do
|
||||||
desc 'Deployment task: mark_email_verified_when_user_signed_in_during_last_5_months'
|
desc 'Deployment task: mark_email_verified_when_user_signed_in_during_last_5_months'
|
||||||
task mark_email_verified_when_user_signed_in_during_last_5_months: :environment do
|
task mark_email_verified_when_user_signed_in_during_last_5_months: :environment do
|
||||||
affected_users_count = User.where(email_verified_at: nil, sign_in_count: 1..).count
|
users_signed_in_during_last_5_months = User.where(email_verified_at: nil, created_at: 5.months.ago.., sign_in_count: 1..)
|
||||||
|
|
||||||
|
affected_users_count = users_signed_in_during_last_5_months.count
|
||||||
|
|
||||||
puts "Processing #{affected_users_count} users signed in during the last 5 months and not verified"
|
puts "Processing #{affected_users_count} users signed in during the last 5 months and not verified"
|
||||||
|
|
||||||
User.where(email_verified_at: nil, sign_in_count: 1..).update_all(email_verified_at: Time.zone.now)
|
users_signed_in_during_last_5_months.update_all(email_verified_at: Time.zone.now)
|
||||||
puts "Done"
|
puts "Done"
|
||||||
|
|
||||||
AfterParty::TaskRecord
|
AfterParty::TaskRecord
|
||||||
|
|
|
@ -13,16 +13,22 @@ describe 'after_party:mark_email_verified_when_user_signed_in_during_last_5_mont
|
||||||
let!(:user2) { create(:user, email_verified_at: nil, sign_in_count: 1) }
|
let!(:user2) { create(:user, email_verified_at: nil, sign_in_count: 1) }
|
||||||
let!(:user3) { create(:user, email_verified_at: nil, sign_in_count: 0) }
|
let!(:user3) { create(:user, email_verified_at: nil, sign_in_count: 0) }
|
||||||
let!(:user4) { create(:user, email_verified_at: old_date, sign_in_count: 1) }
|
let!(:user4) { create(:user, email_verified_at: old_date, sign_in_count: 1) }
|
||||||
|
let!(:user5) do
|
||||||
|
travel_to(old_date) do
|
||||||
|
create(:user, email_verified_at: nil, sign_in_count: 1)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
it 'mark_email_verified_when_user_signed_in_during_last_5_months' do
|
it 'mark_email_verified_when_user_signed_in_during_last_5_months' do
|
||||||
expect(User.where(email_verified_at: nil, sign_in_count: 1..).count).to eq(2)
|
expect(User.where(email_verified_at: nil, sign_in_count: 1.., created_at: 5.months.ago..).count).to eq(2)
|
||||||
|
|
||||||
subject
|
subject
|
||||||
|
|
||||||
expect(User.where(email_verified_at: nil, sign_in_count: 1..).count).to eq(0)
|
expect(User.where(email_verified_at: nil, sign_in_count: 1.., created_at: 5.months.ago..).count).to eq(0)
|
||||||
expect(user.reload.email_verified_at).to be_present
|
expect(user.reload.email_verified_at).to be_present
|
||||||
expect(user2.reload.email_verified_at).to be_present
|
expect(user2.reload.email_verified_at).to be_present
|
||||||
expect(user3.reload.email_verified_at).to be_nil
|
expect(user3.reload.email_verified_at).to be_nil
|
||||||
expect(user4.reload.email_verified_at.to_i).to eq(old_date.to_i)
|
expect(user4.reload.email_verified_at.to_i).to eq(old_date.to_i)
|
||||||
|
expect(user5.reload.email_verified_at).to be_nil
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue