166 lines
5.3 KiB
Ruby
166 lines
5.3 KiB
Ruby
require 'rails_helper'
|
|
|
|
feature 'Managed User' do
|
|
|
|
background do
|
|
login_as_manager
|
|
end
|
|
|
|
context "Currently managed user" do
|
|
|
|
scenario "No managed user" do
|
|
visit management_document_verifications_path
|
|
expect(page).not_to have_css ".account-info"
|
|
end
|
|
|
|
scenario "User is already level three verified" do
|
|
user = create(:user, :level_three)
|
|
|
|
visit management_document_verifications_path
|
|
fill_in 'document_verification_document_number', with: user.document_number
|
|
click_button 'Check document'
|
|
|
|
expect(page).to have_content "already verified"
|
|
|
|
within(".account-info") do
|
|
expect(page).to have_content "Identified as"
|
|
expect(page).to have_content user.username.to_s
|
|
expect(page).to have_content user.email.to_s
|
|
expect(page).to have_content user.document_number.to_s
|
|
end
|
|
end
|
|
|
|
scenario "User becomes verified as level three" do
|
|
user = create(:user, :level_two)
|
|
|
|
visit management_document_verifications_path
|
|
fill_in 'document_verification_document_number', with: user.document_number
|
|
click_button 'Check document'
|
|
|
|
expect(page).to have_content "Vote proposals"
|
|
|
|
click_button 'Verify'
|
|
|
|
expect(page).to have_content "already verified"
|
|
|
|
within(".account-info") do
|
|
expect(page).to have_content "Identified as"
|
|
expect(page).to have_content user.username.to_s
|
|
expect(page).to have_content user.email.to_s
|
|
expect(page).to have_content user.document_number.to_s
|
|
end
|
|
end
|
|
|
|
scenario "User becomes verified as level two (pending email confirmation for level three)" do
|
|
login_as_manager
|
|
|
|
user = create(:user)
|
|
|
|
visit management_document_verifications_path
|
|
fill_in 'document_verification_document_number', with: '12345678Z'
|
|
click_button 'Check document'
|
|
|
|
within(".account-info") do
|
|
expect(page).not_to have_content "Identified as"
|
|
expect(page).not_to have_content "Username"
|
|
expect(page).not_to have_content "Email"
|
|
expect(page).to have_content "Document type"
|
|
expect(page).to have_content "Document number"
|
|
expect(page).to have_content "12345678Z"
|
|
end
|
|
|
|
expect(page).to have_content "Please introduce the email used on the account"
|
|
|
|
fill_in 'email_verification_email', with: user.email
|
|
click_button 'Send verification email'
|
|
|
|
expect(page).to have_content("In order to completely verify this user, it is necessary that the user clicks on a link")
|
|
|
|
within(".account-info") do
|
|
expect(page).to have_content "Identified as"
|
|
expect(page).to have_content user.username.to_s
|
|
expect(page).to have_content user.email.to_s
|
|
expect(page).to have_content user.document_number.to_s
|
|
end
|
|
end
|
|
|
|
scenario "User is created with email as level three from scratch" do
|
|
login_as_manager
|
|
|
|
visit management_document_verifications_path
|
|
fill_in 'document_verification_document_number', with: '12345678Z'
|
|
click_button 'Check document'
|
|
|
|
expect(page).to have_content "Please introduce the email used on the account"
|
|
|
|
click_link 'Create a new account'
|
|
|
|
fill_in 'user_username', with: 'pepe'
|
|
fill_in 'user_email', with: 'pepe@gmail.com'
|
|
|
|
click_button 'Create user'
|
|
|
|
expect(page).to have_content "We have sent an email"
|
|
expect(page).not_to have_content "Autogenerated password is"
|
|
|
|
user = User.last
|
|
within(".account-info") do
|
|
expect(page).to have_content "Identified as"
|
|
expect(page).to have_content user.username.to_s
|
|
expect(page).to have_content user.email.to_s
|
|
expect(page).to have_content user.document_number.to_s
|
|
end
|
|
end
|
|
|
|
scenario "User is created without email as level three from scratch" do
|
|
login_as_manager
|
|
|
|
visit management_document_verifications_path
|
|
fill_in 'document_verification_document_number', with: '12345678Z'
|
|
click_button 'Check document'
|
|
|
|
expect(page).to have_content "Please introduce the email used on the account"
|
|
|
|
click_link 'Create a new account'
|
|
|
|
fill_in 'user_username', with: 'peppa'
|
|
fill_in 'user_email', with: ''
|
|
|
|
click_button 'Create user'
|
|
|
|
expect(page).not_to have_content "We have sent an email"
|
|
expect(page).to have_content "Autogenerated password is"
|
|
|
|
user = User.last
|
|
within(".account-info") do
|
|
expect(page).to have_content "Identified as"
|
|
expect(page).to have_content user.username.to_s
|
|
expect(page).to have_content user.document_number.to_s
|
|
end
|
|
end
|
|
end
|
|
|
|
scenario "Close the currently managed user session" do
|
|
user = create(:user, :level_three)
|
|
|
|
visit management_document_verifications_path
|
|
fill_in 'document_verification_document_number', with: user.document_number
|
|
click_button 'Check document'
|
|
|
|
expect(page).to have_content "already verified"
|
|
|
|
within(".account-info") do
|
|
expect(page).to have_content "Identified as"
|
|
expect(page).to have_content user.username.to_s
|
|
|
|
click_link "Change user"
|
|
end
|
|
|
|
expect(page).to have_content "User session signed out successfully."
|
|
expect(page).not_to have_content "Identified as"
|
|
expect(page).not_to have_content user.username.to_s
|
|
expect(page).to have_current_path(management_root_path)
|
|
end
|
|
|
|
end
|