2019-04-30 08:27:42 +08:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2022-07-28 10:27:38 +08:00
|
|
|
RSpec.describe Jobs::CleanUpAssociatedAccounts do
|
2023-06-21 22:00:19 +08:00
|
|
|
subject(:job) { Jobs::CleanUpAssociatedAccounts.new.execute({}) }
|
2018-12-10 23:10:06 +08:00
|
|
|
|
|
|
|
it "deletes the correct records" do
|
|
|
|
freeze_time
|
|
|
|
|
2018-12-11 17:58:20 +08:00
|
|
|
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,
|
|
|
|
)
|
2018-12-10 23:10:06 +08:00
|
|
|
|
2023-06-21 22:00:19 +08:00
|
|
|
expect { job }.to change { UserAssociatedAccount.count }.by(-1)
|
2018-12-10 23:10:06 +08:00
|
|
|
expect(UserAssociatedAccount.all).to contain_exactly(today, connected)
|
|
|
|
end
|
|
|
|
end
|