docbrown/spec/services/moderator/merge_user_spec.rb
Alex 393ba00221
Remove Elasticsearch ✂️ ✂️ ✂️ ✂️ ✂️ ✂️ ✂️ ✂️ ✂️ ✂️ ✂️ ✂️ ✂️ ✂️ (#13606)
* Attempt number 1

* Fix rack_attack specs

* Fix users_searches_users spec

* Fix display_users_search_spec

* Fix comment typo

* Remove search:destroy task from cypress

* Remove port 9300 from gitpod

* Stub response in attack_spec
2021-05-03 11:09:45 -04:00

36 lines
1.3 KiB
Ruby

require "rails_helper"
RSpec.describe Moderator::MergeUser, type: :service do
let!(:keep_user) { create(:user) }
let!(:delete_user) { create(:user) }
let(:delete_user_id) { delete_user.id }
let(:admin) { create(:user, :super_admin) }
describe "#merge" do
let(:article) { create(:article, user: delete_user) }
let(:comment) { create(:comment, user: delete_user) }
let(:reaction) { create(:reaction, user: delete_user, category: "readinglist") }
let(:article_reaction) { create(:reaction, reactable: article, category: "readinglist") }
let(:related_records) { [article, comment, reaction, article_reaction] }
before { sidekiq_perform_enqueued_jobs }
it "deletes delete_user_id and keeps keep_user" do
sidekiq_perform_enqueued_jobs do
described_class.call(admin: admin, keep_user: keep_user, delete_user_id: delete_user.id)
end
expect(User.find_by(id: delete_user_id)).to be_nil
expect(User.find_by(id: keep_user.id)).not_to be_nil
end
it "updates badge_achievements_count" do
create_list(:badge_achievement, 2, user: delete_user)
sidekiq_perform_enqueued_jobs do
described_class.call(admin: admin, keep_user: keep_user, delete_user_id: delete_user.id)
end
expect(keep_user.reload.badge_achievements_count).to eq(2)
end
end
end