Files
grecia/spec/system/management/managed_users_spec.rb
Javi Martín 92b1e53fc3 Unify user permission texts
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.
2022-06-01 14:27:33 +02:00

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