Ich implementiere eine Kontoeinstellungen Funktion, wo Benutzer ihren Namen, E-Mail-Adresse, Passwort, etc. bearbeiten können. Es basiert auf Devise Registrierungsfunktionen, die eine update
Methode hat.Wie kann ich mit Capybara aktualisierende Kontoinformationen testen, wenn das aktuelle Passwort erforderlich ist?
Ich möchte einen Funktionstest dafür mit RSpec und Capybara schreiben, jedoch muss der Benutzer sein aktuelles Passwort angeben, um die Kontodaten zu aktualisieren. Dies ist schwierig, da Passwörter verschlüsselt sind.
Das ist, was ich bisher habe, aber offensichtlich funktioniert es nicht:
require 'rails_helper'
feature 'Updating account' do
scenario 'Updating name', :sidekiq_inline do
create :user
login_as User.first
visit edit_user_registration_path
fill_in 'Name', with: 'New name'
fill_in 'Current password', with: User.first.encrypted_password
click_button 'Save changes'
expect(current_path).to eq home_path
expect(page).to have_text 'Your account has been updated successfully.'
end
end
Ah, ja zu erstellen. D'oh. Vielen Dank. –