diff --git a/app/views/users/show.html.erb b/app/views/users/show.html.erb
index 78f2a06d3..a1f104b10 100644
--- a/app/views/users/show.html.erb
+++ b/app/views/users/show.html.erb
@@ -154,7 +154,10 @@
<% if @user.active? %>
<%= govuk_button_link_to "Deactivate user", deactivate_user_path(@user), warning: true %>
- <% if current_user.support? && @user.last_sign_in_at.nil? %>
+ <%# Some users are confirmed but have no sign in date, since logging in is a separate step that happens after confirmation %>
+ <%# Some users are unconfirmed but have a sign in date, since deactivating an account will unconfirm but not reset login date %>
+ <%# So, allow both cases to receive invite links %>
+ <% if current_user.support? && (@user.last_sign_in_at.nil? || !@user.confirmed?) %>
<%= govuk_button_to "Resend invite link", resend_invite_user_path(@user), secondary: true %>
<% end %>
<% else %>
diff --git a/spec/features/user_spec.rb b/spec/features/user_spec.rb
index de3f2cbc5..cea3f14e9 100644
--- a/spec/features/user_spec.rb
+++ b/spec/features/user_spec.rb
@@ -608,6 +608,19 @@ RSpec.describe "User Features" do
click_button("Resend invite link")
end
end
+
+ context "when reactivating a user" do
+ let!(:other_user) { create(:user, name: "Other name", active: false, organisation: user.organisation, last_sign_in_at: Time.zone.now, confirmed_at: nil) }
+
+ it "allows for reactivation email to be resent" do
+ allow(user).to receive(:need_two_factor_authentication?).and_return(false)
+ sign_in(user)
+ visit(user_path(other_user))
+ click_link("Reactivate user")
+ click_button("I’m sure – reactivate this user")
+ expect(page).to have_button("Resend invite link")
+ end
+ end
end
context "when the user is a customer support person" do