demarches-normaliennes/spec/features/instructeurs/instructeur_creation_spec.rb
Pierre de La Morinerie f131dbb80d instructeurs: make the create form not using email directly
Before the form attempted to read an email value from the Instructeur
model, and failed (because the empty Instructeur had no user yet).

We could let `Instructeur#email` return `nil` if there is no User –
but as a created Instructeur is always supposed to have a User, this
seems like a nice safeguard to keep.

So instead this commit rewrites the create form, which now doesn’t
depend on an Instructeur model. Seems easy enough for now.
2019-11-04 10:44:24 +01:00

30 lines
857 B
Ruby

require 'spec_helper'
feature 'As an instructeur', js: true do
let(:administrateur) { create(:administrateur, :with_procedure) }
let(:procedure) { administrateur.procedures.first }
let(:instructeur_email) { 'new_instructeur@gouv.fr' }
before do
login_as administrateur.user, scope: :user
visit admin_procedure_assigns_path(procedure)
fill_in :instructeur_email, with: instructeur_email
perform_enqueued_jobs do
click_button 'Ajouter'
end
end
scenario 'I can register' do
confirmation_email = open_email(instructeur_email)
token_params = confirmation_email.body.match(/token=[^"]+/)
visit "users/activate?#{token_params}"
fill_in :user_password, with: 'démarches-simplifiées-pwd'
click_button 'Définir le mot de passe'
expect(page).to have_content 'Mot de passe enregistré'
end
end