Skip to content

Commit c0f03da

Browse files
committed
fix: update destroy account extend and test
1 parent ce82f18 commit c0f03da

File tree

2 files changed

+22
-16
lines changed

2 files changed

+22
-16
lines changed

lib/decidim/cleaner/extends/commands/decidim/destroy_account.rb

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,19 @@ module DestroyAccount
1212

1313
# Invalidate all sessions after cleaning Decidim::User record to prevent Active Record error
1414
def destroy_user_account!
15-
@user.name = ""
16-
@user.nickname = ""
17-
@user.email = ""
18-
@user.delete_reason = @form.delete_reason
19-
@user.admin = false if @user.admin?
20-
@user.deleted_at = Time.current
21-
@user.skip_reconfirmation!
22-
@user.avatar.purge
23-
@user.save!
15+
current_user.name = ""
16+
current_user.nickname = ""
17+
current_user.email = ""
18+
current_user.personal_url = ""
19+
current_user.about = ""
20+
current_user.delete_reason = @form.delete_reason
21+
current_user.admin = false if current_user.admin?
22+
current_user.deleted_at = Time.current
23+
current_user.skip_reconfirmation!
24+
current_user.avatar.purge
25+
current_user.save!
2426

25-
@user.invalidate_all_sessions!
27+
current_user.invalidate_all_sessions!
2628
end
2729
end
2830
end

spec/commands/decidim/destroy_account_spec.rb

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
module Decidim
66
describe DestroyAccount do
7-
let(:command) { described_class.new(user, form) }
7+
let(:command) { described_class.new(form) }
88
let(:user) { create(:user, :confirmed) }
99
let!(:identity) { create(:identity, user:) }
1010
let(:valid) { true }
@@ -17,7 +17,8 @@ module Decidim
1717
let(:form) do
1818
form = double(
1919
delete_reason: data[:delete_reason],
20-
valid?: valid
20+
valid?: valid,
21+
current_user: user
2122
)
2223

2324
form
@@ -50,11 +51,14 @@ module Decidim
5051
expect(user.reload.deleted_at).not_to be_nil
5152
end
5253

53-
it "set name, nickname and email to blank string" do
54+
it "set name, nickname, personal_url, about and email to blank string" do
5455
command.call
55-
expect(user.reload.name).to eq("")
56-
expect(user.reload.nickname).to eq("")
57-
expect(user.reload.email).to eq("")
56+
user.reload
57+
expect(user.name).to eq("")
58+
expect(user.nickname).to eq("")
59+
expect(user.email).to eq("")
60+
expect(user.personal_url).to eq("")
61+
expect(user.about).to eq("")
5862
end
5963

6064
it "destroys the current user avatar" do

0 commit comments

Comments
 (0)