2 Commits

Author SHA1 Message Date
Râu Cao
b9259958f4 Add spec to prove issue #28
All checks were successful
continuous-integration/drone/push Build is passing
2023-02-19 14:41:45 +08:00
Râu Cao
832d1e3bd7 Improve layout of password reset form 2023-02-19 14:41:16 +08:00
2 changed files with 35 additions and 3 deletions

View File

@@ -11,7 +11,7 @@
<%= f.label :password, "New password" %>
</p>
<p>
<%= f.password_field :password, autofocus: true, autocomplete: "new-password" %>
<%= f.password_field :password, autofocus: true, autocomplete: "new-password", class: "w-full" %>
<% if @minimum_password_length %>
<br><em class="text-sm text-gray-500">(<%= @minimum_password_length %> characters minimum)</em>
<% end %>
@@ -20,10 +20,10 @@
<%= f.label :password_confirmation, "Confirm new password" %>
</p>
<p>
<%= f.password_field :password_confirmation, autocomplete: "new-password" %>
<%= f.password_field :password_confirmation, autocomplete: "new-password", class: "w-full"%>
</p>
<p class="mt-8">
<%= f.submit "Change my password", class: 'btn-md btn-blue' %>
<%= f.submit "Change my password", class: 'btn-md btn-blue w-full' %>
</p>
<% end %>

View File

@@ -0,0 +1,32 @@
require 'rails_helper'
RSpec.describe 'Password reset', type: :feature do
let(:user) { create :user }
before do
login_as user, :scope => :user
end
scenario 'Send password reset email' do
expect(user.reset_password_token).to be_nil
visit settings_account_path
click_button "Send me a password reset link"
expect(page).to have_content 'Please check your inbox'
expect(user.reload.reset_password_token).to be_a(String)
end
scenario "Reset password" do
# Generate a raw reset token, since the stored one is only a digest
token = user.send(:set_reset_password_token)
logout
visit edit_user_password_path(reset_password_token: token)
expect(page).to have_content 'Change your password'
fill_in :user_password, with: 'a new password'
fill_in :user_password_confirmation, with: 'a new password with a typo'
click_button 'Change my password'
expect(page).to have_content 'Confirmation does not match'
end
end