diff options
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.rb | 17 |
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 |