diff options
Diffstat (limited to 'spec/services/users/migrate_to_ghost_user_service_spec.rb')
-rw-r--r-- | spec/services/users/migrate_to_ghost_user_service_spec.rb | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/spec/services/users/migrate_to_ghost_user_service_spec.rb b/spec/services/users/migrate_to_ghost_user_service_spec.rb deleted file mode 100644 index 073ebaae5b0..00000000000 --- a/spec/services/users/migrate_to_ghost_user_service_spec.rb +++ /dev/null @@ -1,97 +0,0 @@ -# frozen_string_literal: true - -require 'spec_helper' - -RSpec.describe Users::MigrateToGhostUserService do - let!(:user) { create(:user) } - let!(:project) { create(:project, :repository) } - let(:service) { described_class.new(user) } - let(:always_ghost) { false } - - context "migrating a user's associated records to the ghost user" do - context 'issues' do - context 'deleted user is present as both author and edited_user' do - include_examples "migrating a deleted user's associated records to the ghost user", Issue, [:author, :last_edited_by] do - let(:created_record) do - create(:issue, project: project, author: user, last_edited_by: user) - end - end - end - - context 'deleted user is present only as edited_user' do - include_examples "migrating a deleted user's associated records to the ghost user", Issue, [:last_edited_by] do - let(:created_record) { create(:issue, project: project, author: create(:user), last_edited_by: user) } - end - end - end - - context 'merge requests' do - context 'deleted user is present as both author and merge_user' do - include_examples "migrating a deleted user's associated records to the ghost user", MergeRequest, [:author, :merge_user] do - let(:created_record) { create(:merge_request, source_project: project, author: user, merge_user: user, target_branch: "first") } - end - end - - context 'deleted user is present only as both merge_user' do - include_examples "migrating a deleted user's associated records to the ghost user", MergeRequest, [:merge_user] do - let(:created_record) { create(:merge_request, source_project: project, merge_user: user, target_branch: "first") } - end - end - end - - context 'notes' do - include_examples "migrating a deleted user's associated records to the ghost user", Note do - let(:created_record) { create(:note, project: project, author: user) } - end - end - - context 'abuse reports' do - include_examples "migrating a deleted user's associated records to the ghost user", AbuseReport do - let(:created_record) { create(:abuse_report, reporter: user, user: create(:user)) } - end - end - - context 'award emoji' do - include_examples "migrating a deleted user's associated records to the ghost user", AwardEmoji, [:user] do - let(:created_record) { create(:award_emoji, user: user) } - - context "when the awardable already has an award emoji of the same name assigned to the ghost user" do - let(:awardable) { create(:issue) } - let!(:existing_award_emoji) { create(:award_emoji, user: User.ghost, name: "thumbsup", awardable: awardable) } - let!(:award_emoji) { create(:award_emoji, user: user, name: "thumbsup", awardable: awardable) } - - it "migrates the award emoji regardless" do - service.execute - - migrated_record = AwardEmoji.find_by_id(award_emoji.id) - - expect(migrated_record.user).to eq(User.ghost) - end - - it "does not leave the migrated award emoji in an invalid state" do - service.execute - - migrated_record = AwardEmoji.find_by_id(award_emoji.id) - - expect(migrated_record).to be_valid - end - end - end - end - - context 'snippets' do - include_examples "migrating a deleted user's associated records to the ghost user", Snippet do - let(:created_record) { create(:snippet, project: project, author: user) } - end - end - - context 'reviews' do - let!(:user) { create(:user) } - let(:service) { described_class.new(user) } - - include_examples "migrating a deleted user's associated records to the ghost user", Review, [:author] do - let(:created_record) { create(:review, author: user) } - end - end - end -end |