We get rid of database cleaner, and JavaScript tests are faster because between tests we now rollback transactions instead of truncating the database.
163 lines
5.3 KiB
Ruby
163 lines
5.3 KiB
Ruby
require "rails_helper"
|
|
|
|
describe "Managed User" do
|
|
before 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
|