Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/services/users/migrate_records_to_ghost_user_service_spec.rb')
-rw-r--r--spec/services/users/migrate_records_to_ghost_user_service_spec.rb17
1 files changed, 17 insertions, 0 deletions
diff --git a/spec/services/users/migrate_records_to_ghost_user_service_spec.rb b/spec/services/users/migrate_records_to_ghost_user_service_spec.rb
index d6fb7a2954d..57378c07dd7 100644
--- a/spec/services/users/migrate_records_to_ghost_user_service_spec.rb
+++ b/spec/services/users/migrate_records_to_ghost_user_service_spec.rb
@@ -143,6 +143,13 @@ RSpec.describe Users::MigrateRecordsToGhostUserService, feature_category: :user_
let(:created_record) { create(:release, author: user) }
end
end
+
+ context 'for user achievements' do
+ include_examples 'migrating records to the ghost user', Achievements::UserAchievement,
+ [:awarded_by_user, :revoked_by_user] do
+ let(:created_record) { create(:user_achievement, awarded_by_user: user, revoked_by_user: user) }
+ end
+ end
end
context 'on post-migrate cleanups' do
@@ -358,6 +365,16 @@ RSpec.describe Users::MigrateRecordsToGhostUserService, feature_category: :user_
expect(Issue).not_to exist(issue.id)
end
+
+ it 'migrates awarded and revoked fields of user achievements' do
+ user_achievement = create(:user_achievement, awarded_by_user: user, revoked_by_user: user)
+
+ service.execute(hard_delete: true)
+ user_achievement.reload
+
+ expect(user_achievement.revoked_by_user).to eq(Users::Internal.ghost)
+ expect(user_achievement.awarded_by_user).to eq(Users::Internal.ghost)
+ end
end
end
end