discourse/spec/jobs/clean_up_associated_accounts_spec.rb
2023-01-09 11:49:28 +00:00

33 lines
854 B
Ruby

# frozen_string_literal: true
RSpec.describe Jobs::CleanUpAssociatedAccounts do
subject { Jobs::CleanUpAssociatedAccounts.new.execute({}) }
it "deletes the correct records" do
freeze_time
last_week =
UserAssociatedAccount.create!(
provider_name: "twitter",
provider_uid: "1",
updated_at: 7.days.ago,
)
today =
UserAssociatedAccount.create!(
provider_name: "twitter",
provider_uid: "12",
updated_at: 12.hours.ago,
)
connected =
UserAssociatedAccount.create!(
provider_name: "twitter",
provider_uid: "123",
user: Fabricate(:user),
updated_at: 12.hours.ago,
)
expect { subject }.to change { UserAssociatedAccount.count }.by(-1)
expect(UserAssociatedAccount.all).to contain_exactly(today, connected)
end
end