diff --git a/app/controllers/auth/passwords_controller.rb b/app/controllers/auth/passwords_controller.rb
index 0f6e1c9b0..317c4aa29 100644
--- a/app/controllers/auth/passwords_controller.rb
+++ b/app/controllers/auth/passwords_controller.rb
@@ -23,6 +23,11 @@ class Auth::PasswordsController < Devise::PasswordsController
respond_with({}, location: after_sending_reset_password_instructions_path_for(resource_name))
end
+ def edit
+ super
+ render "users/reset_password"
+ end
+
protected
def after_sending_reset_password_instructions_path_for(_resource)
diff --git a/app/views/users/reset_password.html.erb b/app/views/users/reset_password.html.erb
new file mode 100644
index 000000000..0f511f160
--- /dev/null
+++ b/app/views/users/reset_password.html.erb
@@ -0,0 +1,30 @@
+<% content_for :title, "Reset your password" %>
+
+<% content_for :before_content do %>
+ <%= govuk_back_link(
+ text: 'Back',
+ href: :back,
+ ) %>
+<% end %>
+
+<%= form_for(@user, as: :user, html: { method: :patch }) do |f| %>
+
+
+
+ <%= content_for(:title) %>
+
+
+ <%= f.govuk_password_field :new_password,
+ label: { text: "New password" },
+ hint: @minimum_password_length ? { text: "Your password must be at least #{@minimum_password_length} characters and hard to guess." } : nil,
+ autocomplete: "new-password"
+ %>
+
+ <%= f.govuk_password_field :password_confirmation,
+ label: { text: "Confirm new password" }
+ %>
+
+ <%= f.govuk_submit "Update" %>
+
+
+<% end %>
diff --git a/spec/requests/user_controller_spec.rb b/spec/requests/user_controller_spec.rb
index 26f7bd959..27b8f13a2 100644
--- a/spec/requests/user_controller_spec.rb
+++ b/spec/requests/user_controller_spec.rb
@@ -37,6 +37,14 @@ RSpec.describe UsersController, type: :request do
expect(response).to redirect_to("/users/sign-in")
end
end
+
+ describe "reset password" do
+ it "renders the user edit password view" do
+ raw, enc = Devise.token_generator.generate(User, :reset_password_token)
+ get "/users/password/edit?reset_password_token=#{enc}"
+ expect(page).to have_css("h1", class: "govuk-heading-l", text: "Reset your password")
+ end
+ end
end
describe "#show" do