We had the same texts four times, with slight variations in the case of the management section. We're unifying them under the "verification" i18n namespace, since the texts are about actions which can be done depending on whether users are verified or not. Note the names of the i18n keys aren't very consistent, since we use "debates" in plural but "proposal" in singular. We're leaving it like this so existing translations aren't affected.
160 lines
5.2 KiB
Ruby
160 lines
5.2 KiB
Ruby
require "rails_helper"
|
|
|
|
describe "Managed User" do
|
|
context "Currently managed user" do
|
|
scenario "No managed user" do
|
|
login_as_manager
|
|
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)
|
|
|
|
login_as_manager
|
|
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)
|
|
|
|
login_as_manager
|
|
visit management_document_verifications_path
|
|
fill_in "document_verification_document_number", with: user.document_number
|
|
click_button "Check document"
|
|
|
|
expect(page).to have_content "Participate in final voting"
|
|
|
|
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
|
|
user = create(:user)
|
|
|
|
login_as_manager
|
|
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"
|
|
|
|
within(".account-info") do
|
|
expect(page).to have_content "Identified as"
|
|
expect(page).to have_content "pepe"
|
|
expect(page).to have_content "pepe@gmail.com"
|
|
expect(page).to have_content "12345678Z"
|
|
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"
|
|
|
|
within(".account-info") do
|
|
expect(page).to have_content "Identified as"
|
|
expect(page).to have_content "peppa"
|
|
expect(page).to have_content "12345678Z"
|
|
end
|
|
end
|
|
end
|
|
|
|
scenario "Close the currently managed user session" do
|
|
user = create(:user, :level_three)
|
|
|
|
login_as_manager
|
|
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
|