Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions app/decorators/user_decorator.rb
Original file line number Diff line number Diff line change
Expand Up @@ -56,4 +56,8 @@ def formatted_date_of_birth

object.date_of_birth.to_date.to_fs(:slashes)
end

def email_confirmation_status
object.confirmed? ? "Confirmed" : "Not confirmed"
end
end
10 changes: 10 additions & 0 deletions app/views/users/_edit_profile.erb
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,16 @@
<strong class="text-dark">Email</strong>
<%= resource&.email %>
</div>
<div class="mb-1">
<strong class="text-dark">Email confirmation status </strong>
<%= resource&.decorate&.email_confirmation_status %>
</div>
<% if resource&.unconfirmed_email.present? %>
<div class="mb-1">
<strong class="text-dark">Pending email confirmation </strong>
<%= resource.unconfirmed_email %>
</div>
<% end %>
<div class="mb-1">
<strong class="text-dark">Invitation email sent </strong>
<%= resource&.decorate(context: {format: :edit_profile})&.formatted_invitation_sent_at || "never" %>
Expand Down
16 changes: 16 additions & 0 deletions spec/decorators/user_decorator_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -151,4 +151,20 @@
expect(decorated_user.formatted_date_of_birth).to eq "1991/07/08"
end
end

describe "#email_confirmation_status" do
context "when the user's email is confirmed" do
it "returns Confirmed" do
user.update!(confirmed_at: Time.current)
expect(decorated_user.email_confirmation_status).to eq "Confirmed"
end
end

context "when the user's email is not confirmed" do
it "returns Not confirmed" do
user.update_column(:confirmed_at, nil)
expect(decorated_user.email_confirmation_status).to eq "Not confirmed"
end
end
end
end
21 changes: 21 additions & 0 deletions spec/system/users/edit_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -213,6 +213,27 @@
uncheck "user_receive_sms_notifications"
expect(page).to have_field("toggle-sms-notification-event", type: "checkbox", disabled: true)
end

it "displays the email confirmation status" do
volunteer = create(:volunteer)

sign_in volunteer
visit edit_users_path

expect(page).to have_text("Email confirmation status")
expect(page).to have_text("Confirmed")
end

it "displays a pending email change awaiting confirmation" do
volunteer = create(:volunteer)
volunteer.update(email: "new-email@example.com")

sign_in volunteer
visit edit_users_path

expect(page).to have_text("Pending email confirmation")
expect(page).to have_text("new-email@example.com")
end
end

context "when a user's casa organization does not have twilio enabled" do
Expand Down
Loading