summaryrefslogtreecommitdiff
path: root/spec/services
diff options
context:
space:
mode:
authorNick Thomas <nick@gitlab.com>2017-06-01 17:30:01 +0100
committerNick Thomas <nick@gitlab.com>2017-06-02 02:06:56 +0100
commit7db09c63cc4532acea2d736f667b36c96b22007d (patch)
tree432004de3b079aa5c9f9c6603c86be065df189e5 /spec/services
parentaff097e8f528ab5b00842df7c76d3435b1e59c96 (diff)
downloadgitlab-ce-7db09c63cc4532acea2d736f667b36c96b22007d.tar.gz
Fix hard-deleting users when they have authored issues
Diffstat (limited to 'spec/services')
-rw-r--r--spec/services/users/destroy_service_spec.rb8
1 files changed, 7 insertions, 1 deletions
diff --git a/spec/services/users/destroy_service_spec.rb b/spec/services/users/destroy_service_spec.rb
index de37a61e388..5409f67c091 100644
--- a/spec/services/users/destroy_service_spec.rb
+++ b/spec/services/users/destroy_service_spec.rb
@@ -147,16 +147,22 @@ describe Users::DestroyService, services: true do
end
context "migrating associated records" do
+ let!(:issue) { create(:issue, author: user) }
+
it 'delegates to the `MigrateToGhostUser` service to move associated records to the ghost user' do
- expect_any_instance_of(Users::MigrateToGhostUserService).to receive(:execute).once
+ expect_any_instance_of(Users::MigrateToGhostUserService).to receive(:execute).once.and_call_original
service.execute(user)
+
+ expect(issue.reload.author).to be_ghost
end
it 'does not run `MigrateToGhostUser` if hard_delete option is given' do
expect_any_instance_of(Users::MigrateToGhostUserService).not_to receive(:execute)
service.execute(user, hard_delete: true)
+
+ expect(Issue.exists?(issue.id)).to be_falsy
end
end
end