discourse/spec/jobs/clean_up_associated_accounts_spec.rb
Loïc Guitaut 0f4beab0fb DEV: Update the rubocop-discourse gem
This enables cops related to RSpec `subject`.

See https://github.com/discourse/rubocop-discourse/pull/32
2023-06-26 11:41:52 +02:00

33 lines
856 B
Ruby

# frozen_string_literal: true
RSpec.describe Jobs::CleanUpAssociatedAccounts do
subject(:job) { 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 { job }.to change { UserAssociatedAccount.count }.by(-1)
expect(UserAssociatedAccount.all).to contain_exactly(today, connected)
end
end