discourse/spec/jobs/clean_up_email_change_requests_spec.rb
Dan Ungureanu d903d4dc5a
DEV: Periodically delete old email change requests (#13054)
Email change requests are never deleted no matter if they completed
successfully or not. The abandoned requests have the disadvantage of
showing up as unconfirmed emails in user's preferences page.
2021-05-14 10:34:56 +03:00

17 lines
624 B
Ruby

# frozen_string_literal: true
require 'rails_helper'
describe Jobs::CleanUpEmailChangeRequests do
it "deletes records older than 1 month" do
very_old = Fabricate(:email_change_request, updated_at: 32.days.ago)
yesterday = Fabricate(:email_change_request, updated_at: 1.day.ago)
today = Fabricate(:email_change_request, updated_at: Time.zone.now)
expect { described_class.new.execute({}) }.to change { EmailChangeRequest.count }.by(-1)
expect { very_old.reload }.to raise_error(ActiveRecord::RecordNotFound)
expect(yesterday.reload).to be_present
expect(today.reload).to be_present
end
end