PERF: run user merging task in a background job. (#10961)

* PERF: run user merging task in a background job.

Currently, admin page is timing out while merging the users with lots of posts.
This commit is contained in:
Vinoth Kannan
2020-12-10 10:22:08 +05:30
committed by GitHub
parent f1288812e8
commit eb60fc86dc
6 changed files with 82 additions and 23 deletions

View File

@ -1079,13 +1079,12 @@ RSpec.describe Admin::UsersController do
fab!(:first_post) { Fabricate(:post, topic: topic, user: user) }
it 'should merge source user to target user' do
Jobs.run_immediately!
post "/admin/users/#{user.id}/merge.json", params: {
target_username: target_user.username
}
expect(response.status).to eq(200)
expect(response.parsed_body["merged"]).to be_truthy
expect(response.parsed_body["user"]["id"]).to eq(target_user.id)
expect(topic.reload.user_id).to eq(target_user.id)
expect(first_post.reload.user_id).to eq(target_user.id)
end