demarches-normaliennes/spec/system/users/transfer_dossier_spec.rb
Pierre de La Morinerie 9fd38cae5e specs: migrate from features to system specs
System specs have been available since Rails 5.1, and are better
integrated with the Rails framework.

- Rename `spec/features` to `spec/system`
- Rename `feature do` to `describe do`
- Configure Capybara for system specs

Steps mostly taken from https://medium.com/table-xi/a-quick-guide-to-rails-system-tests-in-rspec-b6e9e8a8b5f6
2021-10-26 12:24:46 +02:00

32 lines
1.1 KiB
Ruby

describe 'Transfer dossier:' do
let(:user) { create(:user) }
let(:other_user) { create(:user) }
let(:procedure) { create(:simple_procedure) }
let(:dossier) { create(:dossier, :en_construction, :with_individual, :with_commentaires, user: user, procedure: procedure) }
before do
dossier
login_as user, scope: :user
visit dossiers_path
end
scenario 'the user can transfer dossier to another user' do
within(:css, "tr[data-dossier-id=\"#{dossier.id}\"]") do
click_on 'Actions'
click_on 'Transferer le dossier'
end
expect(page).to have_current_path(transferer_dossier_path(dossier))
expect(page).to have_content("Transferer le dossier en construction nº #{dossier.id}")
fill_in 'Email du compte destinataire', with: other_user.email
click_on 'Envoyer la demande de transfert'
logout
login_as other_user, scope: :user
visit dossiers_path
expect(page).to have_content("Demande de transfert Nº #{dossier.reload.transfer.id} envoyé par #{user.email}")
click_on 'Accepter'
expect(page).to have_current_path(dossiers_path)
end
end